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

Tuesday, August 30, 2016 No comments

Tech Tuesday: Distraction-Free for Free

I’m a very technical boy. So I decided to get as crude
as possible. These days, though, you have to be pretty
technical before you can even aspire to crudeness.
— William Gibson, Johnny Mnemonic

The writing advice people (and websites) are always harping about minimizing distractions. Shut off Twitter (or your social media of choice), close the browser, fill your screen with the editor, and just write look a squirrel! You can even buy special editors that fill the screen automatically… well, of course you can. Seems like everybody and their dogs are trying to make money off writers these days, aspiring and otherwise.

The thing is, it’s really easy to set up a distraction-free writing environment using the tools and apps that come standard with your operating system—at least for MacOSX and Linux. It’s probably true for the Microsoft thing as well, but I’ll have to look at it a little closer. Both MacOSX and Linux evolved from Unix, an operating system that dates back to when computers were more expensive than displays—so you would have a bunch of people using one computer, typing commands and text into terminals. That was back when timesharing didn’t refer to a sketchy way to sell the same condo to 50 people.

The interesting part is, all the code needed to support that circa-1980 hardware is still part of modern operating systems, and we can use that code to create our distraction-free environment. So let’s get to a shell prompt, the way we all interacted with computers before 1984.

Down and Dirty

If I really wanted to get down and dirty, I’d get a USB-to-serial adapter and hook up that old VT220 terminal I still have laying around. But we’re focusing on stuff you already have on your computer.

Personally, I like to have some music playing while I’m writing at home—it masks TV noise, kid noise, dog noise (unless there’s a thunderstorm, then she’s moaning under my feet), and noise from outside. But you might have a stereo in your writing room, or you find the music distracting, and you don’t need anything but a screen to type into.

Keeping the Johnny Mnemonic quote above in mind, Linux is more technical than MacOSX, so it’s easier to get to the crudeness you want using Linux. Press Ctrl+Opt+F1, and you’ll be presented with a glorious console with a login prompt. Most versions of Linux have six of these consoles; press Ctrl+Opt+F7 to get back to the graphical interface. I have never dug into the reason why Linux typically has six text consoles… I’m sure there’s a reason. Anyway, enter your usual login name and password at the prompts.

If you’ve set up MacOSX to automatically log you in when you start up… don’t. For one thing, you’re inviting anyone who gets into your house to poke through your stuff. For another, you can’t get to the one console that Apple provides. To fix this, open System Preferences, select “Users and Groups,” then click “Login Options” at the bottom of your list of user names.


Once you’re there, make sure “Automatic login” is set to Off. Next up, set “Display login window as” to “Name and password.”

While you’re in this screen, make sure your regular user name is not an administrative account. Set up a separate admin account if you need to, and remember that admin password. These are things that make it harder for malware (or your teenage niece) to do things they shouldn’t be doing on your computer.

But I digress. Next time you log in, instead of typing your usual user name, type >console and press Return. This immediately drops you into a text console and presents you with a login and password prompt.

So… Linux or Mac, you have a text console until you press Ctrl+D at a shell prompt to exit. Skip down to “Now What?” to see what’s next.

Work Within the System

If you’re not quite ready to abandon all hope the graphical interface entirely, because you might need to jump onto the Web to goof off research something important, you can still eliminate most distractions… although all those distractions are still easily available if you can’t resist. Perhaps it’s a small price to pay to have your music, right?

Most Linux systems make it really easy to get a terminal app on the screen, whether through shortcuts or the application menu (look in Accessories or Utilities). Macs aren’t much more difficult—press Cmd-space to pop up Spotlight; typing term should be enough for it to complete Terminal (it’s in /Applications/Utilities if you want to do it from the Finder). Press Return, and it should start. If you’re using the Microsoft thing, look for “Command Prompt” or “PowerShell” in your Start menu. One or the other should be in Accessories.

Now that you have a terminal window up, you need to maximize it to keep the distractions at bay look a squirrel!. On Macs, press Ctrl-Cmd-F to enter full-screen mode (press it again to exit). On Linux, your distribution determines the keystroke; Ubuntu uses F11. You can always click the “maximize” button to expand the window, although this leaves extraneous window elements visible. You can also maximize a command window in the Microsoft thing.

One of the advantages of a terminal app over a console: you can increase the text size, either by using the terminal app’s preferences or by using a keystroke (Cmd+ on Macs). 18 points should be sufficient on a laptop; you might want 24 points or even huger on a big desktop screen.

Okay, you’re ready to go…

Now What?

Okay, now you have a screen full of nothing but white text on a black background. There’s a prompt at the top, usually ending with a $ symbol.

The distraction-free writing paradigm basically turns your computer into an electronic version of a manual typewriter. No going back, no editing on the fly, just type your story and hope the result isn’t too incoherent to salvage (says the guy who likes to edit as he composes).

There are few lower-level ways to input text than using a line editor, and Unix derivatives (including both Linux and MacOSX) include ed.  Johnny Mnemonic, that technical boy, would have been proud of ed. It’s about as crude as it gets. So let’s get crude! Type ed and press Return.

Nothing happened. Or did it?

Ed (as we’ll refer to ed for a while) is a program of very few words, which is exactly what you want when you’re going for a minimalist writing environment. If you give Ed a command he doesn’t understand, or one that might destroy your work, he will respond with ? (a minimalist understands when that means “huh?” or “you don’t really want to do that, right?”). Ed’s commands all consist of a single character; in some cases, you might include a range of lines or some other info. But right now, there are three commands you really care about.

Right now, you should see a blank line. Type i and press Return. This enters input mode, where everything you type is copied into Ed’s buffer. Ed will happily ingest everything you type, until you enter a line containing only a . character. That tells him to return to command mode. The following screen shot shows an example.


Now for the second command: saving what you entered. Type w and the name you want to give the story. Make sure you’re not using that name already, or you’ll overwrite what’s there! I reserve a few file names like foo, junk, and tmp for situations like this, when I either don’t need to keep what’s in the file or plan to do something else with it right away (like copy it into Scrivener). Anyway, after you use the w command, Ed responds with the number of characters it wrote into the file. If you want a rough word count, divide by 5 (I wrote 1458 characters, a shade under 300 words, in the above example).

All done! Type q and press Return, and you’ll return to the shell prompt. If you want to keep writing instead, type $a and press Return. This command means “go to the last line” ($) “and append.” Again, Ed will take everything you type as input until you enter a line containing only a . character. This time, you can just type w and press Return, because Ed remembers the last file name you used. Just remember to use q when you’re done.

Bonus Info

Now you’re at the shell prompt, and you want to know exactly how many words you typed? Type wc and the file name, and press Return. The info you get looks like this (using the above example):

Kahuna:fiction larry$ wc tollen.md 
      31     269    1458 tollen.md
Kahuna:fiction larry$

You get three numbers: lines, words, and characters. So that number in the middle, 269, is the actual number of words I wrote.

If you’re not enamored with Ed’s ultra-minimalism, try entering nano or pico instead. Both of these are simple screen-oriented text editors that include a little help at the bottom of the screen (but will let you arrow back and noodle with the text).

Like with any writing tool, you’ll improve with practice. Don’t give up right away; try a different editor or even a different color scheme (most terminal apps let you choose colors). And don’t forget to copy your text into your normal writing tool!

Your Turn!

Have you ever tried a minimalist writing environment? How did it work? Get as detailed (or as minimalist) as you like in the comments.

Tuesday, August 23, 2016 2 comments

Weekend of Woof

Our weekend began well enough, until Mason… shall we say, displayed symptoms of a 24-hour stomach virus starting late Friday evening. The fun went on a little while through the night, then settled down. Saturday went well—Mason bounced right back well before lunch, and was playing outside. I managed to get the lawn mowed, and started editing Blink on a paper copy.

Call it the eye of the hurricane.

Source: oversharing.tmi
Sunday late afternoon/early evening, the wife started feeling pretty rotten, and I was about three hours behind her. “I meant to tell Daughter Dearest to bring up that medicine,” she said.

“We’ve got Pepto here,” I replied.

“That won’t work.”

Be that as it may, I figured it wouldn’t make things worse, and took a couple tablespoons when I started feeling queasy. It seemed to work for me; I only had MGV (Merde Gran Vitesse) to deal with. I skipped supper, and slept very lightly, but I slept. Unfortunately, the “lightly” part meant I woke up whenever the wife ran for the bathroom, which happened several times through the night. Thankfully, Charlie slept through the night. One less thing to worry about.

Monday morning came. Sizzle came up to watch Charlie, while I felt human enough to take Mason to school. On the way home, I picked up a bunch of Powerade. My first act upon returning home was to email work and tell them I wouldn’t be coming in. I poked at a couple things online, sipping at a tall glass of Powerade, then got back in bed and stayed there until about 2:30pm. By then, I felt quite a bit better—even though I’d skipped three meals in a row for the first time in, like, forever. Wife was past it as well, although she was debilitated and most likely dehydrated. I spent the rest of the afternoon finishing a paper edit of Blink, and plying the wife with fluids.

By supper time, I felt more hungry than crampy, and decided to have a sandwich. It gave me no problem, which was good, but I was ready to sack it again by 10:30. That was good, because Charlie woke up at 6:15 this morning. I got him a diaper change and bottle, and he went right back to sleep right when Mason got up (also a little early). So we got him off to school, and me back to work. Wife is still a little tired this evening, but is otherwise recovering well.

I sure hope Charlie avoids getting it. Nobody should have to go through this, but that goes double for a baby. Besides, this stomach virus already violated the Interspecies Accord by hitting more than one person in the house at a time, so it needs to leave the rugrat alone.

Friday, August 19, 2016 7 comments

A Titanic Change (#FridayFlash)

"Untergang der Titanic",
by Willy Stöwer, from Wikimedia Commons
September 11, 1931

There is a running joke about using a time machine to go kill your grandfather. I mean to save mine.

April 17, 1912 saw one of the greatest maritime disasters in history. Everyone knows about it: the Titanic, having first dodged a near-collision with another liner as it left port in England, then surviving a brush with an iceberg, came into New York harbor at full steam. It ran aground and capsized. There were few survivors.

I saw the disaster, and nearly did not live to tell of it. I was part of a great crowd, gathered to see the marvelous ship arrive safe in port. Safe! My grandfather, who had retired from the steamer lines, insisted on bringing me to see. I was glad to come, if only to escape school for a day. I remember it was a chilly day, and I was glad for my new jacket.

“The finest ship built by the hand of man,” Grandfather told me as we first caught sight of the proud liner, entering the harbor. “A pity we didn’t come sooner,” he said, waving at the crowded pier.

“You think we could board it?” I asked, every inch the wide-eyed innocent.

“If we can find a man I know—hoo, she’s comin’ in fast. The captain better be going full-reverse—ho!” A tugboat turned hard a-port to avoid the speeding Titanic. “We best get back!”

Too late—the spectators crowding the pier realized the danger as well, and we were swept up in the panicking mob. I stumbled, but Grandfather was there to snatch me up, and we joined the jostling throng. The horrors of that morning are still etched on my memory, and I need only close my eyes to see them once again. Looking over Grandfather’s shoulder, unable to turn away, I saw it all. Smoke poured from the funnels, the mighty engines at full throttle to the last. I saw passengers on deck, fighting to board lifeboats, falling or jumping overboard into the murky waters of the harbor. Terrified faces in the crowd all around me, screaming and cursing. I saw a young woman fall with a shriek, and others running over the place she fell. Though I watched, I never saw her get back up.

I had little time to think There I would be, if not for Grandfather, because the crowning horror now unfolded. With a screeching and tearing noise even louder than the voices around me, the doomed Titanic ran aground. I saw the hull crumple beneath the weight of the ship above it, but its immense momentum carried it forward, forward, up and out of Poseidon’s realm and onto the land from whence it came. I saw passengers, clustered around the now-useless lifeboats, scatter across the deck in all directions.

“It’s falling our way!” I shouted to Grandfather. But others heard, and foolishly paused in their flight to look behind them. Some stood stock-still, dooming themselves double if such a thing were possible. Grandfather bulled our way past several stricken refugees, knocking one or two aside to gain more distance. With the groan of a ravenous monster, the beached ship heeled over, its shadow racing far faster than the tiny morsels trying to escape its hunger.

Grandfather pushed on, trying to get clear, as the hull loomed ever nearer. Even as a child, I knew that getting clear of the hull itself would not be enough—the superstructure would tear free and crush anyone beneath. And for those unfortunate enough to be in the path of the funnels, even the most legendary runners could not escape their fate. But he drove himself onward, although by now he must have been frightfully tired with the added burden of myself.

I recall only snatches of the end. The cries of despair from those behind us, terrified screams as more would-be escapees stumbled and fell from fatigue or over the feet of others around them, the hull and superstructure looming above. There were things falling from the deck—chairs, lifeboats, people, detritus—striking down those behind us. I remember hearing Grandfather’s last words, Ah, shit! and how he flung me forward, giving me all his momentum in his last second of life. The thunder that went on and on, the blast of air flinging me onward. I try not to think about what flew around and past me in that moment.

When I hit the ground, I tumbled like a rag doll, coming to rest at last with a broken arm and more bruises than I could count. (This I only learned later, waking up in a hospital with my frantic mother at my side.)

It was only later that the public learned of the telegraph operator, staying at his post until the last, telling any who had a radio of the cause of the disaster. I cared little, and care little still. Nineteen years have passed, and at long last I am in a position to prevent it. Unbeknownst to the crew, I have made a tiny adjustment in the rudder trim. The Titanic shall strike the iceberg more than a glancing blow, crippling the doomed liner, and its passengers shall be picked up and brought home safely. How many men have saved thousands of lives at a single stroke? I am already a hero, though none may know.

Grandfather, I shall see you soon.

Tuesday, August 16, 2016 3 comments

CreateSpace Cover Calculator (Tech Tuesday)

To be honest, I’m surprised that CreateSpace doesn’t have something like this on their own site already. Any time you want to publish a paperback with CreateSpace, you need to include a cover (or pay them to make one for you). The DIY guidelines include a formula for calculating spine width, based on the number of pages and what kind of paper you’re using. But even if you’re decent at math, and I am, it can be nerve-wracking enough to double-check and check those measurements again.

Now if there was a way you could feed your page size, number of pages, and paper type to a calculator and get a no-sweat measurement that you could use for that cover…


Oh. Just look to the right. Over there in the sidebar. I’m no JavaScript whiz, but I had a clear idea of what I wanted to do and there’s plenty of information online. I had the thing going in not much time, which surprises me all the more that CreateSpace hasn’t done it. It’s been around for a month or so now, but I figured it was a good topic for Tech Tuesday.

The “Page size” dropdown lets you choose from all the standard CreateSpace sizes, plus a “Spine Only” selection if you’re using a custom page size. The widget automatically adds the 1/8" bleed to all four sides of your cover, expands to show the results, and collapses again if you click Reset. The rest of it should be self-explanatory.

Feel free to drop by and use the widget any time you need to calculate a cover. If you want your own copy, that’s fine, too. I released it under a Creative Commons attribution/share-alike license, which means give me credit and pass your changes on so all indies can benefit. Then again, I’m not sure what else it might need… except maybe a way to select Lightning Source.

Sunday, August 14, 2016 3 comments

The Great Closet Purge of 2016

I’ve been saying for a while now that I need to get clothes I don’t/can’t wear out of the closet to take to Goodwill. Well, today the wife took Mason to see The Secret Life of Pets, leaving me with Charlie. The baby was ready for his nap, but wasn’t about to go to sleep while Mason was making noise and doing amusing things… but it took less than 10 minutes to put him down once they left. With him asleep, and me alone and stuck in the manor, I decided this would be a good time to tackle that closet.

Now I figured to purge enough clothes to fit in one bag, then I could run by the Goodwill dropoff after dropping Mason off at school. But the Great Closet Purge of 2016 had other ideas. After taking a third of the old shirts out, I already had two stacks and wasn't even half done with the closet. Next came the pants; over half of those had to go, but I found 8 or 9 pairs I could wear and didn’t know I had. Finally, the sweaters and miscellaneous stuff on the floor. I ended up with four stacks, plus a separate pile for rags. Then Charlie woke up.

Note: the baby is to show scale and isn’t otherwise part of the purge.
Somehow, I don’t think I‘ll get all that into the Miata with room left over to carry Mason and his bookbag. Besides, I have to purge my dresser as well…

Monday, August 08, 2016 3 comments

Lucky 7 (Months)

Hey, put your finger in here…
Charlie’s 7 months old today. As you can see, he has been cutting teeth for a while. This of course is accompanied by the usual “chew on anything kind of soft” thing that babies do. If you give him a finger, he’ll s-l-o-w-l-y pull it up to his mouth, touch it to his teeth, then start applying pressure. And those teeth are sharp. At least he gives you plenty of warning.

He’s not sitting by himself or crawling just yet, but I can no longer drop him on my bed between two pillows and expect him to stay put. Saturday afternoon, he wriggled out from between the pillows (in his sleep) then flipped over while I took care of some laundry. Fortunately, he didn’t go any farther. Now I know I can’t get away with doing that anymore.

We’re converting the wife’s office, a tiny bedroom really, into his room. That entails moving a bunch of furniture around, as always. Mason’s big enough to help now, which should make life a little easier. The office stuff will go into the corner of the living room where Charlie’s bed (and some other stuff) is now.

Diamond sword something something creeper…
His surrogate big brother Mason is obsessed with Minecraft these days, but he’ll always make room for Charlie to sit and watch. Mason’s always ready to clown around for Charlie, who always appreciates his antics and weird noises.

Charlie, of course, has a bit of clown-sense of his own. Sometimes when I'm giving him a bottle, he'll catch my eye, grin around the nipple, and go “hee heeeee.” That cracks me up, which gets him going, and it turns into a positive feedback loop. Usually, when he does that, he’s had enough bottle anyway.

Stay tuned… always something weird around FAR Manor.

Tuesday, August 02, 2016 No comments

Tech Tuesday: Getting Your Outline into Scrivener (pt 2)

In last week’s post, we saw how you can import an OPML outline directly into Scrivener. For those of us who use an outliner for more than the barest-bones plotting, it’s rather limiting. Fortunately, Scrivener has another way to import. It requires an extra step, but Tines (the console-mode outliner I use and maintain) can do the work.

So let’s go…

No Extensions Required

OPML entries have a type attribute associated with them. The standard deliberately leaves the content of type undefined, except it’s some kind of text to describe the entry.

Tines supports two type definitions: "todo," to give an entry a checkbox, and "text" to mark entries as content (non-text entries are assumed to be headings). Tines assigns the F3 key to toggle between text and heading types. A lowercase t to the left of the bullet gives a visual indication. So now, let’s add some more info to the first scene:

Nothing like a little slapstick to start a story, huh?
Note the t at the beginning of each entry under Scene 1. Those are text entries. Other entries will become documents in Scrivener.

Now here’s where the magic happens. In Tines 1.10, there’s an Export->XSLT function that allows exporting through xsltproc. Since OPML and Tines’s native hnb format are XML files, it’s easy to convert them to just about anything. Press ESC to bring up the menu, and go to the File menu…

Changes to the look and feel are due to experiments with the configuration.

Scroll down to Export->XSLT, press Return, then press M at the next prompt to choose Markdown. When prompted, enter a name for the Markdown file (I used storymap.md). If you want, have a look at the Markdown file to see how it does things—a # character at the beginning of a line is a heading, and the number of # characters says what level heading it is. Other lines are body text. Easy, huh?

Now let’s load it into Scrivener. There’s two ways to do that.

Import and Split

I don’t really recommend using File→Import→Import and Split. It works as advertised, importing your Markdown file and splitting it up, but it doesn’t build a hierarchy. It might be useful for importing an outlined chapter into an existing project.


Import as MultiMarkdown

MultiMarkdown is, as one might guess, an extended version of Markdown. Since it’s an extension, you can import plain Markdown as MultiMarkdown without a problem. So try File→Import→MultiMarkdown File instead. Here’s how it looks:


Now this looks pretty close to what we want! Everything is in a nice hierarchy, content is content, and we’re ready to get the story knocked out.

Until next time… keep writing, and keep geeking!

Monday, August 01, 2016 1 comment

Giggle Fits

Yesterday afternoon, after a lawn-mowing session, followed by some fixes and improvements to Mason’s slide and climbing wall, Rosie the Boston Terrible was moaning and woofing at the thunder coming in. Charlie thought that was highly amusing, but that was nothing compared to when I started making fake thunder noises myself.




I thought *I* was easily amused.

Tuesday, July 26, 2016 1 comment

Tech Tuesday: Getting Your Outline into Scrivener (pt 1)

Part 1 of a two-part series

I’m a pantser by nature. I like to get the story started, then let the characters tell me what happens. But that doesn’t always work. Sometimes, in the heat of composition, you get ideas for side-stories, sequels, and completely different worlds. You can sometimes placate the plot bunnies by giving them a little attention, taking down a few notes and promising to come back when the story at hand is done. Of course, an outliner is one of the best ways to organize notes and plot a story—in the 8-bit pre-DOS days, an early vendor was pleased to call their offering an “idea processor” (and an outfit called Axon uses that label for their mind-mapping tool today).

Scrivener’s Binder pane can be used as a crude outliner. But when you’re trying to bang down some ideas before you forget them (or get distracted by a family member), you want the speed and smooth operation that you get from a dedicated outliner or mind-mapping tool1.

Fortunately, most outliners and mind-mappers support OPML (Outline Processor Markup Language), a very simple XML document type—and so does Scrivener, at least for import. So you can knock out your outline in your favorite outliner or mind-mapper, export as OPML, and pull it right into a new Scrivener project with the hierarchy in place.

Tweaking Scrivener

Before you import, though, you should review Scrivener’s OPML Import settings to make sure they’ll work the way you want. Open Scrivener’s preferences and follow the red numbers:

There’s not much to change. Creating a folder is needed only if you’re importing notes rather than your story line. If you have a “root” entry, with everything else as a lower-level entry, then you already get what amounts to a new folder.

Dealing with notes may or may not be an issue for you. The commercial OmniOutliner added a “note” extension to OPML, for reasons unknown to me, and other outliners (including Tines) now include at least token support for it. Creating a note, and telling Scrivener to import them into the main text of each document, is the only way to pull in content (other than chapter and scene names) using OPML import. Other options are to put notes only in the synopsis, or add them to document notes.

Pulling It In

Maybe an example would help. Thus, a generic story called The Importing, a slightly filled in outline (Trevor McPherson’s StoryMap for Freemind, converted to OPML for this job). I added a note to the first scene in Tines, using an experimental OPML-centric configuration file:


The note content is at the bottom of the screen. Internally, notes use a _note attribute, in parallel with the entry text. Imported into Scrivener, we get something that looks like this:


As you can see, every entry in the outline becomes a document. Notes are extremely limited for writers who want to put in more than one line of content in a scene. I don’t know about anyone else, but I often want to add bits of dialogue, maybe some descriptions of the setting, who’s making an appearance, how the scene wraps up… you get the idea.

Fortunately, there’s another way to get your outline into Scrivener, one that lets you include all the content you feel like adding in the outliner. We’ll take a look in Part 2.


1Think of a mind-mapping tool as a graphical version of an outliner. Each entry is a bubble, centered around a root entry, and can be arranged to suit your needs. Freemind is an open-source example, and runs on all platforms (needs Java though).

Saturday, July 16, 2016 2 comments

Going Court-ing

You can sleep through your own hearing
when you’re a baby. ;-)
We had another hearing with Charlie on Thursday. Big V had dropped her Motion to Intervene a week prior, so it was fairly routine. (Big V tried telling us we didn’t have to show up at the hearing, but… uh, we decided to verify that one, skipping right past the trust part.)

This went pretty routinely. Splat had been doing well for a while, living with the father in law and helping on the farm. I had taken him to Gainesville for a drug test in late May, and he was clean and green—splitting up with Badger Boobs helped with that. Thus, he had been seeing Charlie pretty regularly.

All that changed about two weeks ago. Wife took him to the Social Security office to replace his card, and then to the DMV to replace his driver’s license… and he hasn’t been seen since. There was some talk about him getting back together with BB, but she’s in the clink for a probation violation. He had expressed some interest in getting into rehab, but that seems to have gone by the wayside. On the upside, he’s working for a landscaping company. The Boy tells us Splat has been working very long hours, and comes “home” (for whatever “home” he has at the moment) exhausted. Such is the power of the Book of Face, a book I’ve managed to not delve into much as yet.

Some of this came out during the hearing, some when I talked with The Boy Thursday evening when they came to get Mason for the weekend. (Did I mention that he’s back with his wife, and they’re expecting a girl in late September? Yay, another grandkid! At least we won’t be raising that one, we’ve got our hands full as it is.)

But I digress. DFACS is happy with how we’re taking care of the little butterball. :-) As the picture above shows, he slept through the whole hearing. He’s been congested since last weekend, and that’s been rough on all of us. Fortunately, he’s showing signs of getting past it, and I managed to sleep the last couple nights even if the wife didn’t. I’ll take tonight’s shift, if necessary. But even at his worst, he tried really hard to be good-natured.

On the other hand, DFACS is still probing Big V’s ability to take care of Skylar. It isn’t helping her cause that she let Splat stay with her for a while (bad news, letting a known druggie in the house when you have custody of a rugrat… even if Skylar is said druggie’s rugrat, and he hasn’t been using recently). But the judge asked DFACS to train us to recognize when someone is high on their happy-juice of choice, so we’ll be learning some interesting stuff soon. At one point, someone asked if we wanted to let Splat stay with us… the judge said, “I’m seeing a ‘no’ from both of them.” (We hadn’t been sworn in or anything, but she saw us shaking our heads out in the peanut gallery.)

It’s heartening to know there’s plenty of backup available if we get into some kind of health issue… first Daughter Dearest, then BB’s family, are willing to take Charlie if we’re incapacitated. Although as much as Charlie sees FAR Manor as home, they might have to move here.

Saturday, July 09, 2016 4 comments

Charlie at Six (Months)

He’s a little behind, which is to be expected given his not-so-stellar origin story, but he’s catching up quick. He’s quite the chubby baby these days… and happy!

Jiggle his leg. Gets a grin out of him every time.

Look Granddad, I'm multitasking!
In the last week or so, he has mastered the trick of rolling onto his back. I find him in bed that way most mornings now, either playing with his feet and chattering quietly, or grumbling about the slow service around the manor. He still makes that growling noise, sometimes in two notes at once (sounds like a sixth, not terribly melodious), and it can either mean “I’m content” or “I need some attention over here!” depending on context. But he’s added singing to the mix, especially when he’s ready for a nap. (But that going down for a nap thing requires at least a token nip at the bottle.)

He’s not much for toys just yet. He much prefers people… I think because they do stuff without him making it happen. Playing with his feet—or at least one foot—is something he does often, though. The pediatrician asked, “does he pull it up to his mouth?” and the wife replied, “his legs are too fat for that.” Mostly true.

He’s kind of lazy, though. He likes to slouch with shoulders slumped when we sit or stand him up. We have to press on his back to get him straight. Someone made a scary noise that sounded like “scoliosis,” but he’s Bonnie Common Charlie, not King Richard III. :-P His legs are strong enough to hold all his weight now, which is good, and he’ll scramble up to a crawl position when we put him on his stomach. (He hasn’t mastered forward propulsion, though, still scooting backwards.)

Play time!
Mason, meanwhile, has really gotten into the surrogate big brother thing. Charlie absolutely loves it when Mason capers around and makes weird noises. I’ve never heard a baby laugh the way Charlie laughs when Mason’s playing with him, a soft “haw haw haw haw” with shoulders shaking.

As for Mason, asking him to play with Charlie is the easiest way to get him off the iPad for a little while. This morning, when Charlie was sitting in his bouncy seat and grumbling about nobody being around, Mason brought the iPad over and sat with him. Charlie quieted immediately and watched what Mason was doing. Now if Mason’s own babyhood is any guide to the future, we can expect to see Charlie soon wanting to “help” by bopping the screen at an inopportune moment…

Tuesday, June 21, 2016 2 comments

Troubleshooting 101 (Tech Tuesday)

Back at the manor for a couple of days, but I’ll be heading out this morning.

While I was at Mom’s the last couple of weeks, we kept in touch using both the phone and FaceTime. One day, the wife said, “The dryer’s stopped working. It runs, but it doesn’t get the clothes dry. I think the heating element is fried.”

I might be a slow learner, but I can learn. As I said once, there’s no wasted time like time wasted unnecessarily in a chicken house. After replacing a furnace that was actually a thermostat problem, and checking a motor when it was really a switch, I have learned to be extremely wary of her “go directly to the most expensive and/or complicated fix” methodology.



“Have you checked the dryer vent and the ducts?” I asked.

“No, but that’s not the problem, the clothes aren’t getting hot.”

Whatever, I thought, but agreed to have a look when I got home. I didn’t actually get to it until yesterday, but that’s pretty typical. I pulled the dryer back, got the vacuum, and got up an inch of dust behind and under the dryer, then checked the exhaust. It was clear, as was the duct, and I started thinking the wife might have gotten one right.

But as often happens around here, I got yanked off that project to take care of something she wanted done―namely, replacing the furnace filters up in the attic. We have washable filters, so I pulled them out and she agreed to hose them off while I got a nut driver and took the back of the dryer off. But before I found the nut driver, I got interrupted again: “I need a pair of needle-nose pliers,” she called. Figuring she found something in the filter that she couldn’t get hold of, I started looking for them. But before I found them, she called again: “put a Phillips bit on the drill and bring it!”

I couldn’t find the drill, because Daughter Dearest has it down at her place. I grabbed a regular old hand-powered screwdriver and went to her. Turned out she looked up at the dryer vent while hosing off the filter, and took a peek inside. There was about six inches (15cm) of fiber & lint clogging up the vent. We pulled that out, I threw a load in the dryer, and it’s working again.

Troubleshooting 101: check the easy stuff first. Even if it doesn’t fix the problem right away, it doesn’t take long to check. You might not need a new computer, just clean up the old one. Word might not be the problem―strike that, it usually is, the easy fix is using something else. The noise on the phone line might be fixable by tightening the screws at the network interface box. Save yourself a lot of grief and expense, and check the easy stuff first. You can bet a professional repair person will.

Tuesday, June 14, 2016 2 comments

A Salted Battery, Golf Cart Edition

Things have been going mostly pretty well here for now. I’m working remote, there’s plenty of stuff to keep Mom and me occupied after work, and we have dealt with most of the little things and all the bigger ones.

Mom’s electric golf cart has been acting up for a while now. First, there was the “wouldn’t run” issue that somehow cleared itself last year. But it was still giving trouble, bogging on hills and even cutting out for a few seconds at a time. So before we came up, she got on the phone with some friends. Wicked Stepfather had parked the cart in the garage for the winter, figuring it would be less moist there.

Here’s where the fun begins. They couldn’t get the thing to go at all. One of the brilliant folks, missing the power cord sticking out below the driver’s seat, put a car battery charger on one of the batteries (it has six). Here’s the fun part: they’re 8V batteries. OOPS They couldn’t get it to go (gee, I wonder why) and ended up pushing it down the hill and into its garagelet around the back of the house.

So we got there, I plugged it in to charge up. Still nothing. I figured the batteries were shot, a pretty good guess because they were the original batteries and the cart is six years old. So I lifted the seat to get the capacity and any other information that would help us get replacements… and when I shone a trouble light down the side, I saw the disconnected positive cable. Wicked Stepfather had wisely disconnected it last year to cut down on battery drain over the winter.

Ooooooookaaaaayyyyyyy. I hooked that back up, plugged the charger in, and the cart rewarded us with motion, hooray! But it was still bogging and cutting out. The battery that had been abused with a car charger had boiled out most of its water, so we added about a quart to get it back up to scratch. That helped with the cutting-out part, but not completely, and it was still bogging on hills.

Out with the old…
So since the Sam’s in Johnson City (about 50 miles away) carried them, we decided to add that to Mom’s list of stuff. Six batteries, $100 apiece. Yay. We got them home, and I brought the cart up top so we only had to carry the batteries 10 feet or so. These suckers weigh about 50 lbs (22-23kg) apiece, so I had a good time getting the oldies out of the cart. But with them out of the way, Mom took the other end of each battery and helped me get them into position.

This is when the next thing happened: the new batteries have their terminals spaced closer together than the old ones. That means there was about an inch more distance between terminals on adjacent batteries. Since they’re connected in series (six 8V batteries = 48V), and the connecting cables had little to no slack, they were about an inch too short. The long one, connecting the two rows, was okay, so we just needed four short cables.

Undaunted, we called Lowe’s. They had 18-inch (450mm) battery cables for riding lawn mowers and ring terminals. Since half the length would be more than sufficient, I figured to cut the cables in two and make four out of two. It turned out the cables were about half as thick as the originals, so I bought a second pair and doubled them up.

Double, double, less chance for trouble?
Wicked Stepfather has a little workbench space in the storage room behind where the cart goes. He didn’t have a crimp tool that would handle 4-gauge terminals, but he had a bench vise and that was sufficient. It didn’t take long to cut, strip, and crimp them all. I brought them back upstairs and made the connections.

Finally, it was time to plug it in to charge. I was glad the cart was outside, just in case something caught fire. Fortunately, that wasn’t an issue. So yesterday, I took it on a shakedown cruise. It pulled the hills without any problem, never cut out, and is working just fine in general. After the cruise, I touched the cables—not even slightly warm.

So that pretty much wraps up all the maintenance kind of stuff that Mom couldn’t handle on her own. The lawn mower started on the second pull after two years, which makes me think Wicked Stepfather put preservative in the gas. We made pizza yesterday and had guests over, and that went well.

Looks like I’ll be going back to the manor for a few days next weekend. I’ll come back Monday (since I took the second half of June for vacation), spend maybe another week here, then Mom will spread her wings or something like that. Maybe she’s flying up north or something. I’ll figure it out. I miss the wife, Charlie, and Mason (and DD, who has been married two weeks now), but not much of anything else.

Tuesday, June 07, 2016 3 comments

Tines 1.10 (Tech Tuesday)

Friday night, after a few rounds of testing, I decided Tines 1.10 was ready to go and uploaded the source code.

Tines is primarily an outliner, but has functions that make it useful as a planner, organizer, and notebook as well. The code is based on hnb (Hierarchical NoteBook), which I used quite a bit 10 years ago. It runs in a console (terminal, shell, what-have-you)—so it’s plain-text all the way. It can be customized every which way by editing a configuration file, so you can pretty much have everything but a graphical interface. :-) I kept trying different outliners, and kept coming back to hnb because I could make it work exactly the way I wanted.

I mostly lost track of hnb 8 or 9 years ago, after getting a new MacBook Pro at work. The Pro came with OmniOutliner, a very popular MacOS outliner, and I started using it. Then when I got pushed onto a Dozebox, I didn’t have a decent outliner and basically gave up. But late last year, I started looking for a decent outliner to use for both work and personal writing projects. Given that there’s a well-known interchange format for outliners, OPML, having the exact same outliner on all three platforms isn’t a necessity. But I remembered hnb and decided to give it another try.

Technology moves on, and hnb compiled okay, but crashed immediately when starting. I hadn't messed with C code much in years, but it came back to me quick enough. Looking at the source code, I realized it was using 32-bit integers for pointers and modern computers use 64-bit pointers. After fixing all those, it had it running again. I posted to the mailing list on SourceForge and offered patches. One correspondent pointed out that mine was the first legitimate post on the mailing list in years, and suggested I just fork the code and take it over. As if I wasn’t crazy-piled with projects already… but I did it. Thus was Tines born. And Charlie moved into FAR Manor not three weeks later.

Enough of that… what’s it like?

The screen shot here should give you a pretty good idea what Tines looks like. It uses color where available, so it’s not completely boring. It doesn’t use the mouse (yet), but it has menus, function keys, and highlighting.

If you don’t specify a file, Tines opens its “default database” (specifically, .tines in your home directory on OSX and Linux). This is handy for brainstorming stuff, keeping notes and other useful tidbits, or using Tines as a planner. It can import OPML files, save all or part of an outline as OPML, and works with several other file formats. But you can open hnb files (the native format), OPML files, and tab-indented plaintext files as well.

You can use the arrow keys to move around, and use keyboard shortcuts (or press ESC to open the menus) to make changes.

The Planner menu helps you set up a planner, according to David Allen’s Getting Things Done methodology. One powerful new feature in v1.10 is the today command (mapped to “Today’s Agenda” in the Planner menu). If you have set up a calendar using the Planner menu, this command jumps to the entry for today’s date and displays all the items under it. This lets you computerize your tickler file, at least for to-do items and other things that don’t require paper.

If you have a large outline, and you probably will if you keep everything in the default database, you can search for buried treasure… I mean, items that you can’t quite remember where they are. The Level menu lets you sort items in a particular level, which might be useful for notes. There’s also a “shuffle” mode, to randomly disorder items in a level. I’m not sure why you would want to use that, except it might help you to discover relationships between items, but it’s there if you need it.

All well and good—how do you use it for writing?

I’ve long been a pantser, but as I continue writing I find I like to loosely plot my projects so I don’t forget things. Plotting isn’t as fun as letting things happen, but it’s a lot less scary when you have people asking you when the next book is on the way. (And for those of you who have been patiently waiting for The Blood of Heroes, the first draft is almost done. Finally.)

But I digress. An outliner is a good way to plot out a novel or a work of non-fiction. Instead of stifling creativity, it lets you think about other creative things by capturing your thoughts about how to organize your work. I have a memory like a steel sieve, and it frankly scares the crap out of me when I depend on remembering details of the Accidental Sorcerers series—about 200,000 words total published, and more coming. The amazing thing is, I haven’t forgotten anything crucial… so far. But Tines is more than an outliner, and that means you can use it for both your outlines and your story bible without switching applications or even files.

Now here’s the fun part: you can export all or part of your database as OPML. Scrivener reads OPML files, and can create chapter folders and scene documents for each entry. It recognizes the _note attribute extension, and can (by your preference) insert those notes into either the Synopsis or the document proper. So you can add the following code to your .tinesrc (default configuration) file to edit notes:

bind ^N "macro edit_note"
macro define edit_note
 att_get _note
 getquery "Replace _note with:"
 att_set _note $query
end

Press Ctrl-N to create or edit a note. That will end up in the next release, v1.10.1, before too long.

Where do you get it, and what’s next?

Next, I plan to create packages for MacOS X and Linux. Then, I want to get it ported to MS-DOS or FreeDOS and create packages there as well.

Right now, you have to download and compile1 Tines. That certainly limits its extent, even more so than it not being readily available on Doze right now, but that too is on the list. Please give it a try, if you’re inclined, and let me know how it works!


1Compile: from the Latin “com” (together), and pile (a random heap, or possibly hemorrhoids). Thus, “compile” means either “throw things together in a random heap” or “a multifaceted pain in the ass.”

Do you use an outliner? How? Sound off in the comments!

Sunday, June 05, 2016 4 comments

Nerd Month!

For all of June, I’m the quintessential nerd: living in Mom’s basement. You probably know about Mom’s summer house in the mountains of North Carolina; I’m sure I’ve mentioned it before. With Wicked Stepfather’s abrupt shuffling off of the mortal coil in spring (he keeled over in seconds), Mom has obviously had to make some adjustments. She still wants to get out of the Florida heat for the summer, but wasn’t sure how she would do with distance driving because Wicked Stepfather was one of those guys who did all of that. So I agreed to come up with her, spend the first two weeks working remote, then take the next two weeks as vacation.

So far, she’s done quite well. I packed my Miata with stuff I’d need for the month (mostly electronics), and showed her the easy way to get here from FAR Manor. The GPS in her car, which famously led Wicked Stepfather at least 100 miles out of the way each time, had a snit fit most of the way up. But she kept up without any problem, and I only sandbagged a little. The route I discovered a couple years back has about one mile of really sharp curves (out of over 300 miles, most of which is four-lane now). She’s also doing most or all of the local driving now that we’re here. She has no problem, something the youngest brother Solar was worried about. There’s the question of how she ’s going to get up north (probably flying), but so far so good.

Now, for a couple pix…

First, my June dwelling. The basement, like most in hilly areas, is exposed on one side (eastern exposure, which makes sleeping late in the morning problematic). I took the TV off the cart at the back wall to make room for the computer. Mom said I’d need another set-top box down here to watch TV anyway, so it all works out well.


I put the work laptop on the little table by the window. The first couple days I was here, before the cable company set us up with Internet, I had to hike it down to the “media center,” which is right by the pool. I might do that again…


Yesterday, after a morning of yard work (I had to weed-eater the entire back yard, because it was like a meadow with all the tall weeds and flowers), we went to Blind Squirrel Brewery for lunch.


The food was good, too.


They have two disc golf courses, and I happen to have my golf discs with me, so I’ll likely head on back there once I’m on vacation the last two weeks of the month.

Monday, May 30, 2016 4 comments

Daughter Dearest Ties the Knot

And we officially begin a new chapter—both our kids are married.

Here comes the bride—get outta the WAY!
Saturday was the culmination of a lot of preparations that made everything a little crazier than usual around the free-range insane asylum, but everything went off as expected. Charlie tried to steal the show, making his contented growling noise in the back row and making DD laugh a little up at the altar.

At rehearsal, I had to carry on a tradition started by the wife’s dad. Back when, the preacher got to the part where he asks who’s giving away the bride. He answered “Her mother and I. And I got two more at home! Who wants ‘em?” So when it came to my time, I put her hand in Fizzle’s and said, “She’s all yours, buddy! Good luck!” (Of course, neither of us did that at the actual ceremony.)

So now it’s time to rename Fizzle, since he’s no longer the Future Son In Law. +Katherine Hajar suggested “Sizzle.” And why not? Sizzle it is!

And tomorrow, I’m off to NC with Mom. For the whole month. Once she gets her cable modem activated, I’ll resume regular blogging.

Friday, May 27, 2016 3 comments

Stiletto’s Getaway (#FridayFlash)

This runs a bit longer than a flash should—just short of 1300 words—but it’s part of a larger work in progress (16K words and counting). Stiletto has a bit part in Blink’s story, being serialized at WriteOn now, but she’s the main character in this one. This takes place the winter before Blink manifested…



A jet-black rocket on two wheels glided over the streets of Skyscraper City. What little noise it made was drowned out by the roaring and wailing of three police cars in hot pursuit. The bike had no lights; the rider had a night vision display to show her where to go.

“A little tighter than I’d have liked,” Stiletto muttered to herself, snapping the motorcycle around a corner. The back end stepped out, but Stiletto knew to stay on the throttle and the bike jerked upright with a little wiggle. Pegging the throttle out of the turn, she thumbed the voice command switch. “Deploy caltrops.” Above the soft thrum of the engine, she heard the caltrops rattle onto the street behind her. The cops would have to slow down for the turn as well, and so they wouldn’t plow into a wall when their tires went down. Stiletto would kill only if she had no other choice.

Behind her, the lead cop car went into a skid and the other two braked hard, giving Stiletto some breathing room. “Now they’ll call for backup.” Captain Heroic was retired, it was too cold for No Sweat to do his thing this time of year, and the Masked Warriors never did this kind of pursuit. That left the Devis and Count Boris to worry about… but she was almost home free. She blew through a red light, swerving to miss the delivery truck lumbering through the intersection, then took a left at the next block. Two blocks down, she took another left and slowed enough to keep the traffic surveillance cameras from tripping and giving away her position.

A supervillain had to know exactly where she was at all times, and Stiletto was no exception. Twelve blocks would get her to the bridge and then to Riverside North, where she had her lair. And her home. Cops feared to tread those streets at night, but things were more orderly than they thought. That, of course, was largely due to Stiletto. She had put the word out to the gangs long ago: Don’t recruit kids, don’t sell drugs down here, and don’t involve bystanders in your wars. After making examples out of a few non-believers… well, it was a pretty safe place for everyone who belonged there. But between here and home was—

A cop car skidded around the corner, lights flashing. The driver hit the siren as Stiletto hit the gas. Between here and home was two blocks run by the LeFleurs mob. She had little use for mobs—white guys in suits who thought that made them superior to gang-bangers—but they might be good for a little distraction. Behind her, three more cop cars joined the renewed chase. Good. That should make it a fair fight. “Side guns,” she commanded. “Rubber bullets.” The weaponry clicked into place.

A hard right, a left, and now she was in position. “Fire!” The automatic weapons pumped rubber bullets into storefront windows, shattering them and setting off alarms. Mobsters on watch, hearing gunshots and police sirens, responded immediately. Focusing on the traditional enemy, they barely noticed the black motorcycle without lights. A few bullets spanged off her fairing, spending themselves against brick walls and pavement.

In turn, the cop cars skidded to a halt. Cops poured out the lee side of each, returning fire. “Now they have something else to think about,” said Stiletto, with a satisfied smile. “Disarm all,” she told her bike, slowing to a legal speed. “Let’s go home.”

At an abandoned factory along the riverfront, Stiletto ran her motorcycle up a loading ramp. A narrow door swung open long enough for her to shoot through it. She rolled between two sets of uprights; as she shut the bike down and raised the cowling, the uprights came together, clamping the wheels. The entire thing turned around, facing the door for her next caper. This was Stiletto’s hideout, and it was more comfortable inside than it looked. Some dumbass yuppies had tried to gentrify this part of Riverside back thirty years ago, and ended up running back to the white side of town. She owned this building outright, through a few shell corporations, and the defenses kept druggies out.

City Loan, a notorious payday lender with hidden ties to Grimes Financial, had lost about two hundred thirty thousand bucks tonight. They would get half of it back soon enough; she knew several families who were about to have their loans paid in full. The rest would give her secret identity a little free time. “Yeah, you deserve it hon, havin’ to put up with Stiletto most weekends,” she told herself. But for now, all but a couple hundred went into the hidden safe along with her costume.

Dressed in street clothes, she used a pair of night vision goggles to check the perimeter. Nobody nearby. She locked up and emerged into the night.

A few blocks from her apartment—another failed gentrification attempt—she paused. She knew the snick of a switchblade, the click of a revolver’s hammer, the chick-chick of a cocked semi-auto, every sound of every weapon you might find down here. But this was more of a tock sound, like someone doing a really loud tongue-click.

What the hell? she thought. It was pitch-dark here, so she felt no need to hide. Anyone coming for her would be just as blind as she was right now. She put a hand on her own switchblade.

Tock, came the noise again, rattling up and down the street. “Busy night, hon?”

“You could say that,” Stiletto blurted, expecting neither the kindly question nor the woman’s voice behind it. She always tried to put her villain identity away with her costume, but all her mental alarms were blaring. Just another lady, she tried to convince herself.

“Easy, now. You got nothin’ to fear from me,” the voice came again. “I know where you go and what you do. Doesn’t matter to me.”

Snick. Stiletto brought out the switchblade without thinking about it. “Who are you?” she demanded.

“The phantom who sees in the night.” The woman—whoever she was—pitched her voice to make it sound spooky, then chuckled. “You might want to go around one block. The Three-Knees are hangin’ out up the way you usually go. Young woman, walkin’ by herself? Could be trouble.”

“What… this ain’t their hood.” Theirs was Third Street Northeast; they used 3NE as their tag. Calling them “Three-Knee” to their faces would get a violent response.

“Don’t matter. They’re there. And they don’t quite understand how things are done down here.”

“Yeah.” Stiletto worked by cutting one of the violators out of the herd; she couldn’t take on a whole gang by herself. “Thanks for the warning, uh…”

“Don’t matter who I am,” came the answer. “Some things are gone and not forgotten. Other things… well, you ride your ride, hon. I’ll ride mine.” And the presence was gone. Somehow, Stiletto could sense that.

“No. Way,” she whispered to herself. Her aunts had brought her up on stories of the Night Stalker. The phantom who sees in the night, she thought with a chill. It couldn’t be the real Night Stalker; if she was even alive, she had to be pushing eighty. But you heard things, and not all of them were from superstitious old folks. Women and children, warned of danger up ahead in a hood where most of the streetlights never worked. Or rescued. Not all the peace in Riverside North was Stiletto’s doing, when it came down to it.

She took the recommended detour, chewing over the woman’s riddle. Some things are gone and not forgotten. Other things… “are forgotten and not gone?” she asked herself. “Was there really a Night Stalker?”

Tuesday, May 24, 2016 4 comments

Mason Says Farewell to Kindergarten

Mason’s first year of school is drawing to a close. Yesterday, the kindergarten classes had their “graduation” ceremony.

In which Mason gets a hug, from the principal of the thing. :-P

He has made quite a few strides this year. He reads now, and he’s always been good with numbers. He doesn’t know it just yet, but he has a couple of graduation “presents” waiting for him tonight: his own writing/drawing journal, and the second Dragonbreath book. He always complains when packages arrive from Amazon and they’re not for him… at least the one coming in today is partly for him.

Wife’s birthday is tomorrow, Mason’s last day of school is Friday, DD’s wedding is Saturday, and I think I missed the 11th blogiversary day for TFM. This week is going to be crazier than usual. At least Thing #1 (the graduation) is over.

Saturday, May 14, 2016 6 comments

An Upgrade

Multitasking: Charlie’s eating and sleeping all at once,
while I’m feeding him and typing one-handed!
Sun Tzu said, "the wheels of justice grind slowly, but grind exceedingly fine.”

Karma was awfully busy around FAR Manor this week, preparing for the runup to Thursday’s court hearing. Whether you believe Karma’s a b***h or not, she got awfully cranky having to work overtime on Tuesday and Wednesday.

Big V has insisted all along that she should have custody of Charles, regardless of her unwillingness to take care of herself and her fractional ability to take care of Skylar. She kind of spilled the beans at one point: what she really wants is the benefits and tax deduction she'll get for having custody, while we actually take care of him and have the expenses. The wife is already taking her and Skylar to their various appointments as it is. So she did what anyone does who doesn’t want to acknowledge reality: constructed a narrative.

Because of various things, mostly having to do with DD’s upcoming wedding, I worked at home Tuesday so Mason and Fizzle’s kids would have someone at the manor for them when they got off the bus. Thus, when Big V called, I got an earful of narrative. Most of it is pure crap, especially the part where she says we’re not allowing her to see Charles—in fact, when I had to go down there, I would take him inside to see her if he wasn’t asleep in the car seat. The crux of the matter is, we don’t let her have unsupervised visits. That’s not our doing, that was a stipulation from DFACS at the time we got him. Signed papers and everything. She seems to think that we should blow them off at her own whim, regardless of the consequences (which could involve Charlie being relocated and none of us get to see him, but Big V and rational aren’t even nodding acquaintances).

Anyway. In her rant, she said she was going to file a Motion to Intervene to get “grandparent’s rights” (which means more in some other states than on Planet Georgia). In case I never mentioned it, my mom worked for a Federal judge when I was in high school. I’ve been behind the scenes at courthouses more than most, so her waving writs at me didn’t faze me much. Seeing I wasn’t giving her much satisfaction, and was in fact poking holes in her narrative bubble, she called the wife to rant at her—and then… here’s where Karma got mad. She called Charles’s lawyer and screamed at her. Now this lawyer is a volunteer for DFACS. She teaches law as a day job. So she isn’t paid to put up with weapons-grade crap like Big V throws when she’s in one of her moods. And… she’s originally from New Jersey. Yup, Big V pissed off a New Jersey lawyer, and you know that isn’t gonna end well.

So the DFACS advocates all know each other’s business, even if they don’t always get along. Charlie’s lawyer didn’t need a whole lot of poking to learn that Big V is legally-blind, one-legged, can’t drive, and depends on us to get both her and Skylar to their various appointments. So she decided to make life difficult for Big V.

So now we come to yesterday morning. Figuring the 8:30am scheduled time wasn’t going to happen, I brought my work computer since there’s wifi in the courthouse. And indeed I was right. There was a rather large spec review, and I got through all 13 documents before they called us in. Meanwhile, Splat and BB sat with us to see Charlie. We’ve never had a problem with them visiting, although we both wish they had actually done it more than a handful of times. At one point, BB took Charlie and was making all these adoring noises. He started crying, and BB said, “here, take it” and gave him back to the wife. Yes, take “IT.” Meanwhile, Big V was off to the side, bad-mouthing us. Like we cared.

Just after 11, we finally got called in. Big V was looking all self-righteous, and got pretty steamed when she got the papers from Charlie’s lawyer. Shoulda kept your big freaking yap shut, sis. But when we got started, the judge said “we’ve got a conflict with one of the lawyers, come back at 1:30, and we’ll deal with this Motion to Intervene in July.” Seeing as neither the wife nor I had managed to grab any breakfast, we had no problem with that.

So after a nice leisurely lunch, it was “hi ho, hi ho, it’s back to court we go.” Big V was not there; since her tossed wrench got deflected for two months, I guess she couldn’t be bothered. Too bad, it would have been interesting to see her reaction. The DFACS lawyers and staff not only dug into Charlie’s case, they started laying the groundwork for Skylar’s. Meanwhile, Charlie charmed just about everyone in the courtroom—the caseworkers, the lawyers, and even the judge smiled at his “I’m content” growl1. But when Splat took the stand, it became an utter trainwreck. He really didn’t want to incriminate BB, who face-palmed a few times while he testified, but he was under oath and seemed to understand that. Finally, one of the DFACS lawyers asked, “do you want to save time and just turn custody over to [the wife and me]?” Interestingly, the judge quashed that question.

The upshot was, Splat and BB both admitted to having a serious drug problem, and they were unable to take care of Charlie (living in their car is another minor detail), and they wanted us to continue taking care of him. So now we’re officially a foster home, as opposed to a safety home. That means we get some more benefits (which is what Big V wanted for herself), Charlie now has his own insurance, and Splat & BB have nine months to clean up their act. Meanwhile, there will be scheduled visits (although our policy of “you can see him whenever you want to” is still okay), and Big V will likely get scheduled visits once her motion is considered in July. The question is, whether she’ll just be seeing Charlie, or Charlie and Skylar, by that time.

In Big V’s case, it would have been better to keep her yap shut and let everyone think she was nucking futs, than to open her mouth and remove all doubt. Meanwhile, she has killed any willingness on our parts to help her with… anything. Talk about biting the hand that feeds you.


1 He has some fairly distinct vocalizations. There’s the raspy wail for “I’m hungry,” the smooth one for “Rock me, I’m ready to sleep,” the growl that can mean “Everything is awesome” or “Pick me up NOW,” and one I can’t really describe that means “I want to go home now.”

Tuesday, May 10, 2016 5 comments

Protect Yourself from Ransomware (Tech Tuesday)

Welcome to Tech Tuesday, my new occasional column covering the nuts and bolts of writing, publishing, and keeping your tools sharp. There’s likely to be what my redoubtable co-op partner Angela Kulig calls “Finnish,” but I’ll try to keep it accessible.



You’re working away one evening, when your computer locks up and shows you something like this:

Bad news. Really bad news.
Image source: fbi.gov

Unfortunately, it’s not the plot of a bad cyberpunk novel. It recently happened to an acquaintance. Last year, I wrote about Three Ways to Crash-Proof Your Writing, and the tips are still useful. But you might need a little more caution when it comes to ransomware.

What’s Happening In There?
In short, a PC infested with ransomware establishes a connection with its operator. The PC might run normally for a while after getting infested, but at some point the ransomware begins encrypting data files with common extensions like .doc, .psd, .jpg, .zip, and so forth. When it’s done, it displays a ransom note like the one shown above. Operators usually demand Bitcoin payments, because they can’t be traced. Some ransomware allows you to decrypt a single file, thus proving they have the key, and usually give you a few days to get the Bitcoin you need to pay up. If you wait too long, the ransom goes up or the operator destroys the key (which means you're permanently hosed). Scary crap.

Unfortunately, Dropbox is not a failsafe. Ransomware encrypts everything on your hard drive, and if you have Dropbox mirrored, it nails your files there as well.

George R. R. Martin famously does his writing on an air-gapped (i.e. no network connection) PC, running WordStar on MS-DOG [sic]. While he uses WordStar for its simplicity, he also has little to fear from most stripes of malware. Such a setup works well in the traditional publishing realm, where they still prefer to start from paper drafts, but it’s not a bad idea for indies. One might balk at the expense of a second computer—but the typical ransom these days is $500, and you can get a netbook for half that. It’s not bad insurance. Remember, if you’re trying to make money at writing, this is a business. Ransomware is one more disaster to plan for.

Let’s assume that, because you have no room or money for an air-gapped computer, or need to have a browser handy for research, that’s out of the question. What else can you do? Read on…

GROW
Right now (May 2016), the most effective way to avoid ransomware is to GROW (Get Rid Of Windows). Move to MacOS, Linux, or OpenBSD if you possibly can. This is likely a temporary advantage, but it may be a couple of years before ransomware goes beyond Windows. And if the techie press breathlessly reports every minor instance of MacOS malware found in the wild, they’ll be so beside themselves over MacOS ransomware that we’ll never hear the end of it. In other words, it won’t sneak up on us. Actually, I expect iOS malware first, because iDevices are so popular.

As a possible workaround, install a virtualization tool such as VirtualBox, VMware, or Parallels and run a separate operating system inside the virtualizer for Internet access. This isn’t foolproof—ransomware can encrypt virtual drives at a stroke, if you make a mistake—but it’s a little safer.

Stay Up to Date
That should go without saying, but it’s so easy to skip those updates in the middle of a project. Sometimes, there’s good reason for that; updates have been known to hose a working PC. If you’re doing your backups, though, you should be able to revert when needed. Don’t forget to check the backups, on occasion, to make sure important data is still good.

Don’t let your virus/malware protection slide, either. Keep them updated.

Avoid Common Attack Vectors
Currently, there are several common, well-known ways malware (including ransomware) can infest your system:
  • Dodgy attachments in spam
  • Compromised ad servers
  • Websites with infectious Javascript or Flash
Thus, installing ad-blockers and Flash blockers in your browser(s) can offer protection from so-called “drive-by” attacks. Turning off Javascript, once a common trick to speed up browsing and stop useless visual effects, is making a comeback as well. Try it with your favorite websites and see if you can live without it. You can certainly live without it trying to download garbage onto your computer.

Spammers will never go away, even if there’s a special place in Hell for them. They are paying more attention to grammar these days, so you can’t always catch them out by stilted language anymore. Some spam is really phishing, attempting to get you to click a link or open an attachment that Does Not End Well For You. If you’re not expecting that payroll statement from someone you’ve never heard of, don’t open it. If your bank sends you a report about fraudulent activity about your account… it’s not really your bank. A real bank fraud department will call you, verify your identity, then go over a few transactions. (I’ve been there.) In short, don’t open attachments you aren’t expecting.

Pull a Dirty Trick
Since ransomware only encrypts files with known extensions, consider renaming crucial backup files. Instead of GreatAmericanNovel.zip, rename it with a random extension like GreatAmericanNovel.e7b. If you have a thousand photos you don’t want to lose, copy them somewhere else now. Anything your computer can’t access directly, as if it’s on your hard drive, is safe. To be honest, I’m not sure how Google Drive works with saving local copies on a computer; I do know you have to start the Drive app to get the latest onto a tablet or phone, though.

In short, the goal is keeping your computer clean. Failing that, you want to recover with as little hassle as possible. Anticipate the disaster, have a plan, and execute.

References
If you want to dig a little deeper, here’s a couple of links that might be useful:

Your Turn
Have you been clobbered by ransomware? Do you have some prevention or recovery tips? The comment section is open.

Monday, May 09, 2016 3 comments

Charlie at 4 (Months)

Time flies. You realize you haven’t blogged for a while, and more time goes by. Ideas pile up, and where do you start?

I’m happy to be here! Or just happy!
Where I left off might be a reasonable approach… so heeeerrrrrrrrreeee’s Charlie!

When you’ve raised a couple of exceptionally advanced babies, “normal” can produce anxiety. Given Charlie’s inauspicious start in life, I was starting to wonder if he was permanently damaged.

All that changed about a month ago. He’s been eating well for a while, but he kicked it up a notch and really started putting on weight—pretty close to 15 pounds now. He also started vocalizing—first with this odd growling sound he makes, sometimes with two notes at once—then recently, more normal squawks. His “feed me” and “I’m tired” sounds are pretty distinct, and he’s working on his “my diaper is wet” sound. The communication goes both ways, sort of… the wife says when he’s sitting with her, he recognizes my gait and starts looking for me. And he’ll get rather upset if I don’t stop and say hello!

He does have some odd notions of what’s funny. Jiggle his legs, pump his arms, and he’ll reward you with a big grin and a giggle. He will also give you a big smile when you lay him on the changing table—he knows that means a dry diaper is on the way. (His happy place is a dry diaper and a full belly.)

He’s a little lazy about holding his head up, though—he lets it flop forward when we’re holding him up. The wife thought he had a problem at first, but when he’s fighting sleep, he’ll push off your chest and turn his head back and forth for a good long while. Like Mason at that age, he’s trying to get by on brief catnaps through the day, then sleep all night… 9 or 10 hours. This works for me, obviously. On the other hand, he’ll fight sleep at night, some nights. Like last night. He kept going until 12:30 a.m., but then he slept past 9 this morning.

Also like Mason, he likes to be held most of the time. He’ll lay on our bed and watch the ceiling fan, but mostly he likes interaction. He’s finally big enough to sit in my sling, so maybe I can catch up on writing. Typing one-handed, while feeding a hungry baby, has been a lot slower than I like. Accidental Sorcerers #7, The Blood of Heroes, is way behind, and everything else is backed up behind it. But now that I’ve done one blog post, maybe the logjam will break. I’d really like to get four books out this year if possible… but with the year already ⅓ over, it’s going to be a challenge.

Sunday, February 07, 2016 7 comments

T + One Month…

…and counting.

Hm… am I hungry yet? It’s been six minutes…

It’s been a rough one on the wife and me, too. Mostly her, but I’ve had my share of sleep deprivation as of late.

Given his profound lack of pre-natal care, it might be best to think of Charles as a preemie even if he was carried to term. During that first week and a half, the pediatrician clucked at his inability to gain weight. She encouraged us to encourage him to eat more, and not let him sleep a whole long time in between.

An aside: I was a preemie, a month early and under five pounds. And I had a hernia that made me howl like a banshee. The docs said I had to get over six pounds before they could operate on me… and so, every time I opened my mouth my parents stuck a bottle in it. With the hernia fixed, I started sleeping through the night. DD was also a preemie, and was very much a “hold me close” baby. And so is Charles, most of the time. I’ve found recently that if I prop him up on some pillows, he’ll contemplate the universe for a little while before deciding he needs some more personal attention.

Anyway, Charles doesn't have a hernia. But we started encouraging him to eat more… and about the time he got a “gained six ounces!” report, he really took it to heart. And hasn’t stopped. One night last week, he inhaled three ounces of formula before I realized (he typically gets an ounce at a time, then gets burped). Lucky for us both, he didn’t live up to his nickname (Chuck) and give it right back.

Unfortunately, he does have some issues with gas cramps/colic. Not to mention the typical baby trick of rockin' and rollin' all night long while everyone else is trying to get some sleep. This last week has been particularly hard on us ol' farts. We’ve started taking shifts. So last night, I got up at 4:30am and staggered into the living room. “Shift change,” I said. Wife made him some formula, but also prepped a second bottle with a tea she makes for his cramping. “Give him some of this,” she said, and somehow managed to get to the bed before falling down. So I let him suck down an ounce of tea and settled back in the recliner. Sometimes, he’ll zorch out on my chest… the trick is to not zorch out myself, then see if he’ll lay in the Pack&Play. I got him down, went to bed, and heard him squawking ten minutes later.

Grumbling some things I’m glad Mason didn’t hear, I went back out, got him, and gave him another ounce of tea. Fifteen minutes later, he was out cold again. I put him back down, but this time just laid on the couch. I wasn’t comfortable in bed for some reason. But then I slept until 7am, when Mason got up. Charles slept until 9. Wife was still zorched when I left for church; she supposedly got up around 11. He had a very wet atomic diaper, and his outfit was moistened as well. Like DD, he doesn’t like to be uncovered much (unless he’s being held, then he’ll tolerate it). So I’m hoping we’ll get a break through the night really soon.

Splat and BB have started making more of an effort to see him, lately. I took him down to Big V’s today; she has griped mightily that we have him and not her, but she admitted she couldn’t take care of him anyway. Splat, BB, and a bunch of BB’s family came to see Charles as well, and BB even changed his diaper. I don’t know if that means they’re going to make a serious effort to get him back when the 45 days are up (a little over 2 weeks from now), but I hope they at least are getting the idea he’s worth the effort of making some serious lifestyle changes.

And with that, the workweek begins anew tomorrow. With the X-Files back on the air, I have a reason to look forward to Mondays. And to watch at least a little TV.

LinkWithin

Related Posts Plugin for WordPress, Blogger...