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

Monday, February 08, 2021 1 comment

Mason Minecraft Monday

We don’t do these as often as we like, but on occasion Mason will show me something that reminds me to tell him to send screenshots.

He’s at that age where he picks up a new obsession about twice a week, on average. The current one is a (for him) nostalgia trip: he and The Boy used to play Star Wars: Battlefront when Mason spent weekends at his place. We got him his own copy of the game, and he has zeroed in on the vehicles. In some ways, he and Charlie have a lot in common.

Lately, he has started building various Star Wars gadgetry in Minecraft, and he sent me a few screenshots.

X-wing fighters

Y-wing ships

A-wings

AT-AT (aka Imperial Walker)

He said to tell you, “It's my first one, and it's small, and I’m going to make a bigger one.” I think he means all of the above.

I need to hit Publish, because there’s only a few minutes left in Monday. But I hope to see more intersection between Minecraft and his Obsession of the (Half)-Week.


Monday, February 01, 2021 No comments

Adventures of a #techcomm geek: Go API

Image source: openclipart.org
A couple weeks ago, I got an email from a product manager:

Can you convert these API documents to our format?

Attached were three Weird documents. I let my manager know about the request; he told me to make sure we had rights (the documents were from an OEM, we’re marketing a re-badged version of their product), and to loop in the other writer on this product.

I looped in the other writer, who used to sit right across from me when we had those quaint “office” and “commute” things. While both of us thought it might be best to do it the “right” way—that is, convert the docs to DITA and publish them through our CCMS—we both figured replacing logos and changing names would be good enough.

We both expected the other to pick it up, I suppose, and I was doing other things. The upshot was, I forgot to ping him about it. So Monday came around, and nothing had happened. I groaned at the prospect of using Weird for something more than a two-page HOWTO document, then thought about the scripts I wrote for pulling in documentation through Markdown. “If it becomes too much of a hairball to clean up,” I told myself, “I can always replace the logos and change the product names.”

As it turns out, Markdown is quite adequate for API documentation. There was some cleanup involved, but not as much as I had feared. Global search and replace took care of a lot of it. Most of the manual cleanup was the same kind of thing anyone does when bringing someone else’s documentation into their system—improving topic titles, adding boilerplate… you know the drill. It took about a day to knock the three documents (total of 600 pages, give or take) into shape, and another day to tweak things.

I went ahead and fed the bookmaps to our transform. It was only after I got a decent-looking PDF that I realized: all the topics were still in Markdown. In retrospect, that wasn’t too surprising: the toolkit converts those topics to DITA (temporarily) before processing them. Markdown is a lot easier to deal with when you’re doing cleanup stuff anyway, and I finished that before doing the uplift.

So by Wednesday evening, I was ready to upload the converted documents into the CCMS. The upload tool is more finicky than Morris the cat, and it uncovered a couple more cleanup issues. I resolved those Thursday morning, and we now have clean DITA in the system.

And yay, I didn’t have to touch Weird!

By the way, the conversion scripts are on Github. Just in case you need to do something like this.

Thursday, January 28, 2021 2 comments

Go yard (and raise the roof)

One of the reasons I didn’t want to buy the house that became FAR Manor, I thought the roof was pretty sketchy-looking. It was obviously uneven above The Boy’s room. But somehow, it held up all this time and never sprang a leak.

It's metal, man.
But the pandemic let me dump all the money we had been spending on restaurants into savings, along with what I’d been throwing in to cover insurance and property taxes (or any incidental one-time expenses), and it added up. Back in spring, an older guy came by and asked to lease the garden area where the mother-in-law once held court. Wife said “don’t pay us, just give us some of the produce.” That worked out well, but his son runs a roofing company. He came by in December, and gave us an estimate. I had enough in savings to cover it, so I gave it the go-ahead. Last week, it finally happened. I’m not sure how much the wife will like it when it starts raining acorns in the fall, but (as usual) we’ll burn that bridge after we cross it. But hey, the color matches the gazebo!

Not shown: the new chimney cap. The old one lost its covering on one of the many windstorms a while back. I took it down, and riveted new sheet metal on it, but another windstorm did for the repair as well. The new one looks a lot more substantial.

But even before that… I’ve mentioned Bobcat. He came around to help the wife with farm work, then brought his namesake and (under the wife’s direction) began clearing trees around the front of the place, to make a driveway loop. FAR Manor’s driveway has always been tricky to negotiate, especially with larger vehicles, and even more so with the Starflyer parked in front of the detached garage. He ended up clearing all the trees and brush from around front. Delivery vans have a much easier time getting in and out of here now—especially since it’s an equipment yard as much as a driveway loop.

Front (pano view)
Then he said, “Hey, while I’m here, you want a larger back yard?” In for a round, in for an octagon, as Bailar the Blue might say. Bobcat made it spacious enough that I decided to order another disc golf goal (and I probably could have made room for a fourth). He also planted grass, but didn’t get the sticks up and didn’t smooth out the ground before sowing. It’ll be a bumpy ride on the mower for a while.

Rear (pano view)
Charlie enjoys tramping around the expanded yard, and especially likes dragging a wagon or riding (or pushing) a tricycle around the driveway loop.

Plenty more parking… too bad we’re not having many visitors these days.

Tuesday, January 12, 2021 3 comments

Charlie Five, and a brief uh-oh…

Charlie wearing a paper crown, made in church last week
King for a day
Charlie turned 5 late last week, but of course we waited until Saturday to celebrate. After all, his bio-brother Skylar has his birthday pretty close to Charlie’s, and Sizzle has one as well. So the party was extended, but Charlie wore the crown! (After all, he made it in church the week before, as part of the Epiphany lesson.)

There was cake for everyone, and presents for the birthday folks. Sizzle brought some chow, and the wife made some stuff, and we all ate, drank, and were merry.

But… (cue the “dun-dun-dunnnn” music here)

Sunday morning, Sizzle sent the preacher and me a text: Daughter Dearest is running a fever we will be staying home today and keep everyone updated no other symptoms. Well, if DD got the ro, then we had been exposed as well—especially me, because I hugged her twice and she took a nap on my side of the bed.

They all went and got tested in the afternoon, and we changed clothes, took showers, and planned to hunker down. During the early days of the pandemic, I bought two huge canisters of powdered Gatorade, and sent them the unopened one. I caught a pretty good case of the flu back around 2000 or 2001, and staying hydrated let me bounce back pretty quick once the fever got tired of hanging around. The non-nutty sister in law was in the hospital with her own case of the ro, which likely happened (the hospital part) because she got dehydrated, and I wanted to make sure DD had every possible advantage. I made plans to do our grocery run as curbside pickup this week.

[Aside: Big V probably would have been a casualty, had she not checked out a couple years ago. She never took care of herself, and I suspect she would have been a ratlicker. The Boy could have gone either way, and probably would have. Mason definitely has mask fatigue, but he’ll wear it if we remember to bring it.]

Today brought a little better news. DD called me this evening and said her test was negative (woohoo!), and the sister-in-law came home from the hospital. Sister in law is debilitated, as is usually the case. I’ve heard that each day in the hospital adds a month to full recovery time. She was fairly healthy to begin with, so maybe she’ll bounce back by summer.

Meanwhile, since we’re still saying no to the ro at FAR Manor, I made a minor grocery run this evening. But given how the B117 strain (aka the “UK virus”1) is proliferating, I’ve once again broken out the Clorox wipes to clean off everything that comes into the house.


1If the wingnuts want to call the original the “China virus,” then it should be acceptable to call this latest strain the “UK virus.” And we should also call H1N1 the “American virus,” since it originated in Kansas.

Sunday, January 03, 2021 2 comments

Steak and RSS


Steak is better than sizzle.
It’s winter, it was 39°F out late this afternoon, but it was partly sunny with a little breeze. What else to do but put on a sweater and throw a top round/London Broil on the grill?

This was one of my better steak efforts, probably helped by tenderizing and marinating with wine vinegar (among other ingredients) for several hours beforehand. Wife thinks we can thin-slice the leftovers and pan-fry it, to warm it up without making it tough.

We shall see. Tomorrow, Daughter Dearest heads back to school, and I’ll say farewell to staycation and head back upstairs to the homemade worker’s paradise. But I’m making turkey chili for everyone.


As odd as it may seem to grill steak in January, one of my aspirations for 2021 (as listed in the previous post) is to re-focus on blogging. And not just shouting into the void (that’s what it feels like on Twitter quite often), but reading other blogs. There were a couple things some years back that we once had, but have no longer:

  • First, Safari (my browser of choice) used to have an RSS reader built-in. It was really easy to put my blog-buddies in a bookmarks folder, and put that folder on the Bookmarks bar. The folder would show the number of unread posts. I’m sure Apple had reasons to move the RSS reader to Mail (still scratching my head about that, though).
  • Second, Google discontinued Google Reader, that many people used to keep up. Fortunately, many of us using Blogger had our links listed in our profile.

So, I opened the Blogs folder in Safari (the links to the blogs still work, even if the RSS doesn’t) to see how many were left. Then, I checked my profile list. Altogether, I found about a dozen blogs that still existed, and had been updated fairly recently.

Next step: find an RSS reader. I ended up downloading Vienna, an open-source reader for MacOS. I also splurged $0.99 for a Safari add-on that shows what RSS feeds are available on a site and supports copying selections to Vienna.

So now I have my blog feed back, and so far it’s working pretty well. And with that, maybe I’ll be better about dropping new posts more frequently.

Wednesday, December 30, 2020 2 comments

Lookin' back (and forward)

They're lookin' back (they're lookin' back)
They're lookin' back (they're lookin' back)
Too many people lookin' back!

—Bob Segar

While there have likely been worse years in human history (year 536, and more recently 1918, would both nominate themselves), 2020 is as sucky a year as we’ve had in living memory. I don’t agree with those who say 1968 was worse, because people were getting out and making a real difference. And… they didn’t have a pandemic.

And yet, that which hits the fan is not evenly distributed. Not everything that happened in 2020 was terrible, even at FAR Manor. For example, Charlie’s adoption went through in February. In the last month or so, he started talking more (although his diction is mushy, and he especially has issues with hard consonants). He calls us “momom” and “dada.” For yours truly, I’ve been quite content to not have a commute. I took a quick trip down to the office last month, for the first time since spring, and I was there less than an hour. We saved a ton of money, not eating out four or five times a week, through late summer. We have (so far!) managed to dodge the you-know-what, and vaccinations are on the way. And, of course, we voted out #Dolt45 (thank God).

A raccoon mounts a feral hog, preparing to do battle with the possums.
Hiyo Puumba, away!

OK, things weren’t all wonderful at FAR Manor (are they ever?). When I had the knee replacement a few years ago, I cruised along on Norco for a while. I thought everything was fine—I got work done (and done well), launched a novel, and functioned. But when I got off that stuff, I realized just how out of it I had been. Wife said everyone else could tell, though (thanks, honey).

There have been stretches like that this year, without the benefit of prescription painkillers. In retrospect, I can look back and see where I was definitely not OK (even when I thought I was). I think it became obvious in October, when I was running errands one Saturday, and both Mason and I forgot our masks when we went into the auto parts store. Fortunately, there was maybe one other person there, and we escaped without the virus catching us. The profound lack of writing progress, most of the year, should have been another big red flag.

Since that incident, I’ve been a lot more observant about where my mask is. Maybe the Hitchhiker's Guide to the Galaxy was almost right—instead of a towel, you should always have your mask. Even after the vaccine does its thing, there’s flu, colds, and who knows what else. Masking in public should probably be the default, especially during the bottom half of every year from now on.

So, I achieved my two biggest goals for 2020:

  1. Survive (an Ouiji board told me at Mason’s age that I would live to 61, and I’m 62 now!).
  2. Don’t catch the you-know-what.

With two days left of 2020, I’m feeling pretty confident. But what about 2021?

We can all hope that next year is when we transition out of the dystopian timeline. It’s not going to happen right away, and there’s a lot of work to be done to push the lunatic fringe back to the fringes, but we’ll at least have a baseline sanity to work from. Regardless, we have to live in whatever timeline we have, and even get stuff done. But I’ve said before, don’t do resolutions. Do goals. So here are my goals for the brave new year:

  • Complete the AS9 (Mage War) first draft by Feb 28
  • Publish AS9 by June 30
  • Have the family vaccinated by August (I can’t control that, but I think it’s possible)
  • Get my weight below 200lbs (again) by June 30
  • Write a #RightToRepair blog post each month, for the first three months
  • Put up screens or pickets on the deck before the end of February

If you read the linked post on my writing blog, you know that I’m all about keeping goals short-term. We can’t control what-all happens through the year, so let’s focus on what we can do in the near term. We can always revisit and plan some more, come mid-year (or quarterly, or whenever convenient).

But beyond goals, there are aspirations. These are things that I’d like to see happen, and maybe I have some control over them:

  • Reposition myself to focus on blogs more than social media (a/k/a “immediate Web” and I’ve started this week)
  • Take some camping trips with the Starflyer
  • Set up a sliding platform in the Starflyer, so I can swap out the fridge with a cooler, depending on whether we have electric hookups
  • Help Charlie learn to read/write
  • Get Mason interested in creating stuff (beyond just consuming)
  • Finish several short stories that have been kicking around for who-knows-how-long
  • Get at least one book (besides AS9) ready to publish by the end of the year
  • Draft one or two of my camper ideas
  • Start on Mason's tree house

In any case, stuff I achieve will become blog-fodder.

So remember: at the stroke of midnight, in the first moments of 2021, everyone yell, “JUMANJI!” We might be able to shift the timeline after all. You never know.

Friday, December 25, 2020 No comments

Winter #2 1, Tractor 0

Winter #2 arrived at FAR Manor on Christmas Eve, with heavy rain changing over to mixed sleet and snow in late afternoon. We had a break in the rain just after lunch, and the wife rounded me up to help her get a couple large, round hay bales to the cows before the rain started back up. This went pretty well—only issue was a gate falling off its hinge at the hay barn. My best guess, the weight of the gate twisted the top hinge over time, enough for it to slip loose. A pair of pliers got it twisted back in place and the gate side of the hinge adjusted. Wife put the tractor in the hay barn, figuring if things got icy, it was one less thing to hassle with.

Just as we were finishing up, Bobcat rolled up. “I was going to get that culvert off the trailer,” he said. “Can I use the tractor?”

“Sure,” said the wife, abandoning the idea of leaving the tractor at the hay barn. “Just pull it in the #2 chicken house, up to the hay, and close the doors. It’s supposed to be 18(°F) tonight, and I want the tractor to start.”

Immediately following, DD and Sizzle came down (with the boys) for Christmas dinner. They brought most of the food, and I think Sizzle achieved Peak Turkey with his smoked (bone-in) breast. The fried turkey was pretty good, better than most, but the smoked one beat it hands-down.

So we woke up to a sort-of white Christmas:

White-ish Christmas

Nobody was in a huge hurry to get going, but we threw a little breakfast together and let Mason and Charlie check out their stockings.

After lunch, which was yesterday’s copious leftovers, wife grabbed me once again for cow duty (if only she’d grab me the other way…) and we went down to the chicken house turned tractor barn to find: the tractor near the wide-open door. As I’ve observed often, every day is Monday when you live on a farm. Sure enough, the tractor wasn’t going to start under those conditions. Fortunately, she had taken extra hay into the pasture yesterday, so we threw nine square bales into the back of the truck and took those out.

“But I need the tractor to start,” the wife grumbled. “All the other square bales are on the other side of the tractor. Could we take the lizard’s heat lamp to put on it somehow?” (Mason inherited a bearded dragon from The Boy.)

And my mind went back to Michigan Tech, where the locals often had heating harnesses on their engines for the cold winters. “Maybe a 100-watt light bulb in a lamp would do it,” I suggested. “They get pretty warm.”

“Worth a try.” So we went home, and after thinking about it for a couple of minutes, I grabbed the lamp out of my home office break area. It’s not like I’ll be needing it until January 4, anyway. I left the bulb, shade, and harp upstairs, found a 150W bulb in the pantry (even better!) and I grabbed a long extension cord out of the garage.

More interested in heat than light
After a little fiddling, I found the best place to set the lamp was on the battery. The extension cord was comfortably long enough, and it lit up quickly. The top of the hood was noticeably warmer than the sides after just a few minutes. Then…

“Hey, could we put that tarp over the hood to trap more of the heat?” I suggested.

“There’s a tarp in here?” One of those rare moments when I’m more observant than her. We got the tarp unhooked from the pen that Mr. Sunshine had left in there, and draped it over the hood.

So, Mason’s bearded lizard doesn’t have to worry about icicles in his beard. With any luck, tomorrow the tractor will start, and the lamp can return to my homemade worker’s paradise. Me, I have another week and a half.

I hope your Christmas has involved lots of great food, and more relaxation time than we’ve had.

Sunday, December 20, 2020 No comments

A Salted Battery, truck edition

Wednesday, 5:30pm: I set up my auto-reply message for work email, shut down the laptop, turned out the lights, and headed downstairs. My end of year staycation is under way.

Unfortunately, Daughter Dearest’s hasn’t quite begun yet, so there’s still a lot of watching AJ in lieu of getting stuff done. I’ve found that if I put her on the floor, she crawls all around the house to explore, thus wearing herself out so she takes longer naps.

But that’s not the focus of today’s fun.

The pond, of which I have blogged before, had an overflow drain as a failsafe. I say had, because something happened. I don’t know exactly what—it could have been a washout, or perhaps someone getting a little too enthusiastic with a backhoe (that’s not unheard of around here)—but the upshot is, there's a bunch of busted-up plastic culvert laying around, with a pipe at the bottom of the dam. So on Friday, the wife plopped AJ in her lap and sent me down there, with a guy who has been helping out on occasion… let’s call him Bobcat, because that seems to be his natural habitat. We took measurements of the culvert, and then we grabbed M.O. the B.B. (with Charlie as supercargo) and headed down to the supply place.

I suggested lunch, Bobcat was amenable, and we headed to Chick-Fil-A because that’s Charlie’s fave. The line was spilling out of just about everywhere for that, so I ordered some chow on the Zaxby’s app instead. I usually have to bribe Charlie to eat some chicken by promising him fries (his favorite), and often he’s fine with the protein after convincing him to take the first bite. Although this Zax had the dining room open, we’re not stupid enough to try that unless the place is completely empty, so we sat in the truck.

Bobcat’s dad manages an HVAC shop not a mile down from the supply place, and he had a trailer long enough to carry the 20-foot lengths of culvert. (We have a lowboy trailer on the farm that may have been suitable, but I need to replace the tires, make sure the bearings and hubs are okay, and fix some wiring.) The dad is happy to have Bobcat helping us, and that's a good thing… because we had neither the hitch ball nor tie-down straps, which are usually in the truck. When I cleaned out M.O. the B.B. last week, to vacuum out a bunch of shattered glass (Bobcat locked the keys in the truck, and decided to get in through the rear window… multiple concussions have short-circuited some of his synapses), I got rid of anything superfluous and took it to a car wash to abuse their vacuum. Then I forgot to put all the stuff back in.

We had a trailer, the right size ball, and… “what’s that smell?” I asked.

“Battery acid,” said Bobcat. “I looked under the hood and didn’t see anything.”

smoking battery
sssssssssmokin’
The smell got progressively worse, and I popped the hood to have a look myself while Bobcat was telling the counter dude what we needed. M.O. the B.B., being a diesel, has two batteries. The one on the passenger side had blown both its caps off; one was missing, and smoke and acid were boiling out.

“I’ll get some of the guys at the shop to take care of it,” Bobcat assured me. We rolled down windows, which wasn’t pleasant in 50°F (20°C) weather (didn’t bother Charlie, though), and buzzed back to the shop. The guys, true to Bobcat’s word, got the smoking mess out, then used metallic HVAC tape to cover for the missing vent cap.

Fortunately, since M.O. the B.B. has two batteries, we were able to toss the blown-up battery in the back of the truck and get home. We dropped off the culvert, then Bobcat drove the truck & trailer home and left it there. In the middle of the gravel. Still connected. I got a bottle of seltzer water and poured it on and around the battery tray, hoping to neutralize any remaining acid. Then I did the same for the battery itself—I needed to pick the thing up to get a new one, after all.

Saturday became Errand Day—first, take some garbage off to the dump. Second, take the remnants of the battery back to the place I bought it (I spent $350 on two batteries for one truck, figured I should get some good ones). They exchanged it, and then I picked up a pair of long-nose pliers for a project the wife is working on. Finally, I swung by the liquor store for some Special Holiday Survival Sauce. After that Friday, I really needed some.

Then, it was time to get the new battery in the truck. I did that, then sized up where I wanted to stash the trailer until Bobcat came and got it. The best spot is alongside the landscaping trailer, which made for some issues for an amateur trailer-backer-upper like me. But once I got in the right position, it went right in. I actually had more trouble disconnecting the trailer than I did backing it. After hooking one of the chains around the latch and giving it a solid yank, it slid backward. Oh, that’s how it works, I thought, then cranked the tongue jack until it cleared the ball. I parked the truck, then grabbed the stuff that should have been in there and put it back.

Here’s hoping that I just have to worry about watching AJ and cutting firewood for the rest of staycation.

Saturday, December 19, 2020 4 comments

Charlie hangs

We finally got going with the decorations last night. Once again, Mason went under the stairs to eject boxes (and wish he could turn that space into a gaming cave). We put up the tree… and handed some shatterproof ornaments to Charlie.

Charlie puts ornaments on our tree
Hang 'em up (as high as possible)


Charlie seems to have gotten past the “slap 'em off” stage faster than Mason did. Still, we put the breakable ones up higher. Mason is able to reach nearly to the top (we still had to put the star on), so not everything got put on the lower half. He refers to the tree as the “ho ho tree.”

We’re not doing much outside, but we’ll hang some lights on the gazebo because we have power to it.

What’s your decorating status? Comments are open!

Thursday, December 10, 2020 2 comments

A writing update

I really should post this to my writing blog (and my mailing list), and will when I get a chance, but it’s easier to do from here right now.

On occasion, I do get someone pinging me about when my next book is coming out. I appreciate those queries more than most would know, even if all I can say is “It’s really slow, but I am working on it.” Progress has been glacial, even by my slow standard, but there has been some progress.

  • The ninth Accidental Sorcerers book, tentatively titled The Mage War, is very close to first draft! There are a couple of scenes left to write, mostly setting up the climactic battle. After that, it's alpha- and beta- reading time, and (I hope) brief rewriting, and editing. I hope to have it out by spring, but I hoped to have it out well over a year ago.
  • Since The Mage War concludes the series, I have a follow-on book in the works. This one takes place a few centuries afterwards. It concerns a young mage from Woldland, who finds herself in the middle of a situation that could engulf all Termag in war.
  • I have several Blink/Skyscraper City stories in the works. I’ll talk more about them once they’re closer to being done.
  • A “ten years after” sequel to the White Pickups duology has long wanted to be told, and I’m about two-thirds of the way through it. It’s called… The Last Pickup.
  • Finally, I have a couple stories on Wattpad. The first, Soulburn, is complete. It's a paranormal thriller, more adult, and one of my darker works. In progress is Chimera, Inc. This one is hard to categorize… is it SF? Fantasy? Magical Realism? The first five parts are up, and the next will be up soon (over the weekend, is the plan).
When I do get a chance to write, I have plenty of choices. Whichever one wants attention, gets attention. And so, I inch forward, night after night.

Yes I think '21 is gonna be a good year,
Especially if you and me see it in, together

—From the album Tommy, by The Who

Wednesday, November 25, 2020 4 comments

Iteration 4 (bike)

Dialing in the Fuji’s front derailleur has proven harder than expected. I put it on the stand, tweak the cable tension, and it shifts. Take it off the stand, and it refuses to shift.

When I first got it, Solar suggested I put wider tires on it. That turned out to be easier said than done, at least according to the LBS guy. I’ve pretty much resigned myself to taking the Fooj to the LBS to get that pesky front derailleur set properly, but I need something to ride in the meantime.

Back to my old Raleigh M-60 mountain bike. I thought to myself, “Self… that bike already has 2.1" knobbies and plenty of margin. Could you put fattie tires on it?“ A quick search on the Mighty Zon turned up Big Apple tires—2.35", but like I said, I had plenty of margin. Solar runs the same tires on his Surly Ogre, but the LBS doesn’t carry them… so I bit the bullet and placed the order.

Although the initial order thing said they would arrive Wednesday, they arrived the Friday previous! That gave me time to pull the wheels off the Raleigh and bring them inside, where I removed the knobbies and put on the fatties. The latter popped onto the rims without issue, or even needing the tire tools. Tons easier than getting those Continentals onto Mason’s rims, let me tell you. They look pretty good on the Raleigh… much better than the narrower road tires I had on there for iteration #2 (iterations #1 and #3 were the knobbies). This is what all bike manufacturers should put on a mountain bike without suspension—something suitable for both pavement and dry trails.

Finally, the perfect tires for this bike…

So I was ready for the weekend… but when you live on a farm, every day is Monday. We spent pretty much all weekend fixing fences. As it’s Thanksgiving week, and I need to burn a bunch of vacation time, I took this week off as well. But I needed a flu shot, Mason had a well-check appointment, and there were leaves to be removed… so even Monday didn't work.

But there’s always Tuesday. Solar said that 45psi works great on pavement, so I went with his suggestion. They’re rated for 30-55psi, and the lower pressures should work well on unpaved trails… of which there are plenty here but not so much in Solar-land.

In the afternoon, after replacing my iPhone 6s battery, it was time for the test run. The fatties rolled great over the gravel driveway, and did fine on the road. A mountain bike with fatties is much more versatile than a road bike; it will handle gravel and dry trails without any problem as well as pavement. There’s a slight amount of extra rolling resistance compared to the Fooj running 25mm tires at 100PSI, but it was only noticeable in the app (which showed a lower top speed and an extra minute out of 36 for the 5.6-miler).

Now, I need to get a fresh roll of hockey tape and re-tape the “horns” on the handlebars. The old tape lasted a long time, but now it’s time for a refresh.

Monday, November 23, 2020 No comments

Catching up, Nov 2020 edition

I had a few posts written up for our brush with Zeta, and never published them. I back-dated them to the dates they should have appeared, so (unless you're reading this late Monday night) scroll down to see all the… um, fun.

More coming tomorrow, if I don’t get totally distracted (again).

Saturday, October 31, 2020 3 comments

Zapped by Zeta, day 3: Live-action Creepshow!

I felt pretty decent in the morning, despite all the drama. Still, the house was dark and still (no electricity). Fortunately, by the time I was ready to get moving, Wife and Daughter Dearest had come back from a Dunkin' (and gasoline) run and brought me a large coffee. So… caffeinated and needing some Internet, I rolled outside to tackle the generator.

After the “fun” yesterday, the gennie was still sitting in the box, right behind the blood-spattered tailgate of M.O. the B.B. Armed with a utility knife and a garage full of tools, I began the assembly. Despite my missing the installation instructions (and cursing the people who didn’t put them up front where they couldn’t be missed), I got it put together, oiled, and gassed up.

The brand-new engine didn't want to fire up (thankfully, it’s an electric-start), so I got the starter fluid and gave it a squirt. After a few tries, in which I considered the possibility we had a dud, it fired up and ran. Woohoo! I plugged it in, threw the transfer switch… and it died.

Okay, I had already flipped off the high-draw stuff at the breaker box (oven/stove, A/C, water pump, water heater), so I turned off everything and restarted. I turned on one room at a time… and somewhere along the line, it died again. At this point, I was certain I had a dud, but it did run some stuff. I figured if I could get the lights and at least one fridge going, I could live with this for now. After a few fits and starts, I got the kitchen fridges up, and then the freezer in the garage. At this point, we were due to get to the church for our Trunk or Treat thing, so I left the gennie running and hoped for the best.

My original Halloween costume plan was to be the Grim Reaper, complete with a real scythe. Hanging from the blade, a sign: Wear a mask! I have enough work already! But given all the “fun” I had yesterday evening, I just ran my booth. I had a BB gun and targets, with candy for anyone who could hit a target (and consolation candy for those who couldn't). Amazingly, the first person to hit the smallest target was a kid in an inflated (with battery-operated fan) dinosaur costume!

As for me, I wore a hat to keep the adults from losing their latest meal over the bloody mess that was still my scalp. But for the older kids, I offered: “You want to see a live-action creepshow?” They all said yes, so I would remove my hat and bow. Daughter Dearest would get the Shivering Collywobbles every time she made herself look at the staples, and Mason grimaced when he asked to check as well.

Hey! You want to see it, too? Okay! After all, it’s just a flesh wound.

Hurts to see it? Think about how I felt!

The staples come out in a week. Washing my hair is going to be… interesting… until then.

Finally, we went home. The gennie had run through its gas allotment, so I refilled it. This time, it started without a hiccup, and sounded a lot better than before. Maybe it just need a few hours of break-in time? It gave no grief over us flipping on the lights, fridges, and furnace… so the wife decided to extend the test. Our old gennie wasn’t quite up to running the water pump, but the new one was rated for 150% the old one’s capacity. We turned on that breaker, and the gennie surged but handled the load. Running water, yay!

The final test: the water heater. I got the wife to wait about 15 minutes, to give the water pump time to finish pressurizing the system, then we flipped that breaker. A brief surge, but it held! We prioritized the showers, but nobody got ice-cubed. We turned on everything but the A/C and stovetop, and mirable dictu, the DSL was waiting for us, wondering where we had been.

Now that we have all the comforts of the grid, I expect the “real” power to come back on pretty quick. Fortunately, there’s a website that will tell us when that happens.


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...