Looking for writing-related posts? Check out my new writing blog, www.larrykollar.com!

Friday, October 30, 2020 No comments

Zapped by Zeta, day 2: It's Just a Flesh Wound

Still no power this morning. We decided to hit the retail district to:

  1. Get breakfast
  2. Look for a generator
  3. Pick up some other odds and ends

As expected, Home Despot and other big-box stores had sold out of generators. Other things we needed, we were able to find. Then the wife, on a whim, called a plumbing and electrical supply joint where she gets farm stuff.

“We don’t have any now,” they told her, “but we’re expecting a shipment around 2 and we’re open until 5.” She gave them a credit card number, and they virtually set one aside for her and promised to call when the truck came in.

Then, she and Daughter Dearest had a meeting at church to do some last-minute planning for the Trunk or Treat event we’re doing tomorrow afternoon. I hung out outside with the kids (including AJ, who was happy to be in the stroller as long as the sun wasn’t in her face). I took AJ inside after a while, figuring she would be ready to eat. She munched happily away at her veggie puffs, then gobbled a container of Apple Chicken mush.

The wimmin-folk got back as AJ decided she was done eating, and wanted to sit in my lap as I had my sandwich. Time was getting tight, especially since this guy who helps with farm repairs and upgrades had all but moved into M.O. the B.B. We hurriedly cleaned it out so everyone could pile in (and have room for the gennie in the back), and got on the road, arriving just in time.

Seized by some impulse, the wife bought a second gennie for Daughter Dearest, and two guys hoisted the boxes off the dock and into the voluminous back-end of M.O. the B.B. We headed home at a much more sedate pace.

But the lights aren’t on, and mine nearly got put out. I wrestled a box into a dolly, hoping I could slide it down the tailgate and onto the ground. Gravity had its own ideas though, and I got jerked out of the bed and flung headlong into the dolly. At first, I thought I’d just banged my head a good one, and I could finish the job… then blood started pattering out of my hair. Mason seemed calm, although he was near panic, and I pressed down on the laceration.

“It’s only a flesh wound,” I said. Too bad I didn't have the chance to yell, “Hey, y'all watch this!” Anyway, pressure did what was needed, and the wife and Mason hustled inside to get a cloth and some ice to help with it. Daughter Dearest came up and got the kids, and wife took me to the urgent care, getting there 10 minutes before closing.

“Uh,” said the doc, when he saw the gash, “that’s bigger than what we’re equipped to deal with. You need to go to the ER.” That was another 15 minutes down the freeway, but pressure and ice had done for the worst of it. I continued pressure, switching hands when the active one called for a shift change. This may have been a tactical error—since I wasn’t bleeding all over the place when I arrived, I was in the normal queue. The initial intake generated an amusing side-story: the blood pressure cuff got so tight, my hand went numb, then the nurses put the oxygen sensor on that hand. “No way he’s an 83,” one said.

“Try the other hand,” I suggested. “That one went numb.” They did, and were much more satisfied with the results. After that, a P.A. cleaned around the worksite, put staples in my head, and sent me home. There, wife and I got most of the rest of the bloody mess cleaned off.

So tomorrow, I will get the generator going… if the power doesn’t come back on first.

Thursday, October 29, 2020 No comments

Zapped by Zeta, part 1: Tropical Snow Days

This one didn’t seem as scary as Opal in 1994. Just like Opal, Zeta passed by overnight (or very early Thursday morning). The heavy rain came in ahead of the heavy wind, and some of the gusts got pretty loud. The power crapped out at some point, which we had expected. The school system decided to close ahead of the situation, so Mason got a tropical snow day.

But when we all dragged ourselves out of bed, we all soon dragged out the chainsaws to clear the roads enough to get somewhere. There were trees down everywhere. We had recently taken down a bunch of trees near the manor, so maybe that helped us dodge a bullet. So… open the garage and drag out the generator.

It started, but the lights didn’t come on when I threw the transfer switch and plugged in the house. I have two cords, so I tried the second one. No dice. I plugged a fan into one of the outlets. Nothing. Seeing as people have probably made a run on any place that stocks generators, that leaves us at the mercy of the power company. With 8,000 houses in the dark, there are likely 7,999 ahead of us.

So… I plugged my phone into the work laptop to help charge it, and used my hotspot to get to work. That lasted through the morning. The laptop battery hadn’t quite wheezed, but I need a few minutes to let co-workers know I’ll be out of pocket if the power isn’t back on in the morning. If not for the pandemic, I’d hole up in a coffee shop in the retail district (of course they have power), but given the third surge that’s not what I’d call a smart maneuver. To at least keep the phones charged, I pulled the battery out of the Miata and connected it to a solar panel. It sits outside during the day, soaking up lots of sun (and charging the tablet), and then comes in for the night to deal with the phones.

I often had to remind myself it isn’t Saturday, and that I don’t have to worry about church in the morning. We heated leftovers on the grill’s side burner for supper, then Mason and I took a bike ride. The school robo-called us to tell us no school on Friday as well, so that’s our second tropical snow day.

Tomorrow, I’ll probably spend much of the day cutting firewood. Between one thing and other, we never got around to doing that. But now there are downed trees to clear. Maybe I’ll get another bike ride in with Mason. He’s wanting to get to where we can ride to town (10 miles each way) for (root) beer and tacos. We’re building up to it.

Friday, October 23, 2020 2 comments

Shakedown cruise

When I last mentioned it, the county was stripping the pavement off our road in sections, and widening the roadbed. Now, they’ve finished repaving and striping. The “bike lanes” are maybe 18" (about 50cm) on either side… I would have been fine with them putting both shoulder strips on one side. But whatever… it’s a lot safer to bicycle now, both for us and people who come up from the metro to ride.

I wanted to take the Fuji out for a shakedown cruise, but Mason threw in a wrinkle: he wanted to join me. We took a short trip down to a nearby church and back, and found his mountain bike wasn’t really suited for road riding. “I guess I need a road bike,” he said, and I suddenly remembered.

I don’t know where it came from, or how long it’s been sitting there in the back of the detached garage, but I had a small-frame road bike—to be precise, a Schwinn Prelude. Solar suggests it’s about mid-80s vintage, and a “pretty decent bike for its day.” It’s a 12-speed, and the shifting is like-new smooth. The tubes needed replacing—one had a stem separation, the other missing completely—but I happened to have two tubes on hand. The tires themselves have also seen better days, but are still round and not coming apart. I figured they would be good for a few miles, anyway. That, and a little chain lube, and it was ready to adjust. First adjustment: remove the foot straps. He’ll want them later, but for now, one step at a time.

The frame, although small, is a couple inches too big for Mason. I vaguely remember offering to get it rideable for Daughter Dearest, back when she was a teen, but she demurred. And yet, with the seat all the way down, it’s a perfect pedaling height for Mason. He provided a little entertainment, getting on it the first time, but soon took it a couple laps around the slab between the garages. By then, it was getting dark, so we hung it up for the night.

This afternoon was perfect for being outside—upper 70s (F), partly sunny, and just a little breeze. I aired up the tires on the Fuji (the Prelude was still holding its air, which is good), we strapped on helmets, and Mason took a couple laps around the driveway. He got more confident about being perched 'way up there, and off we went.

Sector 706 is pretty hilly, and Mason was soon waxing enthusiastic about how much easier it is to pedal a road bike uphill. We rode a mile or so, then reached a long uphill climb, and we got about 3/4 of the way up before Mason decided it was time to turn around. The Fuji mostly performed well, but I found that pesky front derailleur wasn’t quite as dialed-in as I had thought. Mason didn’t notice anything on the Prelude that needed adjustment, so I put Fooj back on the stand and tightened the cable until the front derailleur did what it’s supposed to. So now it’s dialed-in… at least until the cable stretches again.

If we can get out a couple days each week, we’ll both soon be ready to tackle those hills. Mason’s already talking about riding to town (10 miles each way) or all the way to the retail district (another 5). We’ll need to be in much better shape for that, though. He also needs to feel confident enough to reach down and work the shifters. Despite their analog look, they are indexed.

He’ll probably be tall enough by spring to fit the frame, and maybe get a couple years out of it before he outgrows it. So I took tomorrow off, because Mason has a day off school as well. We’re going to ride a little more, then hop over to the local bike shop and get him some new tires. I might get a new bike carrier, too. The one I have now is a strap-on (mounts to the trunk) I bought in 1981, and those straps are starting to make me worry. If the weather stays reasonable into November, we might spend a day on the Silver Comet Trail.

Wednesday, October 21, 2020 No comments

Adventures of a #techcomm geek: Constants Aren't, Variables Won't

DITA-OT logo
One of the advantages of having a DITA-based workflow for technical writing is for translation. During the acquisition binge that ended with us being on the “bought” end, we picked up a product with a fairly strong retail presence. You’ve probably seen those products in Best Buy and similar places, and maybe even bought one to upgrade your home network. (No, I’m not going into details, because I don’t write documentation for that line… mostly.)

But, as usual, I digress. Retail products, or not-retail products that are supplied to the end-user, need to have localized documentation—that is, not just in the native language, but using country-specific idioms (although this might go a little too far). And, to help with consistency, things like notes or cautions use canned strings.

The DITA Open Toolkit (DITA-OT) PDF plugin provides a pretty good list of canned “variable” strings for a bunch of different languages, including languages with non-Latin glyphs. Of course, we added to that list… somewhat. I put quotes on “variables” because I don't know why they call them variables; they are basically language-specific constants. Local Idiom, I suppose.

Fast-forward a couple years, to the disease-ridden hellscape that most refer to as “2020.” A year ago, one of the point people for translations sat two aisles down from me, on those days we weren’t both working from home. We would have hashed half of this out in person, before roping in a bunch of other people in a long email chain. (Don't get me wrong, working remote is da bomb, and I hope they don’t expect me to do time in the office in the future… but it had the occasional upside.)

Anyway, this was the first Brazilian Portuguese translation we had done in a while, and weird things were happening. My initial guess—that we had provided updated strings for only a subset of languages (mostly French and German)—turned out to be correct, when I started poking around in the source. I remembered working on a script to parse the XML-based “variable” files to build a spreadsheet, so we could easily see what needed updating. Turns out, I had either given up or got pulled away after the script was less than a quarter-baked (let alone half). I beamed my brain power at the cursed XSLT file, and it finally turned brown and gave me the output I wanted: name[tab]value.

Now I was halfway there. I had tab-delimited files for each language, now I just needed to coalesce them into a single (again, tab-delimited) file. As I’m fond of saying, when I want to process a big wad of text, awk is how I hammer my nails… and I started pounding.

Since I had an anchor point—the “variable” names that were constant for each language—it was a Small Matter of Programming. Knowing that English (en) was the most complete language helped; I used it as a touchpoint for all the other languages. After a few fits and starts, the script produced the output I needed and I imported it into Excel. Blank cells that needed values, I highlighted in dark red. Things I needed to personally tweak here and there got yellow highlighting. I hid rows that didn’t need attention (some were complete across the board, others we don’t use), and sent it to the rest of the team.

Just to be complete, I finished the day embedding the XSLT and awk scripts inside a shell script (and tested the results). If I need to do this again, and I probably will, I can do it in a matter of minutes instead of spending an entire day on it.

I deliberately formatted the spreadsheet so I can export changes to TSV (tab-separated values) and write another script to rebuild the language “variables” if I feel it’s necessary. It’s always good to anticipate future requests and be ready for them.

Wednesday, September 30, 2020 1 comment

Taking a break

When I last talked about my remote workspace, I was adding a 40" monitor. So I got rhythm, I got music I have good lighting, lots (but never enough) of screen real estate, powered speakers I connect to my phone for music and conference calls… but not all was perfect in my homemade remote worker’s paradise.

We replaced the kitchen island a while back, and the old one is upstairs. I thought about using it as a makeshift standing desk, but that didn't materialize. Worse, it was a tight squeeze between the island and the big monitor, and Charlie banged his head on the corner of the monitor more than once when coming to visit. The only natural light is from a narrow gable, and that was partly blocked by the window A/C unit.

Mason’s fall break ran from Thursday through today, so I took the days off as well, hoping to camp down at the pond again. But with Beta coming for the weekend, bringing about two inches of rain, we decided to stay home. We tackled some of the stuff upstairs, making a little more room. I looked at the gable window, with the A/C blocking a good third of the incoming natural light, and looked at the island.

As Gru would say: “Light bulllllb.”

With an anxious Mason holding up the window, I pulled the A/C out of the window… and immediately got a bath from rainwater not quite drained out of the unit. I also found a few slits in my fingertips, compliments of my wrapping them too far around the back, but toilet paper and pressure took care of that. I borrowed a lid from a large storage tub to put the unit on as I carried it out to the garage to finish draining.

With the collected rainwater down to a few drips, I hucked the A/C out to what was once Studio FAR, but became the wife’s personal storage dump a while back. There was also a tall dorm fridge out there, plugged in but empty, so I unplugged it and carried it into the garage for a quick cleanup. There were a few drips of who-knows-what inside, but the ice buildup needed more than a couple disinfectant wipes to deal with. I got a blow dryer and started melting the ice while pulling at it with my fingers. It took maybe 20 minutes to defrost, and I dried it off and hucked it upstairs. Of course, the island + fridge were about one inch wider than the gable, but the gable outlet is switched anyway. I parked the fridge in front of the island and plugged it into a non-switched outlet.

With the break area ready, I began accessorizing. First came the coffee grinder and espresso maker from downstairs, along with the loose coffee sitting in freezers (and a pint of half&half). I ordered a 0.5l electric kettle, and a French press of nominally the same capacity, and they arrived over the weekend.

So everything was ready to go this morning, when I went back to work. That’s when I found the French press's idea of “0.5 liter” includes neither coffee nor the plunger. OK, so now I know to not fill the kettle quite full. This afternoon, I made a cappuccino for my 3pm power-up.

There will certainly be some other tweaks to the workspace, especially around the exercise equipment. But this is a big step forward. I can look out the window while I’m making coffee, and I don’t have to go back downstairs (with its potential distractions) unless I forget to bring a coffee cup along.

Saturday, September 19, 2020 1 comment

Nuke and pave

I’ve been thinking for a while that the county should either rename our road to Pothole Parkway, or stop playing whack-a-mole with the deteriorating asphalt and get serious about repaving it. And since there’s a lot of bike traffic on weekends, put in bike lanes while they repaved.

Wide and smooth
Mirabile dictu, the universe must have been paying attention for a change. The county is repaving the road… and putting in bike lanes!

Of course, before repaving, you have to de-pave. The results remind me a lot of the dirt roads when I was a kid in southwest Michigan: wide and smooth. Back then, the road commission would run a grader up and down them on occasion, then follow up with a coating of oil. Not only did it keep the dust down, it created something almost as solid as pavement. (They switched to something a little easier on the environment in the late 80s.) I remember piling eight teenagers in a VW Beetle and blasting our way down those roads at around 65MPH, trying to catch up to the people who knew where we were supposed to be going! Every once in a while, there would be a pothole, and some of the passengers would levitate for a moment.

But I digress. With Sally threatening to lay down a huge amount of rain, they panic-paved as much of the first section as they could. That was probably for the best, because the first section includes the steepest slopes (not like there’s any flat sections). We did get a lot of rain, but not the wash-out-road amounts that some were fearing, and most of it wasn’t that heavy. So the work goes on.

They started on the far end from FAR Manor, which is okay. We won’t get disrupted until the last leg. I'm hoping Mason and I will be the first to ride the bike lane all the way from north to south.


Thursday, September 17, 2020 No comments

Birthday campout

Mason turned 11 on Tuesday after Labor Day, and the wife planned a bash down at the pond (where there are a couple of pavilions, a swing set, and a large grassy area for kids to run loose in). Then she suggested I take the Starflyer down there and camp with Mason.

Hey, why not? I’ve been wanting to get out, and would have if it was just the adults. The whole thing about campgrounds, as I’ve said before, is kids take off and hang out with other kids. It’s awesome, unless there happens to be a pandemic going on. But if it’s just us…

It just popped up here, I swear…

The two-track down to the pond can be treacherous, but this time the washout was all on one side. I kept to the other side, and got it where I needed it. There’s not a 30A connection, so I couldn’t run the A/C, but there’s 15A connections and it only got hot for a few hours during the afternoon. I had fans, and zipped up the screen covers on the sunny side. It was nice and comfortable by bedtime. Sizzle opined that this was more glamping than camping; he had a cabin tent for his boys and strung a hammock for himself. I pointed out that sleeping on a mat on the ground is fine when you’re 30, even 40. At 50… not so much. At 60, forget it.

In the mornings, it was chilly enough that warming up a kettle on the inside stove was a welcome way to get the day started. I keep a French press in the camper for coffee, and Sizzle decided this wasn’t a bad way to camp after a cup or two. I also warm up a second kettle to put in the pump pot—so I have both hot and cold water at the sink for washing.

The birthday party was Sunday afternoon, and several relatives came down to join the fun. I pulled the Porta-Potti out of its cabinet and designated the camper as “the ladies room” for the afternoon. It’s a pretty low sit, so most of the women didn’t try it out. But the niece’s daughter found it perfect, and used it often. (I usually put it in the walkway at night, so nobody has to traipse into the woods in the dark, and it got used that way as well.)

Since Monday was a holiday, Skylar and the niece’s son stayed in the camper with Mason and me. The boys gave me the big end, Skylar got the drop-down bed (in which the dinette table sits on props and holds up the mattress) and the other boys grabbed the small end (and the bunk light with the fan… little rats).

I find that tearing down takes a lot longer than setup. Maybe it’s because my help evaporates, or maybe because I’m reluctant to admit it’s over. But Mason has a 5-day weekend (fall break) at the end of September. I’ve already taken vacation days—so if the weather cooperates, we’ll be back. Hopefully, the wife will join us this time.

LinkWithin

Related Posts Plugin for WordPress, Blogger...