Tuesday, July 26, 2016 No comments

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

Part 1 of a two-part series

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

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

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

Tweaking Scrivener

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

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

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

Pulling It In

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

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

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

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

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 No comments

Going Court-ing

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

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

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

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

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

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

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

Saturday, July 09, 2016 4 comments

Charlie at Six (Months)

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

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

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

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

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

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

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

Tuesday, June 21, 2016 2 comments

Troubleshooting 101 (Tech Tuesday)

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

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

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

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

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

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

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

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

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

Tuesday, June 14, 2016 2 comments

A Salted Battery, Golf Cart Edition

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

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

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

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

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

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

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

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

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

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

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

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

Tuesday, June 07, 2016 No comments

Tines 1.10 (Tech Tuesday)

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

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

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

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

Enough of that… what’s it like?

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

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

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

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

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

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

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

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

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

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

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.


Related Posts Plugin for WordPress, Blogger...