More Adventures In Technical Support

Yesterday, with some time on my hands and preparing for today’s email newsletter to go out this morning, I realized that I have no idea how much longer I can rely on the old Author Event Calendar page before it gets turned off. Therefore, I shouldn’t be linking to it in new emails, which will have dead links for as long as anybody cares to leave it unread in their inbox.

Well, I have built the new page already. And, it’s populated with the bare minimum of author events, which I can always augment in short order. So I put the new links in the email.

This story would have a happy ending if I hadn’t somehow wrecked the “admin” directory on the web server… The scripts I’m writing and troubleshooting for editing the schedule were coming along nicely yesterday afternoon. It’s the age-old battle (well, a few years is a long time in Internet history) of Form Posting an CGI parameters that I never mastered completely in hopes that a better way would come along. And, honestly, PHP makes picking up the parameters much easier. But I still have this byzantine network diagram of all the ways one script can submit form details to another, and all the different SQL queries each page has to run based on different parameters. As long as the code doesn’t screw up the HTML tags too badly, the CSS file can render everything in harmony and I can move on to thinking about Javascript enhancements.

Then I broke it.

Now I’ve got an entire directory that I can ftp from and to, but won’t load in a browser. So I can’t run any of the scripts at their permission level. And that is all the scripts I just wrote. Fabulous.

I thought it was just the browser. That director is password protected, so it doesn’t affect any customers. But that was a clue: maybe the browser got confused about password management. Restarting Firefox didn’t work. Loading it from my laptop didn’t work. Trying IE didn’t work. I just kept getting “500 - Internal Server Error”. I doubt having shell access would even matter. The server configuration files would still be beyond my reach… I think. Well, forget it: shell access cost extra.

So, I just took a deep breath and hoped that a good night’s rest would solve the problem. The server and I could wake up refreshed and get back to business. It was not to be.

There is a distinct form of embarrassment in dealing with the first responders at a big Internet hosting company. They aren’t the engineers, so they don’t get the benefit of my clues. They just seem puzzled, then eventually decide to “escalate the ticket”. I just know it’s something simple, but my operator doesn’t have any background. He can’t eliminate ridiculous possibilities out of hand. And, he is not at liberty to try solutions and note the result. Even minor solutions. He is, essentially, on the outside, just like me.

I Hear Back… Gee, Thanks.

I got an email back from the engineers a few minutes ago. They diagnosed the problem, and closed the ticket.

“The error you are encountering is caused by a bad .htaccess file in your /htdocs/admin folder. If you repair or remove this file, your issue will be resolved.”

Okay… That file is the password protection for the directory. So I’m not getting rid of it. I want to repair it. I didn’t mess with it in the first place. They discourage you from dealing directly with these files anyhow, and they’ve chosen an odd time to assume I have technical mastery over the idiom. If you’ve been reading this blog, you know that I’ve struggled with .htaccess files here on this server.

I think that they’re brushing me off as someone who modified his file, and therefore deserves his fate. But I didn’t modify that file, the only changes I ever made to it were through their hosting management web interface. I’ve looked at the file now, and I don’t see any damage. But, then again, how would I know? Maybe there’s some non-printing character code in there that I don’t see in my text editor. Maybe I need a hexdump (I could write a quick one in Ruby…)

Here’s the file in question, with some specific information redacted:

Options +Indexes
AuthType Basic
AuthName "restricted area"
AuthUserFile /data/10/1/66/160/XXXXXXX/user/XXXXXXX/htdocs/admin/.access.pwd
AuthPam_Enabled off

require valid-user

It reminds me of the time I learned the hard way that “make” files have to have Tab indentation. In the book it looked like spaces, and the error message just said it was wrong. This situation isn’t so different. There is no signature “way it should look”. I think I understand what each one of these lines does. I see one or two things I could try modifying. But, beyond that, I’m at a loss.

And I sure didn’t get any help from customer service. They took six hours to tell me that my first guess was correct, and that they couldn’t be bothered to give me the help I was so implicitly asking for.

A file very much like this one was doing its job perfectly. What changed? How did it change if I didn’t consciously make changes? Did my FTP client freak out and go modifying files. I wouldn’t be surprised if it did… There was a small incident yesterday afternoon - but I was in a different directory altogether, and I aborted the moment it started prompting me about other files I wasn’t working on. No, customer service - a place I might have to call once a year - should be happy to help me untangle the mess, even if I made it. This is no-fault territory. I’ve got a job to do and I sometimes don’t have much choice but to rush through it. Because the rest of the time I can actually take care of myself.

And, Another Thing…

When I get such a glib response, I can’t help wondering if they didn’t delve deeply enough into the problem. What was their thought process? Was it radically different from mine? Did they think up several different possibilities and work by a process of elimination?

They might have missed several interesting things that are not my fault.

And is customer support about placing blame?

Posted in web-craft, olssons | no comments | no trackbacksPosted by Evan Bittner Thu, 11 Sep 2008 14:48:00 GMT

Telecom Proposal - What's It All Mean?

This weekend I got the reply from Verizon - a “Telecommunications Proposal” for the office move. I had to really scrutinize it for a while before I was sure they planned out what I asked for. For one thing, the items and subtotals don’t group together visually - ignoring the headers and working furiously with my pencil, I found a way to draw boundaries that made some kind of sense. So it’s ten times more complicated than it has to be because of poor layout.

I had the thing printed out to show to the General Manager, but this afternoon was my earliest opportunity for us to meet and go over it. He balked - he couldn’t understand any of it. It was at that point that I decided I had better take a harder look at it: The two major sections have subtotals at the top, and the full totals are at the bottom. Line spacing is effectively random and background colors are deployed mid-item. I eventually discovered the rhythm of the line content… (From:, Speed:, Description, Channel Termination) I don’t remember covering this level of obfuscation in the Excel class I took. Sheesh.

But he’s right, 100% - he ought to be able to glance at the thing and see what is intended. Or what it actually costs us… I mean, for one thing, what is the fixed cost of outlet installation and main-office circuit switching, and what is the monthly bill. You know, for that matter, I couldn’t figure out what our bill is currently. And I was looking right at the bill, too!

So, I’m going to let it percolate in my head - thought I’d do a little author event module coding for the website. I’m way behind on that - and formulate my questions to ask the account rep tomorrow. The charges are all for one or both of “MRC” and “NRC”. Isn’t it customary to give a legend for such acronyms? I guess I won’t complain about “USOC” which is probably linked to the Office codes (which are clearly a DC, an Arlington, and an Alexandria) and Carrier companies (all Verizon… duh).

And just so you know…

Early Termination fees may apply. Prices quoted are tariff rates and subject to change. Prices are good for 30 days; taxes and surcharges not included in quoted price.

Posted in telecom, olssons | no comments | no trackbacksPosted by Evan Bittner Mon, 08 Sep 2008 22:08:00 GMT

Back At Work

I feel like I’m slipping a bit - falling behind in my writing. The Perfect may be the enemy of the Good, but in this case I think the Complete has been the enemy of the Fragmentary.

My thoughts have been dominated by the Galenson book, which I finished reading. I sat down with my “Houghton Mifflin Dictionary of Biography” to scan the bios of different artists mentioned. And, that led to my normal frenetic cross-referencing: Reading an unrelated bio just because it was on the same page, or spotting something interesting as I zeroed in on someone else’s entry.

Now that I’m back at work, in my quiet basement office, I can focus on all the unresolved problems at work. I have a copy of David Allen’s “Getting Things Done”, which I’ve long suspected might be of great help. I have moved a few things around in the office so that I can reach more of them from my chair. Getting up to move around is nice when I’m taking a break, but the necessity of moving around to go to other work stations confuses my brain - part of me things the movement IS a break, and I have trouble remembering why I got up in the first place. Doesn’t everybody have those moments when they can’t remember why they walked into the next room?

I’m supposed to pack up this office and move it in the next few weeks, but I’ve been getting precious little clue as to how that’s going to happen. It won’t do much good to do my part if I don’t know when to do it. I have to maintain a cat-like state of readiness, with a lot of little plans worked out, that I must somehow not forget when the proper moment comes. In the meantime, I have to sort through the whole mess and figure out what I can dispense of immediately.

Posted in books, olssons | no comments | no trackbacksPosted by Evan Bittner Sun, 07 Sep 2008 13:38:00 GMT

JQuery

I started looking at a tutorial for JQuery yesterday, and now I’m convinced that it will be a good framework for some of the site work I need to do at Olsson’s. I have a suite of backend database manipulation pages I have to write because I need to spare some people the anguish of using the MySQL-PHP interface - It’s far too complicated for the limited interaction I need these people to have. Who am I talking about? Oh, they’re casual data entry clerks who have other things to do with their time than listen to me yell at them for deleting a database table by mistake. That interface is great for the all-powerful wizard - I use it to try out a lot of database design - but, I need to set up a whole middle level of interaction, and that means writing a bunch of PHP pages behind the password wall, with only the SQL queries my code allows.

And with that middle level, I am tempted to provide a lot of user-friendly features. Good feedback for when changes are made, fancy date selectors, collapse and expanding page elements. So it’s a whole mess of Javascript, right?

Not so Fast… This is about the time I read about JQuery. It’s a whole mess of Javascript! AHEM. It’s a prepackaged library of Javascript with simpler document object handling and a dot-chained syntax not unlike Ruby. Okay, a lot of you didn’t know how significant that is, but the main thing to take away from all this is that I think I will be able to learn JQuery very fast since it shares a certain look with Ruby that I am already comfortable with. I had been dreading what I assumed would be reinvention of the wheel, but now I’m not.

Posted in web-craft, programming, olssons | no comments | no trackbacksPosted by Evan Bittner Thu, 04 Sep 2008 22:35:00 GMT

Office Move, Telecom

The office move at work is starting to feel serious. For now it feels like a fresh challenge. More to think about all at the same time. I still have plenty of moments when I want to zone out and float for a while on intuition - usually around 3pm.

Today was the first draft of a proposal for moving our telephone lines. It was a big mistake to call Verizon directly. The bill was complicated, but not any more than my home telephone bill - it’s just a lot of terminology that doesn’t make sense to me. I called the number on the bill, and nobody recognized the account number printed right there on it. I got tossed around a few times before somebody figured out that I had an “Account Representative” in Pennsylvania who knows all about us.

The account representative didn’t miss a beat when I spoke to him. He had that ring of familiarity that kicked in a little too early for database lookup to explain it. Lucky for all of us this is a shrinking and consolidation. No installations at brand new addresses, just a sort of reconfiguration. We have these leased lines - point to point 56k circuits with a coded ID number. Just like a web URL, they contain a code for the protocol - I have the old records for all out circuits from when we were in Georgetown. Some of those dated back to the mid-80’s, and had different protocols listed. Not that I know what they were, specifically.

Anyway, I see that we’re cutting it a bit close. The informal estimate was one month to do the job, but I suspect that the nature of the change will not require it. Still - It’d be a shame to get blacked-out for a while because we dragged our feet getting it started.

Posted in telecom, olssons | no comments | no trackbacksPosted by Evan Bittner Fri, 29 Aug 2008 00:16:00 GMT

Spiderweb In My Window At Work

Elaborate Spiderweb In My Window At Work - Silver Spring, MD - August 21, 2008 - Click To EnlargeElaborate Spiderweb In My Window At Work - Silver Spring, MD - August 21, 2008 - Click To EnlargeThere is a time of year and a particular time on those days when direct sunlight shines into my basement-level office at work. Like Stonehenge or something, the angle is just right on a few mornings. My desk is situated so that this light strikes my face for ten or fifteen minutes if I’m sitting at my desk. It can be very annoying when I am trying to get work done.

Today when I found it annoying, I got up to go to the kitchen or something, and I noticed that the window grate had a lot of spiderwebs, and this nearly perfect specimen was strung up in the middle, catching the light just so…

I took it as a challenge for the Nikon. If I got the angles just right and the macro setting to focus close, I could pick out the spider silk reflecting all that sunlight without too much fog from the dirty window glass doing the same thing.

Just a little exposure adjustment in Photoshop and They were looking spectacularly specular.

I’ve only got about a month left working in this place. We’re moving the main computer downtown, and I’m going with it. I’ll be closer to home. I didn’t much care for being out here in Maryland. It’s like a ghost town most days. It was so rare to have human contact. Some of my coworkers refer to it as ‘the Bunker’ - and with good reason. But for all that, I understand it as a unique experience. I certainly won’t have many more chances to see the view in these photos. I’ll miss it a little bit.

Now that I think about it, they remind me of these pictures of the library. I mean the last five at the bottom.

Posted in photos, olssons | no comments | no trackbacksPosted by Evan Bittner Thu, 21 Aug 2008 20:25:00 GMT

SQL For Lunch

Before I go to Dupont to fiddle with the label printer again (stage whisper: It turned out that I used the wrong cable, so I’m going to string some Cat-5 today. However, there were other interesting problems that also prevented it from working…), and get home too late to start laundry again, I thought I’d prepare for the imminent disaster of dropping the partner site at the end of the month…

I have to write my own event schedule system, and here it is so far.

All my complaints about the current system can now be addressed in the new one. On the other hand, I have to work fast if I want it to work at all. So far so good.

I keyed in some of the data to the mySQL database at the web host, then I had to pull teeth to get my PHP script to connect properly. Part of the problem was my choice to set it up as a separate database. I used a new schema name, login and password. Then I forgot that I was copying code with an old IP address. That had me stumped for a few days. I considered every problem, but I didn’t get every solution in the proper combination until today.

One really embarrassing thing about the current setup is the hand-typed dates. For some reason, they would not convert the date fields into human-readable form. I know how to do that in mySQL, so I no longer have to deal with things like “Wednesday, September 11, 2008”. Inevitably, someone asks if we mean Wed 10 or Thu 11. But of course, the data entry person sees the day of the month they just specified in a drop-down menu, and is then personally responsible for figuring out the day of the week. Just have the computer do it!

Since I should know how to do it both ways, I wrote the front end in PHP - it makes for a simpler URL anyway. My wish list includes a bunch of stuff I think I’m going to implement in JavaScript - I thought about abbreviated listings that expand with a plus-sign button. The back end I plan to do all in Perl. Since it needs to be in a password-protected directory, and I already have that set up for some data export chores I had been doing, I have a perfect place to put it. The back end needs to be somewhat user-friendly for the data entry people. And, I need to be able to manage artwork and locations. I decided to use a table of locations where I could store related information that I can use for image tags, directions to the place, and hyperlinks. If you notice, the schedule - old and new versions - include a “Metro accessible” image for the closest Metro station. Since that doesn’t change much, I don’t want to make someone responsible for reproducing it themselves every time we key in a new event.

That means I get to write some awesome INNER JOINs in SQL.

Oh, and I guess I skipped over my story about how the database allowed me to name tables with reserved words that broke the syntax of the SQL statements. Why would it allow me to do that? Without a warning or anything. Who knew “EVENT” was a reserved word in mySQL 5.0? So then I had to use some ‘variable decoration’ for my table and field names.

Posted in databases, web-craft, olssons | no comments | no trackbacksPosted by Evan Bittner Wed, 20 Aug 2008 20:19:00 GMT

Random Thoughts, Tired Mind

I continue to struggle with the label printer at work. By studying the manual, I was finally able to get a printout of the communication settings. They were exactly what I was told they would be, and so it should have worked the first time around. So why didn’t it? It is still as mysterious as ever.

A brief summary of Godard films I’ve been watching and still have to write about:

  • Band Of Outsiders
  • Contempt
  • A Woman Is A Woman
  • Pierrot Le Fou

Posted in film-and-TV, olssons | no comments | no trackbacksPosted by Evan Bittner Tue, 19 Aug 2008 03:15:00 GMT

Of Whales And Woe

Tonight they’re showing “Moby Dick” with Gregory Peck on WETA.

Thar She Blows!

You know, the weird thing is that I notice the Family Guy rerun on at the same time is the absurd Moby Dick parody, with a fish called “Daggermouth”.


This might be completely unrelated, but today I took another crack at setting up a label printer at the store. We freed one up when the 7th Street store closed. It was just sitting around for a while before anybody realized it was unused. Dupont had some trouble with their big printer - it’s able to print labels. Suddenly everybody is talking about how great it would be for them to have a dedicated label printer.

So, once we figured out where it was, we had it sent over there.

It’s a Datamax DMX-E-4203. Their idea of a user interface is three buttons and three lights, all of them “multi-functional”. I don’t know what that means, exactly.

So far I haven’t got it working yet. It’s wired up right - when I send a label, the “pause” light blinks. That must be one of it’s “multi-functions”, I guess. So I must have the wrong serial port settings… I don’t understand how I could have gotten it wrong. I can’t exactly experiment with settings without crossing state lines: One end of it is in Maryland.

I suppose you could call it my White Whale.

Posted in telecom, olssons | no comments | no trackbacksPosted by Evan Bittner Sun, 17 Aug 2008 02:53:00 GMT

Operations

If you can believe it, I’ve got a title at work now:

Director of Operations

Actually, now that I see it in bold letters, it scares me a little. Really, I’m just the last man standing. If I’m going to take pride in anything, it’s my role as ‘staff’.

If I remember what my Business Management textbooks say, most organizations have a hybrid structure: There are ‘Line’ workers, who form a branching structure, which divides cleanly into departments and sub-departments. Then there are ‘Staff’ workers, who supply a sort of infrastructure. Part of why an organization breaks down that way is for a cleaner analysis of profit centers. Some organizations even implement an internal system of billing, to keep a realistic idea of what services to farm out, and whether or not it would make financial sense to do so.

I feel a twinge of absurdity when I recall that my department is called “Operations”. We - see, it used to be more than just me - spent a lot of time maintaining the main computer. Early in the history of the business, somebody decided that getting the books required such an intimate knowledge of the computer that book ordering and computer support might as well go together. And they called it “Operations”. But in many ways, that name does not seem apt: Operations implies a lot that I clearly don’t do. Some days I feel confident calling it an ‘IT’ department. Other days, not so much.

But I’ll get back to taking some pride in my work. Because otherwise, why stay?

The satisfying part of my job is in serving my coworkers. None of them are computer specialists like me.

[Oh well, this seems to be falling apart at the moment… I’m going to pack up an go home. Maybe I’ll figure out how to say it better then…]

Stage whisper: Oh, right. I remember what I was going to say…

Ode To The Jungle Python

Do you eat three meals a day, or do you swallow an entire wild boar every month or two?

Me? I eat three meals a day. Sometimes four. And lots of snacks. Rarely do I attempt to eat anything bigger than my head.

A lot of businesses are the same. It is not efficient to pay rent on those offices and showrooms if customers are going to walk in every once in a while. I don’t care if the margins are good. A healthy business needs transactions every day. Everything else is risky. And, yes… not impossible, but you need a way to hedge against that risk.

If you work for, say… a Government Agency, call me up at work and ask to place an order for One Thousand Copies of some book, along with a list of twelve other titles in various quantities in the low hundreds, I am just naturally going to think you are mocking me. It’s not a profitable transaction, so stop flattering yourself about sending business my way. When you realize how money is made, you will see that asking for bulk discounts is of neutral value at best. You will have a hard time convincing me that it is worth my while. Maybe it’s because you work for the government? The ironic part of this seems to be that I think Government agencies have these stipulations built into their charters - or whatever foundation they have: Throw some business to the little guy. It’s ironic because they also have byzantine procedures for purchasing. Which is why my guy calls one day all panicky with a need to place obscenely large book orders. Yeah, thanks, buddy. I’m starting to think that they might have come to me because they alienated everybody else. When we politely declined, the pressed on.

I can’t place that order with my supplier. I don’t have that much credit. I haven’t seen the big numbers lately, but that one order is easily commensurate to what we sell in a month. And it’s zero profit margin if I have to sell it to them at a discount. If I could order part of it, I would most likely get cut off until payments work their way through. How soon do you think my guy is going to requisition that money? Rumor had it they’re overhauling their billing system this Monday. Maybe there was some kind of artificial deadline for spending a block of money. That doesn’t mean I’m going to see any of it - maybe they’ll have a computer problem, and I’ll be hung out to dry with no means to order books for my customers - the people who actually keep the business afloat. I think this probably extends out further into the world…

Just One More Big Score!

And then, I’ll retire. I swear.

Posted in olssons | no comments | no trackbacksPosted by Evan Bittner Thu, 14 Aug 2008 21:35:00 GMT

Older posts: 1 2 3 4 ... 13