Some of us are trying to bring the fun of flash fiction back to Twitter. Here’s my contribution, inspired by Daughter Dearest’s text this morning: Walmart is empty, like nobody in the parking lot. That would be as much a sign of the zombie apocalypse as anything…
Do join us! Go to the #FlashFicFriday blog and leave your link in the collector.
Heather was alone in the unruly crowd, but she was closer to the doors now. After all the stress of the Thanksgiving family gathering, her friends Brit and Becks (aka The Bs) invited her to a party followed by Black Friday shopping. Seemed like a great idea at the time. “Maybe it’s food poisoning,” she muttered to herself. Aunt Tammy made the most god-awful side dishes, and insisted everyone get some. Not to put too fine a point on it, she felt like shit. Thank God for the crowd, she thought. It’s the only thing holding me up.
A vision of being a Black Friday statistic brought her to her senses.”Girl up,” she growled. “You’re on a mission.” Big-screen TVs were $125 at Mallet’s (“don’t go to the maul, go to Mallet’s!”) and she meant to get two—one for her, one for her cousin Whitney, the only family member she ever looked forward to seeing nowadays.
She looked at the big digital clock over the doors. 4:54 a.m., and Mallet’s would open at five. Her vision was blurry, and her mind wasn’t much better. She focused, trying to piece together what had happened. She never got hammered enough to black out. Maybe Becks was right, and that guy she had hooked up with at the party gave her a roofie. The Bs ended up carrying her to the car, after threatening the guy’s life, and drove with her window open until she came to.
Her shoulder itched, and she winced as she scratched. A memory sputtered to life: the guy had his hand in her shirt—but behind her neck, gently scratching her shoulder. It felt good, so she hadn’t made him stop. The way it felt now, he must have taken a few layers of skin off. “Some pervs have the weirdest kinks,” she said, and this time the mom in front of her glanced over her shoulder.
Plan. Focus. Get what you came for. The terrified employees lined up a bunch of carts, staggered so you could slip between them to get to the first row. The digital clock went to 4:59, then 4:59:30, then the crowd counted down the last ten seconds.
The doors slid open, the employees got the hell out of the way, and the stampede was on. Heather made the most of her solid build, pushing the mom aside, elbowing her way forward, rolling with her staggering run, letting nobody slow her down. She weaved through the carts, grabbed one in the second row as the first row sprinted into the store, and joined the mad chase.
At Electronics, she found the stack of big-screens, and shoved two onto her cart. Someone grabbed her hoodie, trying to yank her backward, and she stepped back and threw an elbow. The stout middle-aged woman grunted and staggered back, and Heather pushed the cart away from the growing melee around the TVs.
Now that she had what she wanted, her resolve and energy crashed. Slumping against the cart, she trundled to the customer service desk in the back.
“You okay?” the flack behind the counter asked. “Do I need to call 911?”
“No,” she managed to reply. “Just need to rest a couple minutes is all.” She collapsed onto the bench and knew no more.
“Hey. Hey.” Shaking. “Hey. If you’re not sick, you have to go. I’ll call 911 if you want.”
She pushed herself up with a grunt, swaying a little. The TVs were gone, so was her purse, but she had no memory of those things. She was here for…
Rrrrowlrrrrr, went her stomach. She was here to eat. And the meat standing before her was as good a start as any.
Friday, November 25, 2016 12 comments
Saturday, September 10, 2016 5 comments
Charlie on the Ball
Hmmm… cushy! |
Physically, Charlie is behind, although he’s starting to show signs of catching up. The therapist has been working on his sitting and grasping, and recommends we give him lots of “tummy time” so he’ll get the hang of crawling. (Usually, he just flips onto his back and grins.)
More fun than the flop-over game! |
I’m not concerned with his mental development. He’s always understood that when he’s hungry, and we take him in the kitchen and start mixing stuff, it means the food is on the way and he’ll stop crying and fussing unless he’s half-starved. (You can see in the pix how many meals he misses…) He vocalizes plenty, and has recently added “joyous ear-splitting screech” to his repertoire. That one he usually saves for Mason, either as a reaction to his clowning or to tell him, “Hey, do something funny!” Charlie probably won’t start talking as early as The Boy or Mason (both could say a few words well before age 1), but he could well talk before he walks.
Right now, he’s sleeping off his floor time with me. As I was up until 1am last night, and had to get up with Charlie at 7:30, I’d like to be doing the same.
Tuesday, September 06, 2016 2 comments
Lucky Seven
His favorite cake |
We had pizza in town for his birthday dinner. Most of the kids close by (including Sizzle & DD’s bunch) came to help celebrate. Last I’d heard, it was going to be at the father in law’s place, so I went straight home from work… only to find out I’d driven right past everyone in town. Grumble grumble jump back in the car and head on back.
After supper, I ran to pick up the cake you see here. This really is Mason’s favorite kind of cake; he loves blueberries, strawberries, kiwi, and Mandarin oranges, so who cares about the cake part, right? I think he had candles on his dessert pizza, so it’s all good.
The Boy & his wife came up to join the celebration, even though he has to get up at 5am for work. They bought Mason a trampoline for his birthday (oh joy), and we’ll get that this weekend or next. I guess if he has a climbing wall, he should also have a trampoline. We’ll have to find a flat spot to put it, or maybe we’ll borrow a tractor with an end-loader (aka “yooper scooper” as we called them in college) to scrape out a flat spot. The latter is more likely; level ground on Planet Georgia is usually not found in nature.
So enjoy those Wii games you got for your birthday, rugrat!
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.”
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 abandonMost 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.
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.
Call it the eye of the hurricane.
Source: oversharing.tmi |
“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 |
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.
Labels:
fiction,
scifi,
short story
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.
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…
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.
Labels:
blogging,
books,
technology,
writing
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.
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…
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. |
Monday, August 08, 2016 3 comments
Lucky 7 (Months)
Hey, put your finger in here… |
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… |
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…
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:
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…
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.
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!
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? |
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.
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.
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.
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).
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. ;-) |
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!
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.)
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…
Jiggle his leg. Gets a grin out of him every time. |
Look Granddad, I'm multitasking! |
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! |
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.
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.
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.
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.
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… |
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? |
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.
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.
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:
Press Ctrl-N to create or edit a note. That will end up in the next release, v1.10.1, before too long.
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!
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.
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.
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.
Here comes the bride—get outta the WAY! |
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?”
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?”
Subscribe to:
Posts (Atom)