Looking for writing-related posts? Check out my new writing blog, www.larrykollar.com!
Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Thursday, June 27, 2019 2 comments

Adventures of a #techcomm Geek: A Cautionary Tale of an Acquisition

Pull up a chair, young’uns. Today, I bring you a tale from a time when years started with a 1. It was a technologically backward time, before email had yet to completely replace paper memos and USENET or BBSes were how most people “went online.” But the technology we had, we used well. It didn’t require LinkedIn to help empty out an office when things went to #3||.

The 80s were in our rearview, although its music lives on to this day, and the corporate merger and acquisition binge was starting to cool off. Still, buying and selling is the lifeblood of a corporation, and sometimes what they sell is pieces of themselves. So, on to this particular place. None of the players are around anymore, so let’s call it Don’t Care Anymore (DCA). It was a “coulda been” company—I’ve worked at a couple of them. DCA, with some vision and luck, coulda been Cisco. The founder held the (now expired) patent for statistical multiplexing, and they did good business building and selling serial port multiplexers. (Remember, this was a technologically backward time, when some people still had serial terminals on their desks).

But even then, Ethernet was beginning to worm its way out of the server rooms and developer offices, and into the office as a whole. There were competing networking technologies, most notably Token Ring (mainly in IBM shops), and Ethernet at the time required relatively expensive coaxial cable. Many companies still thought serial terminals connected to a VAX or IBM mainframe were adequate; some had PCs for word processing and spreadsheet software (“Lotus 1-2-3,” look it up, kiddies), but the PCs still had a serial connection. You see, networking applications like email, file sharing, and (for forward-looking companies) USENET were things that ran on mainframes.

There were some good ideas going on—the serial concentrators got an Ethernet card, and DCA bought a company making a T-1 transceiver (basically a really high-speed modem that could carry data, voice calls, or any combination). The developers were also working on what amounted to an Internet router. Had executive management given it more focus, things might have been different… but what they called “networking” was only one part of the company, and the execs considered it the unimportant (if original) part. They were focused on selling a hardware/software combo that allowed a PC to emulate an IBM3270 terminal. It was an amazingly high-margin product for the PC market, and the execs had little headspace for anything up-and-coming (despite handwriting on the wall, like a declining market for IBM mainframes and chipsets that would slash the cost of the hardware component to nearly nothing).

So, the execs found a buyer, and sold the networking division to another company. Let’s call that outfit Really-Moronic (R-M), for reasons that shall soon become obvious. Long story short: there was a lot of goodwill on our part, because we felt like we were actually wanted, and they threw it down a rathole.

You see, DCA had a pretty decent benefits package. The Boy and Daughter Dearest were both born when I worked there. Wife-unit was working as well, and her benefits were on par with mine. The upshot was, “childbirth” was covered at 80% for each of us. So one package picked up 80% of the bills, and the other got 80% of the remaining 20%… which meant a $10,000 hospital bill became $400 out of pocket.

It was a good thing we had our kids before the acquisition. R-M’s healthcare package, compared to DCA’s, was terrible. I ran the numbers, and it amounted to a 7% pay cut. It didn’t help that R-M’s VP of HR (are we choking on the acronyms yet?) both misled and outright lied to us about the benefits:

  • We got yearly bonuses at DCA. When asked about that, he replied “Sure, I get a bonus.” He neglected to mention that only management got bonuses. Deliberately misleading. So on top of the 7% pay cut on the healthcare front, we lost a bonus averaging another 7% per year.
  • Asked about the healthcare package, he replied “it’s comparable to yours.” An outright lie, unless he meant “our package looks terrible by comparison,” or management had a better package.
  • They moved our office to Dunwoody, claiming it was a more central location—another lie, they chose the office to avoid building out a computer room. One of the things people liked about DCA was that exurbia had little traffic. It was an easy commute. People moved nearby to take advantage of low(er) housing costs. Dunwoody added a good half-hour or more to the commute time, each way. We shared a high-rise with a couple other companies, including AT&T. Ma Bell’s kids were really nice people, who invited us to their company BBQs and the like. Having good corporate neighbors took some of the edge off the relocation, but certainly not enough to make up for the increased commute time.

The benefits disparity had to come up during the due diligence that any company has to do when they’re buying another company (or a large part of one). Did R-M think that people would just shrug and take a pay cut on top of the overt disrespect, especially the highly-talented engineers and support staff who do the magic that makes a tech company profitable? Did they really believe that skills aren’t transferable? Or were they so arrogant that they thought it wouldn’t matter?


A round of layoffs hit. One manager, told he had to cut one person in his department, laid himself off. After that, no layoffs were needed; the talent started draining out the door. R-M made a few half-hearted efforts to stem the outflow, paying out a token one-time bonus and hiking the raises to cover some of the difference in the benefits packages. But we were still taking a significant pay cut for a longer commute, and word got back that the new owners considered us “losers and whiners.” That, as you might imagine, did nothing positive on the goodwill front.

Our boss was the first of the documentation department to depart. The new boss was several hours away (by plane), which meant we mostly managed our own affairs. We became Resume Central for the rest of the office, in between our own job hunts and departures. After a few months of searching, I hooked up with a reputable contract house and spent about a year bouncing around from place to place. R-M sank like a stone, and nobody remembers them. Ironically, the parent company retooled and is an important customer of the place I work at now. DCA also disappeared, bought by a competitor who did a better job of understanding the changing landscape.

Moral of the story: employees aren't stupid. They recognize a significant pay cut when it happens, and they recognize a lack of respect. Combine that with a robust tech job market, and you might find money you spent on that big acquisition going down the drain… and taking you (and your CEO’s reputation) with it.

Thursday, February 28, 2019 No comments

Adventures of a #techcomm Geek: Info Architecture

In this adventure, we find that structure isn’t always structure. And sometimes, the structure jumps up and smacks you to get your attention. More geekiness follows…


Image: openclipart.org
As part of our conversion to DITA at work, I shuffled some things around in the huge manual I work on. I moved a huge wad of reference material into an appendix; other content can easily link to it when needed. But the reshuffling got me to take a look at the reference material.

Managed network devices, like the ones I usually write about for work, usually have a way to message the mothership about various issues. Examples include:


  • Hi, I’m online.
  • The power’s out here. I’m running on my battery.
  • Here’s some stats from the last connection.
  • One of my components just failed!


The messages aren’t that chatty, of course, and they often include some variable data. Some are more urgent than others, and might require some action by the network operators.

I had separate topics describing each message, and they came out of the conversion tool as concept topics—a lot more generic than I wanted. As I was trying to get everything done at once, I didn’t give it too much thought. Since the messages were reference material, they would be fine as references. I split them into sections (format, severity, cause, action), and moved on.

DITA to the rescue? Um… nope.


Later on, I came back to the messages. “There has to be a better way,” I thought. After all, the sections could get out of order, or end up with different titles—there’s all sorts of ways to be inconsistent with reference topics. My next thought was, “Hey, DITA has hundreds of elements, and its prime purpose is software documentation. There's probably an entire message domain waiting for me.”

In reality, there are three message-related elements in the entire ocean of DITA, and two of them are inline (<msgph> and <msgnum>). The third is <msgblock>, for tagging message output.

Ah, the joys of information architecture. Creating a message domain from scratch was a possibility, but would likely be a hard sell to the co-workers.


We’re in trouble(shooting) now


I gave a moment to the idea of using troubleshooting topics—then it hit me. A message has a condition (the message itself), a cause (why it was logged), and a solution (what to do about it). That’s exactly the structure of a troubleshooting topic!

The only sticky point was where to document the message format, and I quickly decided that was part of the condition. I used @outputclass="message" to tag the topics, and to have the transform use Format: instead of Condition: for the condition part. I converted a few to troubleshooting topics, and it worked as well as it seemed it would.

On to the next thing


Then yesterday, I got a meeting invite with an attachment, a follow-up to a discussion a few of us had last week. One of the groups in our far-flung department uses InDesign to produce actual printed deliverables (how quaint!). The fun part is, the page size is about 4 inches square—so it’s not a matter of tweaking our transform plugin; we need a whole new one.

But when I started looking at it, the structure almost leaped off the screen, despite a couple of misplaced pages. Each chapter contained a single task, and each step used one page for substeps and graphics. Having that revelation made the call go a lot faster and more smoothly, because it was one of those things that are obvious once you see it. I just happened to be the first one to see it.

So I did a conversion dance, involving lots of pixie dust: PDF → Word, then Pandoc converted that to Markdown. After some serious cleanup (and moving misplaced content where it belonged), I used a couple of scripts to break the Markdown file into topics and create a bookmap. DITA-OT gobbled up the bookmap and Markdown topics, and spit out DITA topics. Thus, I had a pilot book we can use as test data for the transform.

The InDesign users also have a couple more formats; one is close enough to a regular book that we’ll have them use the standard transform. The other is a folded four-panel sheet… that one is going to be interesting. I’m going to have to resist the temptation of blowing off documentation work for glorious coding.

Stay writing… until I geek again.

Wednesday, December 12, 2018 No comments

Adventures of a #techcomm Geek: Blurrier Image

In today’s installment of Life of a #techcomm Geek, we return to a subject that draws this geek like a moth to flame: file conversions. Hazardous, yet compelling. Lots of geeky stuff follows…


I’ve had this particular line in my Tines to-do list for a while. As part of our transition to a new documentation system, I and another writer handled the conversions. We had a high-end tool to help us out, although creating rules was a dicey proposition and the vendor ended up helping (we made tweaks where they could make an obvious difference, though).

In the most recent round, we got to the FrameMaker-based docs. Frame (as its users often nickname it) is unique in that it allows overlaying callouts and other graphic elements on top of images. This is a huge help for translating manuals, because the writers don’t have to maintain a separate set of graphics for each language. Anyway, since the new system isn’t FrameMaker, something else had to happen. The conversion system could be configured to either flatten the images (convert to a PNG, rasterizing the callouts) or create an SVG (Structured Vector Graphics). We chose the latter, thinking that since SVG is an XML format, the new system could maintain them easily.

We were wrong.

Long story shortened considerably, we eventually threw up our hands and decided to convert all the SVGs to “flattened” PNG files. The writers would keep the SVG files on their hard drives to make changes, then upload a new flattened PNG when needed. I wrote a script to do the deed; it crunched through hundreds of SVGs at about one per second, and updated all the links in the book to point to the new PNGs.

All well and good, until one of the writers went to publish. “The images look blurry,” she told me. Taking a look, she was obviously right. It took me about three seconds to figure out why.

You see, our SVG files have a width attribute, which was set to the width in the original FrameMaker files (a typical width is 576 pixels, which at 96dpi is 6 inches even). All well and good, but the original images run about 1200 pixels wide—so in essence, we were throwing away over ¾ of the image data when doing the conversion. No wonder it looked blurry! But we were all weary of messing with it by that point; I had written scripts that:

  • extracted embedded images from an SVG, converted them to PNG, then changed the link so the SVG referred to the file instead
  • went the other way, embedding images in an SVG
  • converted the entire mess to PNG in one swell fwoop

The documentation work that was my primary job function had been back-burner’ed for too long. I added an “investigate this further” item to my backlog list and got back to the bread-and-butter part of my job.

This week, I all but cleared a fairly long to-do list in three days, so I thought maybe I could give this thing another shot. A quick Google turned up some promising code on superuser.com; I divided the image width by the scaled-down width in one SVG, applied the script, and got a nice sharp image! The only problem with that is, it would take about 10 minutes to do each file by hand, and there are hundreds. A script is the only practical way to blast through all of them.

When I tackle a situation like this, I tend to use a shell script to drive awk, Perl, and XSLT scripts. Each has its strengths, and trying to force (say) XSLT to work some of awk or Perl’s string-processing magic is more trouble than it’s worth. And vice versa. So… XSLT to extract the file name and (scaled) width, awk to parse the output of file (a utility that returns the dimensions of an image file) and do the calculations, all wrapped up in a shell script to conduct the Geek Orchestra.

Of course, I ran out of time this afternoon to put the whole thing together, but I have all the sub-script logic down. I just need to score the symphony. That will likely take me to noon tomorrow, then I’ll be back to bugging people already bogged down with too much stuff to lend me their expertise.

I also achieved Inbox Zero at work today… and that’s a rant for another time.

Saturday, July 14, 2012 4 comments

2-4-6-8, Everyone Evacuate!

Yesterday morning, I’d set up the co-worker with my MacBook Pro because his Dozebox wouldn’t open the files he needed to work on. I had two things to do, and one of them I could do on my own Dozebox, so I hooked it up and got at it. Things were going well enough, when…

braap braap braap

The fire alarm went off. They were doing some testing on Thursday, so at first I didn’t think much of it. It goes off once in a while, and usually quits after a few seconds. But, a minute later, it was still going.

“Must be a fire drill,” I said, and meandered out the door without much further thought. We’d finally got some rain here on Planet Georgia, and it was threatening more, so I stayed under the overhang just outside the door. I thought, If they’re timing us to see how quickly we clear the building, we’re failing miserably. While there were a few dozen people in the back parking lot, there were more still toiling away at their desks.

After a few more minutes, the alarm was still going. I meandered over to the other end of the parking lot where the supervisor was standing. “Hear anything?” I asked him.

“Nope.” Others were joking about what it could have been; I assumed something in one of the labs started smoking.

Finally, someone stuck his head out the door. “All clear, you can come back in,” he said. We headed inside and started chatting about one of the projects I’m working on. We hadn’t been in for two minutes when another guy came by. “Everybody out! Again!” he said. Shortly after, I heard a fire truck approaching in full howl.

Something wasn’t right. I went to my desk to get my Kindle and umbrella, then went out the side to where my car was parked. There were a couple more of my co-workers, whom I joined after putting my stuff in the car (Daughter Dearest’s car, since mine’s in the shop for a power steering issue). That’s when word started getting around: a suspicious package was delivered to the Legal department, and it spilled some white powder.

Someone came from around the front, and said the fire truck was putting some people on the roof. “Why don’t they turn off the ventilation?” I asked. Nobody had a good idea why.

One of the upper managers came by. “We’re going to be out for two hours,” he said. “After that, they might let us back in.” It was 11:15—a little early for lunch, but I did have a 1pm conference call scheduled. I decided to hole up at Johnny’s Pizza for a couple hours, because they have wifi and it’s usually quiet. I could catch up on the world, get lunch, then do some writing-related things until it was time for the conference call. But at 12:30, one of my co-workers called and said we were locked out for the afternoon. Adapting was simple: I’d simply drive home and mostly listen on the conference call on the way. But my counterparts in Beaverton figured it was best to just reschedule, so I had a quiet drive with no distractions.

I came home, got on the VPN, and pulled up mail. “The substance was determined harmless,” said the email, “come on back in.” Fat chance. I took care of things at home.

At least I don’t have to worry about my work computers being contaminated. Beyond the one that’s already contaminated with the Microsoft operating system thing.

Monday, October 03, 2011 2 comments

Way Out West

Technically, this wasn't an “Escape from FAR Manor” — my employer has an office in Beaverton OR, and they wanted me to attend the Author-it training the writers out there were getting. Fortunately, we have something set up with a travel agency, and they took care of making the derangements (including changing my name on the plane tickets to match what’s on my driver’s license). It’s been like six years since I had to get on a plane, and several things have changed since then — like fees for just about everything including checked baggage. Since you’re allowed two carry-on bags (one luggage and one “personal item” such as a computer bag), I put my clothes in a soft-sided bag and loaded up the laptop bag with other things.

So Monday morning, I bolted out the door a little later than planned since I was trying to take care of a panic-mode glitch in one of Mrs. Fetched’s video projects — leaving behind the credit card I’d planned to use for incidentals such as the hotel room and rental car. Fortunately, I’d stopped for lunch just a little ways down the road and was able to call someone to bring it to me.

It’s difficult to find a non-stop flight from Atlanta to Portland, and nearly impossible to find one that fits the corporate travel budget, so I had an hour and a half layover in Chicago. O’Hare is undergoing a lot of reconstruction right now, so things are a little strange. For the first time in my experience, they rolled stairs up to the plane and we got off outside. Cool! Getting to the next gate took about a third of my layover time. It was going to be a long leg to Portland — around five hours — so I asked the guy at the United desk whether the inflight meal was worth paying for. “The food itself is okay,” he said, “but you don’t get very much.” He proceeded to suggest a place just down the hall that made great hot sandwiches, and I took his advice. It was an early supper, but it was going to be a long evening (made even longer by shifting three time zones west).

On the plane, I suddenly realized I’d left my crappy feature phone in the terminal. A flight attendant told me there was time for me to go grab it, but another one brought it in and asked if anyone had lost a phone. I was of two minds: 1) Whew! 2) Can’t get rid of it, it followed me onto the plane! I suspect if I’d left an iPhone behind, I’d have never seen it again. We left without further incident, and I spent the flight reading and listening to my iPod.

In Portland, the nice young woman at the Hertz rental counter gave me directions to the hotel — or rather, directions to the exit I needed to take. The hotel turned out to be a few blocks off the road, and I stumbled across our office while looking for it. I finally stopped and called the front desk and got directions. The room was labeled “kid-friendly” — it had a little table for kids to sit and draw or play board games, there were cute decorations all over… Mason would have loved it, but I had it all to myself.

Mason and Dutch
Mason and Dutch
For me, the high point of the trip was meeting Janet, a regular on Andi’s blog, and her husband Wayne. They lived just a few miles away, so we managed to get together the last evening I was there at a local Thai restaurant. They plied me with gifts for Mason (really cool folks!) and sent me back with most of the leftovers. I didn’t do much exploring other than that, just spent a lot of uninterrupted evening time writing. I pretty much stayed jet-lagged the entire week, waking up at 4am every morning.

The second-to-high point was the first leg of the trip home. The TSA people in Portland actually smile and talk to you; I asked one if there was a problem bringing my lunch through security. “No,” he said with a grin, “but you might have to share!” I didn’t have to, but there was plenty. The first leg of this trip was to Seattle, on Horizon/Alaska Air. Not only did they roll the staircases out like in Chicago, it was a twin turbo-prop! I hadn’t flown on a prop plane since college, in the days of North Central/Republic Airlines. More cool! They used two staircases, which made boarding a lot less congested than usual. We got in the air, and they brought beverages around. Including… free beer! I LOVE THIS AIRLINE! I did ask them if they planned to serve Atlanta any time soon (doesn’t sound like it, drat).

Finally, the long flight to Atlanta on Delta. And here was a surprise: every leg, both ways, was on a different plane. The Boeing 757 was easily the most cramped from a passenger standpoint, while still being the largest. Even the Bombardier prop-job was more comfortable. I read a lot, catnapped, and generally endured until we landed. Delta’s gone downhill in a lot of ways in the last 20 years.

With the unresolved jet-lag, at least I didn’t have to readjust when I got home.

Thursday, November 12, 2009 8 comments

Never a Dull Moment

Mason sleeping on my robeMason is cruising right along, development-wise… and slobbering like he’s cutting teeth already. He’s also started fighting sleep through the day — if he can manage, he’ll get by on 20-minute catnaps through the day and he can get pretty cranky when he can’t keep going. He stayed awake when I took him out in the stroller with Snippet this afternoon… and we got about half the walk done. I had to carry him for the last stretch; he didn’t conk out and snooze this time. Sometimes I can prop him up on a couple pillows and get a little keyboarding done, but that only lasts 10 minutes tops. [EDIT: That's my robe he's sleeping on. Snippet had his laundry in the crib.]

So… remember The Boy’s little incident back in February? They’d continued to put off his court date, and he managed to miss the one he was supposed to attend on Monday. The court doesn’t have much of a sense of humor concerning those things, and they came by the manor looking for him Tuesday afternoon then yanked him off the factory floor that evening. The real killer was, if he had bothered to remember and show up, there’s a pretty good chance they would have dropped the charges and he would have been shut of the whole sordid mess. Now, he’s sitting in the clink in Historic Forsyth County until his (rather expensive) lawyer that Mrs. Fetched found for him can get him out. I just hope he’ll have a job to return to, so he can pay the lawyer.

Working at home yesterday (and today), Mrs. Fetched and I had to run to the chiro-cracker late in the morning. I jumped in the car; she said “When did you spill gasoline on yourself?”

“I didn’t,” I said, smelling my shirt. “I haven’t handled gas since Friday.”

Coming out of the chiro-cracker, we smelled gas again and I opened the trunk. It did smell quite a bit. “You must have spilled some gas when you were helping that woman get her car started Friday night.” (She ran out of gas in the turn lane, ahead of me… better to carry her a few hundred yards than let her risk her life trying to cross GA400 in the dark.) I guess that was possible, so we zipped over to Zaxby’s. The lawyer called her just as we were getting out, and I walked over to the building to get out of the parking lot… and saw gas dripping underneath the car. Fortunately, I had the mechanic’s number in my phone, so I called and made sure we could bring the car in after lunch. As it turns out, we didn’t make it… ran out of gas less than two miles short of the turn into his shop. Mrs. Fetched called the tow service and we got it over there. Turned out a rat chewed the fuel line — just more proof that reality is stranger than fiction at FAR Manor. I hope that little so&so poisoned itself! This was familiar territory… the shower fix that turned into a water leak last month was the product of a rat chewing the water line. The plumber left us the affected piece as a souvenir (which Mrs. Fetched tossed before I had a chance to get a picture) and a note saying we did a really nice job on the shower.

So Snippet has been here since Tuesday. She and DoubleRed have been getting on each others’ nerves, until finally DoubleRed started growling at Snippet this afternoon while I was trying to work. Snippet said, “I’m leaving now,” and walked out of the room; DoubleRed slammed her door open and stormed into the kitchen. I yelled at them both to cool it, and they kept it down until they were finally able to work out their differences. At least I assume they did; they’ve been fairly cordial and even slightly chummy since then. At least DoubleRed has gone somewhere for the evening… maybe if they don’t see each other much they can keep up the happy babble.

Work also picked a fine week to go ka-boom, and taught me that not all schedule slips are a positive “development” for me. A major project that was supposed to be done by the end of the month is now sliding out to the end of December… but with a major re-think about the feature set. So out with half the stuff I’ve done with it to date, in with whatever is going to go in (I’m supposed to get a high-level list Real Soon Now). This is turning into one of those things that suck all the oxygen out of the other projects — both hardware and software — going on; my boss is telling his boss that pretty much everything else I’m doing has to be pushed out. Vacations are being canceled, and I was planning to burn the 7 days I’m not officially allowed to carry over at Thanksgiving and Christmas. That too has been worked out… with any luck, I’ll take two weeks at the end of January and spend it in Florida. Sitting on the beach, 500+ miles from FAR Manor and the office, sounds like just the thing.

Wednesday, October 21, 2009 2 comments

Pink Laptops and Other Oddities

Work, as always, is work. I’ve been stumping to get a change into a new set of products that will make life easier on the people who have to set the things up, and it looks like it’s going to happen, yay! We have some outside people developing a part of the product that’s not really our core competence, and they came from Taiwan this week to sit down with various folks and get a better idea of what we expect. The young woman was carrying around this hot pink gator skin laptop which, like the proverbial train wreck, you just can’t take your eyes away from.

She was kind enough to let me get pictures:

ASUS S6, pink leather, open ASUS S6, pink leather, closed


Turns out it’s an ASUS S6 “pink leather” model. I figured something looking like that would sell only in Taiwan or Japan, but target.com carries it and it’s out of stock… I guess there’s a lot of middle school girls who have their dream computer. The pictures just don’t do justice to the massive pinkitude of this tiny computer. They call it leather, but it looks more like faux alligator skin, or at least the skin of some kind of reptile. To me, “leather” comes off something that looks more like this:

Cows

Cow → milk → baby…
Mason returned to the manor yesterday, along with Snippet. The latter is gone, supposedly doing laundry at her place, but Mason is still here. He’s fighting sleep right now, but last night he’d get a bellyful of formula then go to sleep… but “sleeping” doesn’t really describe it. It was like he’d gone completely boneless. He’s pulled that on us a couple of times this evening, but wakes up 10 minutes later. He was rockin’ and rollin’ for a little while, having a good time… but I think Mrs. Fetched has finally gotten him to give up and snooze.

I promised oddities… here’s a good one. Barnes & Noble have released their own e-book reader, called the Nook. And, of course, it has instantly earned the moniker Nook e-book reader (say it fast). While I’ve said before that e-book readers won’t take off until they can be purchased for $19.95 from the drugstore checkout display (you need $259 for a Nook e-reader), I might be interested in a Nook e-book…

But is that as odd as a toad that throws itself down a mountainside and rolls away from predators?

Reality, as always, is stranger than fiction.

Tuesday, April 14, 2009 11 comments

Random Grumbles

The feed truck came late last night, so no cannibal chickens this go-around. Whew!

Came home from work, no dinner as usual… even though Mrs. Fetched said she was going to fix something. Maybe we’ll eat at home tomorrow.

We didn’t find out until Sunday night, but some time after the Easter service, DoubleRed checked herself into the hospital and was diagnosed with diabetes. We started seeing some warning signs Thursday or Friday evening, and mentioned it to her then. Her glucose reading was somewhere north of 600… really bad, but not coma-inducing bad. I told her last night that she should get together with The Boy to learn everything she shouldn’t do.

This morning at work, I got another email of the “this cable is the wrong color again” variety. I’m sure the seagull manager behind the last two installments of Programmers. Argh. is directing his people to nitpick everything at every opportunity, and I was getting rather exercised… then he followed up with “and the part number is wrong,” which actually defused me. You see, I’d explicitly requested that part number and edited it in when I got it, so I knew at that point he was looking at the wrong version. I told him as much, and included the right docs with a “here they are again” (since I sent them last week). Then my new boss got a query, and asked me if it was fixed; I told him the same thing and didn’t hear from him after that. I know I’m getting older, because I’m getting ever less patient with this kind of crap.

Taxes are done, woo-hoo! We have a far too large refund coming back this year, because Mrs. Fetched didn’t bring in a lot with her video stuff, and Daughter Dearest contributed mightily by both capsizing her mom’s farm truck and bringing in a large tuition credit. The refund will mostly go to covering her college expenses for next year.

Well… I should have said our taxes are done: Mrs. Fetched volunteered me to do a bunch of other peoples’ as well… including Jimmy Last-Minute, who did better last year but has gone right back to dumping a bunch of incomplete info on me at the 11th hour. I printed him out an extension form for him to sign in the morning, with a list of info I needed (and an admonishment to get it to me sooner next year). The Evil Twins’ parents are another, but they know they’re on the hook for an extension anyway and theirs should be fairly simple.

If it wasn’t already bed time, I’d have another beer.

Tuesday, March 24, 2009 11 comments

Polls, Jobs, and Other Incidentals

Submerged stumpIf you hadn’t noticed yet, I’ve put a poll in the sidebar (just below my picture)… just curious to see what comes back. Lurkers, regulars, drive-bys, please go hit a checkbox or three and then feel free to expand on your thoughts in a comment here. I’m going to let it run through the end of March.

The Boy… are you sitting down? … got a JOB!!! In (wait for it… wait for it) a poultry processing plant. ROFL — we can’t get away from the dang chickens, can we? He had his first day of training today, one more tomorrow, then he’ll be working the night shift. His job entails hosing down the equipment to keep it clean & mostly sterile… think of The Boy in waterproofs next time you eat chicken, OK?

Meanwhile, things got a little weird at my job today. It really started last week, I suspect, when I was working at home shooting some pix for a new product and found that the mounting holes were spaced ¾ inch too far apart. There was a scramble to fix that problem, especially since time is running out, and the payback came this morning. First, a picture on a quick install guide (for a different product) said “750” instead of “760” — which might have been an issue, if the text in question was large enough to see on the printed version without a very strong magnifying glass. They had to open the PDF and zoom waaayyyy in to see it… and of course, this was suddenly a critical item. Also critical, after not being even noticed for about a year, is that the picture of the yellow Ethernet cable is “too green.” I ended up borrowing DoubleRed’s desktop PC to use for the “connect to computer” shots… of course, it doesn’t have an Ethernet card, but I was able to stick a card in and make it look right. I’m pretty sure this was Revenge of the Engineers… they have their little freak-out dance they do when things get tight, and I don’t have to watch Dancing with the Stars because I see this performance all too often.

We’re supposed to talk with the dean of the music department tomorrow. Daughter Dearest is planning to transfer to the college just up the road next year, and the dean wants to try talking us out of it. There have been some issues… the dorm rooms have been plagued with mold (absolute hell on a music major), and the food has been somewhat short of edible at times as DD claims to have found a loogy in the salad once. Quite frankly, we would expect better from a private college with a good reputation. At least we’ll be able to afford next year.

The SXSW festival has their entire musical showcase available on BitTorrent. It’s a 6GB load, in three parts, and you’ll have to wade through it to find what you like. The torrents are organized only by artist, so you have to slog through it all. I’m still listening to part 1 (while helping to re-seed all three parts). At least I got my ratio back over 1.0 now. Fortunately, I’m fairly easy to please, so I’ve been throwing every tenth song or so into iTunes for further listening. Sometimes, a tune I’m not fond of at first will grow on me; sometimes, the opposite happens.

After I brought Big V home from the hospital on Saturday, she went right back in first thing Sunday. She may have a heart issue or a blockage; either way, it ain’t a good thing. At least she escaped the last hospital with her foot still attached. I just hope she starts doing a better job of taking care of herself. She’s getting on Mrs. Fetched’s nerves, big-time, so she isn’t in that bad of shape.

Mrs. Fetched’s mom planted four rows of potatoes today… sounds like we’ll be picking them up by the tractor bucket-load again this year. I’ve got to start my yellow pear tomatoes and get some spinach planted. And I need to plant myself in the bed…

Wednesday, March 18, 2009 8 comments

Violets and Business Models

While I was working at home today, Mrs. Fetched had a client in for some video work. Ironically enough, this client makes (wait for it) poultry processing equipment. I had to take a gadget out to the studio for a little shooting, and noticed the wild violets were once again springing up all over the yard (clicking the photo will give you something larger than life):

White wild violet

Going back inside, I reminded Mrs. Fetched to tell the client that I did product photography for my day job… gotta make these Shiny Things earn their keep, after all. I’d started a blog post about a month ago called “Musings on Photography and Copyrights,” but never got much farther than the title. Technology has dealt a serious blow to photography as a profession these days…
  • $1500 will buy you a pro-level (or at least prosumer) DSLR and the essentials — the barriers to entry have never been lower. But the only photo I ever sold, I took with my late lamented PowerShot (which cost about $300).

  • Digital photography itself has all but wiped out the darkroom. As an old friend of mine (who now shoots weddings) told me, “I used to spend a lot of time in the darkroom, now I spend it all in Photoshop.”

  • Scanners and computers have wrecked the traditional photographer’s business model. People are going to scan their portraits and print copies — it doesn’t matter (to them) if the copy isn’t quite as good, they’ve been trained to not care about quality. And their attitude toward copyright is something like, “I paid some hundreds of bucks for this, it’s mine!”

The guy with the medium-format camera and the account with a commercial film processing facility are still around, but their niche is truly a niche these days. Of course, there are always the people who work for Sports Illustrated or Time; major media will always need skilled photographers, even if they end up becoming web-only publications sooner or later.

The business model of the independent photographer has taken a mortal blow. But perhaps a new business model might work.

One facet could be summed up as “Photography and” or even "and Photography” — in other words, photography becomes a part of the business… and not necessarily the primary part. As I mentioned, I already take product photos as part of my technical writing job. It was something that needed to be done, and I learned how to do them well with basic equipment. But even if photography is secondary, it can provide a competitive edge to the business — if the client needs a good photo, there’s no need to contract with another person who might also take your primary work too.

The whole copyright issue needs to be addressed. With no negatives, digital photography might be best approached as a “work for hire,” the same way technical writing contractors work. Ideally, both you and your customer would hold joint ownership — the customer can fling a copy into Photoshop and mash it up or whatever, while you can license it as a stock shot or use it as part of your portfolio. To get people interested in your work to begin with, consider placing a few good shots under a Creative Commons Attribution license: this allows other people to use them (and spread them around) while you get credit for your work. You might as well make this whole file sharing culture work for you, right?

Of course, I might be completely off base. But this is part of my backup plan in case my day job goes away.

Friday, March 06, 2009 10 comments

Programmers. Argh. (4.0, Premature Indigestion)

I suffered mightily from indigestion Tuesday and Wednesday evenings. I thought I was having a blood pressure spike, as the symptoms were about the same: chest pain/pressure, general feelings of uneasiness and shakiness. DoubleRed said her dad had a mini-heart attack with the same symptoms; we got out the BP machine Wednesday night and I was a tad high but the thing tends to read high anyway. Shortly after that, I began a long series of loud burps… about one a minute for an hour. Every time I’d let one loose, I felt a little better. By bedtime, I got to feeling fairly decent.

Thursday… let’s say whatever was causing the issue decided to move out. For Too Much Input, hover over this text. I still had a touch of whatever it was yesterday evening, but Mrs. Fetched attributed that to the Mexican food we had for lunch. Lord knows I’ve not exactly been eating right lately.

Skipping back a little… I got punted to a new department, which became official Monday. The new boss (not same as the old boss) came by Wednesday afternoon to get an idea of how I manage to get stuff done. I gave him a heads-up… as the new guy, he should expect a certain manager (the same one from Programmers 2.0, in fact) to start trying to poke his nose into the situation and dictating how I do my work.

I was right. I just didn’t expect it this week.

The opening shot came this morning, as part of an email chain concerning an update that we’d been handling through the week. Had I kept my mouth shut, I probably wouldn’t have had to worry about it, but I asked if we needed to update the translated User Guides as well. Another PITA engineer, who thinks his input is far more valuable than it actually is, wanted to know why we had French and Spanish for one product and Portuguese for another — the hobgoblin called Foolish Consistency rides that one hard — and the simple answer is that we sell one product through North America and the other in Brazil. “But we sell the other in Canada too,” said a manufacturing guy, and the seagull manager took wing with a comment to the new boss:

[You need] to make this multi-lingual translation routine and seemless [sic] for all our products.

I responded, “Routine and seamless? Good luck with that one.” We sell different products into different markets, and the markets often shift under our feet before I manage to finish the documentation. There is no “routine” when it comes to translation, simple as that. And seeing as it costs a fair amount of money for translation, there is no “seamless” unless we want to throw money away on translations we aren’t going to use… in this economy, that’s just stupid. I’ve already requested close to $10K for translations this year, and we’re not even through March yet. It also “seems” to me that someone who can’t even be bothered to turn on the spell checker in Notes should not be telling a writer how to do his job (“his” in this case is me).

I should have expected him to dig in… I have to give him this much, he won’t back down from a war of words even when he’s outmatched from the get-go. (Don’t start a flame war with a writer.) I suppose that’s a characteristic of empire-building; you can’t even admit to yourself that you’re on the wrong side on an argument. He whined about requirements (and there wasn’t even a Requirement Spec for this particular product), that the time and cost for translations seemed excessive (although he can’t really know since he’s not the one actually managing the process)… but the next part started (as Mrs. Fetched says) making my ass twitch:

We have impacted release dates in the past due to lack of translations. This is a problem area that needs to be fixed. […] delivery dates *MUST NOT* be gated by lack of documentation. This has to get fixed.


I wrote a nice little email that took him apart, paragraph by paragraph. In this particular case, we have had exactly one release date held up due to lack of translations (in 12 years), but he seems determined to hold that over my head at any opportunity… completely ignoring the myriad times development issues have held up releases. Perhaps if he was focused on hardware development instead of empire-building, they might meet more deadlines, but I didn’t say that. I went on to mention that documentation release dates keep getting pulled in, and the requirements for translations at the first build means I need to have completed and approved documentation (in English) 4–5 weeks earlier than that, so the translators have something to work from.

This took me to about 11:30 a.m. I wasn’t sure whether it was over the top (and the guideline is if you aren’t certain it’s not, it probably is), so I left the mail unsent and went to make a deposit at the credit union and grab some lunch (tried a random place along the way, a tad expensive but worth it). I figured a long hour, which included a motorcycle ride since I rode Little Zook to work, would give me some needed perspective. Alas, when I got back to work and looked over the email, I did some editing but didn’t see a need to tone it down at all. I sent it to my boss, who told me to not send it, let him handle it, and thanks for the info. No problem… I preferred to get some actual work done anyway.

With that not settled, but my participation thankfully out of the way, the discussion turned to yet another product. This is a “business services” product, so it doesn’t get end-user documentation, and people started questioning whether it should be done. As a necessity, I pointed out that we haven’t ever done translations for those kinds of documents, and asked whether we needed to start. One of the responses gave me a good laugh to end the day:

Maybe you'll have better luck getting an answer than I did.


And that’s the crux of the matter… I’m not going to request two grand or more for something I haven’t been told is needed. Maybe I should stop worrying and start stimulating the world economy.

But the indigestion, and its subsequent cause, are both gone now. There are days that the life of a chicken rancher looks like an improvement…

Tuesday, July 31, 2007 8 comments

Eat to work, work to eat

I suggested stuffed bell peppers for supper tonight — I would have suggested it for yesterday, if we’d had some thawed ground beast. It was quite good, and she invited her parents up to help us eat it. Still, there was enough left over to stuff a microwave dish with a pepper, ear of corn, potatoes, and a slice of Mexican corn bread that Mrs. Fetched’s mom made (hot stuff! yum!). It won’t be any problem carrying it to work, since we’ll be getting my Civic first thing tomorrow.

Since the mom-in-law is going to the farmer’s market in the morning, I cleared the jalapeƱo bushes of the larger peppers, ending up with over two pounds of biiiig green chiles. Maybe someone will have cilantro and want to trade… I just can’t seem to grow cilantro.

The last of my “restricted” stock just got un-restricted. The HR department sent a memo around saying that they were going to use shares to withhold taxes, and “your net pay will not be affected.” Um… they forgot the Social Security part, which knocked a cool $600 off this paycheck, and I can ill afford to not have that money. I need to sell some of that stock, I guess… and since it’s lost about $2 in the last week, I’ll have to sell more than I needed to in the first place. At least I have the option (pun not intended). Maybe it will shoot back up tomorrow. Maybe pigs will… oh, never mind.

Thursday, March 08, 2007 4 comments

Programmers. Argh. (3.0, when “RTFM” is Just Too Much Effort)

I had to bang out an emergency project today — well, they’re all emergencies these days, but that’s beside the point. Knowing it had to be done today, I seriously considered working at home; I decided not to because The Boy is around and I didn’t want him interrupting me with spurious requests for money, car keys (missing driver’s license notwithstanding), a ride to somewhere, blah blah blah. There was also some camera work to be done, which usually involves my physical presence anyway.

Hindsight is 20/20.

Instead of The Boy, I had people popping into my cube all day and committing Documentus Interruptus — some of them were asking about the project I was trying to get done in spite of the interruptions. It was difficult at times to hold my tongue. Worst, though, was a programmer from down the aisle.

“Where in the manuals would I find Voice Quality Metrics?” “There’s a description in the Feature Guide, and instructions in the Troubleshooting Guide.”

“Where in the manuals would I find Loop Diagnostics?” (same answer)

At one point, I was about to get into The Zone — a rare state where I can out-produce just about anyone — when he popped in and barked my name a bit too loud, causing me to jump several inches.

“Sorry. Where would I find Loop Voltage Management?”

“Description in the Feature Guide. Instructions are either in Management or Provisioning, I can’t remember.”

“How could I find out?”

“Um… have you tried looking at the table of contents?”

I think he got the hint, because he didn’t come back the rest of the day.

The second most annoying visit was from the Vietnamese guy in Tech Support, who waved his hand alongside my head to get my attention (I have my iPod going most of the day, partly because the guy across from me is on the phone being Super Consumer Advocate half the time). Naturally, he wanted to know about the emergency project he’d just delayed.

I’d seriously considered, early on, grabbing a conference room and closing the door so nobody could find me. In retrospect, that’s exactly what I should have done.

I never did get to the camera work. Maybe tomorrow.

If you want to see the previous installment

Saturday, February 17, 2007 2 comments

Good News, Bad News

Bad news first. Things at work have been absolutely crazy the last week or so. Trying to catch up, I brought a couple of projects home with me that are getting down to the wire. I managed to finish the first one this afternoon; trying to decide whether I want to do more than poke at the second one tonight.

The good news is that the documentation projects have rescued me from a weekend of chicken house duty. Given a choice between the two, I’ll take the work work any day.

We have snow flurries outside, and a good fire inside. Stay warm. Family Man, do some extra slacking for me tomorrow….

Saturday, December 09, 2006 5 comments

Post-Company Party Yawns

The company party was tonight, and was really nice this year. For one thing, it was on a weekend instead of after work so Mrs. Fetched came along — she doesn’t like doing the drive that I do five days a week. Heck, I don’t much like it myself, but someone has to deal with the cost of living. For another thing, they moved it from a restaurant near the office (last two years) to a club. Lots more room, better selection of food, and the bar served a great rum&coke. They cut back on the door prizes to offset the extra cost… but when you don’t win anyway, who cares?

But now I’m ready for bed. 'Night.

Friday, October 20, 2006 2 comments

The Mobile Office

Current music: 1.fm Trance
It used to be that moving in the office was something you started hearing about long before it actually happened. There would be an alert that we would get moved in a few weeks, which would pass uneventfully and then we would forget about it. After a few months, the move alerts would come around again; sometimes it would again fade off. But eventually, the facilities people would bring around big stacks of flattened cardboard boxes and rolls of packaging tape on a Thursday, we would spend Friday marveling at how much stuff we had stuffed into 64 square feet, and spend the following Monday unpacking and pretending to try getting some work done.

That was so 2nd millennium.

Companies these days operate in Internet time, and moving is no exception. The feint-parry-thrust that once took weeks has now been compressed into a couple of hours. You hear the first rumor around 10 a.m. and you’re sitting in a new cube by 4. Fortunately, the facilities people do most of the moving for you nowadays. Virgil comes around with the cart, loads all the stuff you're not using at the moment (including the contents of the overheads and lateral), and sets it up in the new cube pretty much as it was. You’re left to clear the decorations off the walls, grab the Ethernet hub off the floor, and the phone and laptop off the desk. The only heavy lifting involves a 21" monitor. Spend an hour at the end of the day setting up the new place, get some work done, go home.

Even the phone is an instantaneous switch, thanks to the magic of VoIP. You yank the phone out of the Ethernet jack at the old place and plug it in at the new place. Done. No farting around with the PBX and maybe missing a call you didn’t want to take anyway.

The best part is that I can look out a window from my chair, for the first time in years (if you don’t count working at home). Just in time for winter to set in. This time of year, I need all the sunlight I can get.

Saturday, September 30, 2006 3 comments

New Toys

Wednesday, IT figured out what the last problem was setting up my MacBook Pro and brought it over. Sweeeeeet. I spent part of yesterday and today installing the other software I need and formatted my first documents on it this morning.

How much faster is it than my old work computer? I guesstimate about 15 times faster, and maybe 5 times faster than my iBook. I got a similar performance improvement switching from FrameMaker to groff. So the documentation suite that first got transformed out of Frame, four books totalling 750 pages, required half a day to create PDFs using Frame on the old 300MHz G3. Now it takes less than a minute. There is no longer any pain associated with accommodating last-minutes additions or changes — I can basically churn out a new version at a moment’s notice.

I told my boss, and he said, “You can get a lot more done now!” I said, “I love the smell of productivity in the morning. It smell like… slacking in the afternoon.” He thought that was pretty funny.

I was going to get a similar laptop for myself, but Mrs. Fetched confiscated the money I’d squirreled away for the purchase to pay for her cameras. And now she thinks she’s going to confiscate my Saturday for the chicken houses. I want to take my mountain bike to Nimblewill and ride around instead, but it occurs to me that I don’t have a car at the moment, thanks to The Boy. So I’m not sure what I’ll do tomorrow.

Friday, August 18, 2006 No comments

When You Rule the Tools

About a week ago, I complained about our tendency as tech writers to become slaves to our tools. Tonight I provide a counter-example — what becomes possible when you, the technical writer, is in charge of the tools.

At work, we’re building a box with built-in Wi-Fi capabilities and routing. Since that’s a fairly well-explored theme, we contracted a company in Taiwan to supply the Wi-Fi router. Like most routers for home networks, this one provides a web-based interface to configure the box, with links to context-sensitive help and a global glossary. As it turned out, the help that they furnished us was already owned (copyrighted) by another company. Since I work under the same department as the people driving this particular product, they brought me a working prototype and asked me to rewrite the help.

I’d seen an earlier prototype a few months back, so I already knew what was there. This time, though, I hit “View Source” in the browser — and was presented with a mishmash of HTML and <script> tags. Digging a little deeper, I realized that every single string in the web interface was being written by ECMAScript (the polite name for JavaScript hockkkk, ptui aka JavaSchit). The strings were stored as variables in files called language.js and langcont.js. The names explained the method to their madness: translating the interface requires changing only two files instead of 30.

Looking at the text itself, I was less than thrilled — we make stuff for cable companies; the help text talked about DSL and even ISDN, but not cable — and I had some better descriptions for other terms. The bolded term was run into the rest of the paragraph instead of broken out into a glossary-style list. I needed to add some cable-centric terms and remove the DSL- and ISDN-centric stuff.

So I fired up a text editor and got to work. It took all of five minutes for me to realize that I was going about it the wrong way. The string variables look like this:
h3='<b>Term</b> The definition…';

So if I wanted to add a new definition in between two existing ones, I’d have to either renumber everything following or create variables like h3_5 in between. Meanwhile, there was a corresponding <script> call in help.html:
<script language="javascript" type="text/javascript">dw(h3);</script>

To turn down the bloat a little, they had created dw as an alias for document.write. But the thing was, for every term I inserted or deleted in language.js, I’d have to make a corresponding fix in html.help. Since this is tedious, repetitive, kind of stuff — and I’m lazy — I decided to let the computer do the work for me. With a few global search and replace runs, I turned my text into HTML and then banged out a couple of scripts to transform it into the format needed by each file. It took an hour or so to get the scripts working, but I’d still be pounding on it if I had to do it by hand.

This is the kind of thing that you can’t do, or at least do easily, in Microsoft Weird or even FrameMaker. Even if it were possible, it wouldn’t be nearly as efficient. Sometimes, you even have to make tools to do a custom job on the spot. But when you rule the tools, the tools do the work for you so you can engage in some good old guilt-free slacking.

Saturday, August 12, 2006 2 comments

Professionalism, Rants, and Support

Techcommdood related a flare-up over Flare on techwr-l, a mailing list strictly dedicated to work-related communication by and for technical writers. He went on to say,
All facts removed, this was an inappropriate post. Why? Well, it offered little information and, well, it was a classic rant. You have to ask yourself, "What value did this add to the community?"

One word: none.

I don’t know about that. It pointed out some potentially serious problems with Flare, a fairly new help authoring tool (HAT) that’s trying to dethrone RoboHelp. MadCap (the company that produces Flare) stepped up and offered to work with the ranter to fix the problems, so maybe there’s a happy ending to come. Whatever: being a Mac user, neither MadCap nor Adobe (RoboHelp’s current owner) gives much of a rip about what I want or need.

Dood’s point was to decry the unprofessionalism of ranting on a public forum, whether directly or through an intermediary (as in this case) — of course, there’s Techcomm, a forum for tech writers that’s meant to be 95% rants and silly jokes, but that doesn’t really count. But there’s several kinds of unprofessionalism on display here, and they can all be seen in the ranter’s rhetorical question (caps lock removed): “Why should I pay $700 for a product and then spend my time doing workarounds to get it to do what it should do automatically?”

First, the ranter didn’t mention whether MadCap had tried to fix the problems before the rant, or if they were even aware of the problem. If you’re going to spend $700 for a piece of software, you should ask for help and expect to get it… and if you’re charging $700 for that software, you should a) make something that doesn’t break; and b) make sure your customers don’t get to the point of ranting about you in public. (The latter is often something that small companies like MadCap actually do better than larger ones like Adobe.)

The larger unprofessionalism is depending on some pretty $700 piece of software chrome to do your work for you. Face it, fellow tech writers, HTML (or even XML) is not rocket science. We complain about those icky tags, then we wonder why we get replaced by “technical writers” with a certificate education, at half the salary. Then there’s the whole issue of trusting your work to a monolithic database, which destroys everything when it gets corrupted (e.g. the late, unlamented ForeHelp), or any other software that doesn’t allow you to easily extract your work out of it (Word).

I’m not saying that we should be building help systems by hand — but we should certainly be willing to get involved at a much lower level. HTML-based help, after all, is simply a wrapper around a series of HTML (and graphic) files that provides (usually JavaScript-based) niceties like search and context. You provide table of contents and index files — and the content, of course — and that’s it. You don’t have to work directly with HTML — but you should be able to use what your authoring tool gives you to produce HTML, then be able to clean it up and prepare it for use with the help system. Yes, it takes a little time, but so does importing stuff into a dedicated HAT and fiddling with your content there.

Probably the most trouble-free help-building system I’ve seen to date is Mif2Go with FrameMaker to produce OmniHelp, an open-source help viewer. I’ve also used groff to produce HTML that works well with OmniHelp — everything can be modified to work the way you want it to, with no $700 “license fee” involved. Why are we not taking more advantage of set-ups like this?

It’s time to take control of our operating environments and to start living up to the title, technical writer. We’ve let the word become little more than a way to distinguish what we do from journalists and fiction writers for too long now, to our detriment.

Monday, July 17, 2006 4 comments

The $3/gal threshold

This hit home yesterday... gas prices have stayed just under $3/gal here for a while now. At that price, if you use two gallons per day on your commute to work & back, working at home two days per week saves enough on gas to pay a $40 DSL bill each month.

So if you're trying to convince your spouse that you need broadband (or need to keep it), here’s your ammo.

LinkWithin

Related Posts Plugin for WordPress, Blogger...