Monday, April 24, 2017 No comments

The Brass Mechanism, episode 8

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7

Difference engine
Image source: Wikimedia Commons
Chakan led the two men to the barn, leaving Liana with Misiva. He had an uneasy feeling, but thought Liana stronger than this wealthy visitor. As for the men… well, Chakan knew what tools could become weapons and where they were hung.

“The thing was sealed up with pitch on the inside,” he explained as they stepped inside. “We had quite a time of it pulling that lid off. Whoever put it in the ground expected it to survive the ages.”

“Indeed,” one of the men said; later on, Chakan never could remember which one was speaking at any time. “This is the box?”

“Aye.”

“I mean no offense, but you speak like a foreigner.”

“Aye, I take none. I was born a Reacher. The Matriarchy offers louts like me a plot of land, if I agree to be a good husband to my wife. Seems like I got the better end of that bargain.”

Both visitors looked amused, although Chakan meant his words as a pointed warning. Reachers were often considered warlike in this part of the wide world. One of the men reached inside the box, and scratched at a light spot on the bottom in one corner. “Wax,” he said. “They lit a candle before putting the lid on.”

“Why would they do that?” Chakan asked.

“It helps to seal the box. Perhaps the ancients had other reasons, things we forgot in The Madness.”

“That contraption showed a date… year 1812 of the Pearl Throne, if I remember right. The eve of The Madness. The rest of it warned of disaster.”

The men looked at each other. “I don’t suppose you remember the exact date?” one asked.

“Nay, but I sketched the thing as it was when we took it outta the ground.” Chakan took a breath. “Tell me true, folk. Can a machine predict the future if it’s calibrated against the stars?”

Again, they looked at each other before speaking, making Chakan wonder if they had some form of silent communication. “That we know not. Such things we leave to the mistress.”


“Ah,” said Misiva, as Chakan entered the kitchen. “I was telling your wife, I have never seen an artifact from the time of Camac That Was so well preserved in my entire career. I am prepared to offer you twenty-five gold octagons for the mechanism and the instructions, and five more for the notes and transcripts you have made.”

Liana and Chakan stared wide-eyed at each other. That kind of money would make them rich, by Chakan’s reckoning—able to live idly for over a year, perhaps two.

“Ah, ah, we’ll have to think that over,” Liana stammered after a long moment.

“Oh, I hope you won’t think it over too long,” said Misiva. “The sages will simply take it off your hands, and call it property of the realm. “You have put much work into puzzling it out, and I would think you should have somewhat to show for it, no?”

“Aye,” Chakan replied. “We’ll give it our most serious consideration.” That was a sarcastic Northerner idiom, but he doubted this wealthy Westerner knew that. Indeed, he would have to explain it to Liana.

“Good. We shall return, day after tomorrow.” Misiva stood, her menfolk bowed, and they departed.

“Chakan,” said Liana, watching the carriage roll back towards Queensport, “I am leaving this decision to you. Had we turned it over to the sages right away, as we should have done, I would not be so tempted by wealth.”

“They were polite and proper,” Chakan mused, “but that says little about their hearts. Say we took their money right away. Who can assure us they would not find a way to take it back?”

“But if they would do such a thing… perhaps they would try to take the mechanism while we consider the situation?”

“I told those men I was a born Reacher. If they took not the hint…”

“So we should take the mechanism to the sages right way,” Liana suggested.

“That they will expect,” Chakan countered. “They’ll have a trap set for us.”

None fight like a Northerner defending his land,” Liana quoted. “So we let them come to us, when we’re ready for them. When do you think they’ll come?”

“A day or two before market day. That gives us a little time to plan our defense.”

to be continued…

Monday, April 17, 2017 No comments

The Brass Mechanism, episode 7

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6

Difference engine
Image source: Wikimedia Commons
Brinla was indeed loose of tongue, and she was not the only one. The rain came in as Chakan had expected, but it did little to wash away the stream of folk coming to ask questions of the brass mechanism.

Chakan and Liana grew irritable, although they usually remembered to direct their ire toward the constant interruptions—at meal times, work times, gardening times, even lovemaking times—any time of day, and into the evening, someone would come a-knocking. They tried to put up a sign to limit the visits, but most folk simply ignored it.

At least, Chakan thought, they do not come empty-handed. Visitors brought chickens, slabs of salted beef, bacon, bundles of onions, sacks of potatoes or bread, and even a little money. The list of items they needed at market diminished each day, and that brought Chakan a new worry—that they would not need to go, and then they would be stuck with the cursed mechanism forever.

As for Liana, she soon became dismayed at the banality of the questions the folk brought:

Should my son marry this woman or that woman?

If I bet on the dice tomorrow, will I win?

Is my husband seeing a woman in Queensport?

After one of these left the house one day, Liana threw up her hands. “Love, I will never ignore your advice again. First thing in the morning, we’re putting that thing on the wagon and taking it to the sages.”

Chakan took her in his arms. “Soft, soft, my heart. It’s not been all bad. We can wait until market day, it’s almost here. But I tell ya true: I’ll be glad to see that hunk of gearworks gone.”

Liana pulled the bar across the door, then turned and gave Chakan a look she knew made his stomach lurch and his desire rise. “Come to our bed, love. Let us thank the Creator for giving us each other.”


Thankfully, the knocking did not resume for a while. When it began anew, more insistent than usual, they rolled out of bed and threw some clothes on, grumbling about more intrusions.

To their surprise, there were two men and a woman at the door. They were unfamiliar, and their manner of dress suggested they were city dwellers. Out at the road stood a carriage with two donkeys. It seemed plain, but something about it nagged at Chakan.

“Yar?” Liana asked, having no better greeting at the moment.

“Your pardon, notables,” the woman replied as the men gave a half nod-half bow. “We were told you have unearthed an ancient treasure?”

“If you are of the Crown, please present your forms,” said Chakan. One of the lessons he had learned in this new place was emissaries of the Crown always carry their papers. They had shown him copies of papers, so at least he knew what they should look like. He likely would be unable to tell forgery from genuine item, but it made more work for those with bad intent.

“Oh, we are not with the government,” the woman assured him. “I am Misiva sam Tiefi, a private investor in antiquities and the like. Have I indeed been directed to the correct house?”

Chakan held his tongue, but he was sorely tempted to say we left the contraption with the sages this morning. Instead, he hoped his wife would say it, with more conviction than he would be able to muster. His father used to tell him, you make a poor liar, Chakan, but the only shame in that is to try lying anyway.

“Yar, we still have it,” Liana said after a brief pause, dashing Chakan’s hopes. Something about this situation made him nervous.

“Oh, excellent. Could I perhaps see it? I am willing to compensate you for your trouble.” Misiva produced a small bag, and took from it a gold octagon.

Liana and Chakan stared at the coin. While their farm would garner the equivalent of that bag over a year, assuming it was filled with octagons, neither of them had seen that much money all at once. A single octagon would buy enough food for three weeks or more.

“Ah, indeed, we can let you have a look,” Liana stammered, taking the coin. “Do enter, in all peace and harmony.”

“Tea?” Chakan asked as Misiva and her two men—bodyguards?—followed them inside. “We have Queensport Black and Two Rivers Red. I can have the pot warmed in short order.”

“You are indeed hospitable,” Misiva replied, “but we should not be long. This is… it is marvelous! It looks as though it might be functional.”

“It is,” said Liana. “We have used it according to the instructions.”

“Truly?” Misiva looked astonished. “A book survived that long buried in the ground?”

“‘Twas in a stone box,” Chakan blurted. “Sealed up tight for the ages. We had a time of it getting it open without breaking it, let me tell ya.”

“I suppose the box has become paving stones,” one of the men said.

“Nay. We kept it intact. Thought we might come up with a use for it later on.”

“May we see it?” the second man asked Chakan.

“Oh, aye. It’s in the barn. Liana?”

“Yar, let them see it.”

to be continued…

Friday, April 14, 2017 3 comments

Charlie, Fast-Forward

Charlie’s first beach sunset
While Charlie's development has been slow, due to Fetal Alcohol Syndrome, I haven’t given up hope for him to catch up. Daughter Dearest was a preemie, and spent her first six months mostly passive (although she would laugh and play with her parents). All that changed the day we put in her a walker, and she figured out she could kick to crash into The Boy's push-trike. From then on, it was fast-forward for DD—that mobility boost was all it took.

Charlie has been—with the therapist and us helping—working on crawling for a while now. Up until last week, he would almost do it. Then, while on vacation… he got it. And immediately wanted to get on the floor and go everywhere. The cottages we stayed at have less-cluttered floors than our own, although there were some gouges in the cottage’s hardwood floors, so we kept an eye on him but otherwise let him roam until he got into something he shouldn’t. At home, he just wants to get on the floor so he can free-range around the living room. He crawls to the edge of his mat, pulls up a border piece, and starts chewing on it. (With Rosie the Boston Terrible shedding so much hair, I’m surprised she’s not bald. We’re using the vacuum and Clorox wipes a lot.) Or he’ll find his little toy-bucket and tip it over to find some goodies.

Not satisfied with just crawling, he got hold of the rim of his Pack&Play and stood up. He still needs to work on his stamina, because it wears him out to do it more than once or twice. I expect he’ll be walking soon… and we’ll never need to look for him, because Mason will be complaining about Charlie being in his space.

One thing he needs to work on is to pick up his knees. Right now, he drags them forward, which scuffs him up on carpet. This evening, I put him on the floor next to me at the desk. He shredded some paper, banged on the spare keyboard, then started crawling away. He got down to the bathroom before he sat down and contemplated the situation until I came and picked him back up. You would think he’d be sleeping better, but his newfound mobility seems to have him so excited he can’t wind down at night. Not that he minds, being the charter member of the Sleep Fight Club (first rule of Sleep Fight Club: you don’t fall asleep in Sleep Fight Club).

Monday, April 10, 2017 2 comments

The Brass Mechanism, episode 6

Part 1 | Part 2 | Part 3 | Part 4 | Part 5

Difference engine
Image source: Wikimedia Commons
“Eh, that kettle heats up fast,” said Chakan. “Should be ready.” He fetched the kettle, scooped a healthy pinch of tea leaves into the cups, then brought it all to the table on a tray. “Our honored guest,” he said, pouring Brinla’s tea.

Brinla nodded, then took another cup and poured for Liana. “My gracious host.”

Finally, Liana poured a cup for Chakan. “The love of my heart, and the father of our child.”

“Love and friendship,” said Brinla, raising her cup. “A toast always worth drinking to.”

After Liana first, and having a farm of their own second, Chakan thought the tea ceremony might be his favorite thing about life in the Matriarchy. Woman or man, everyone poured each other’s tea. Liana had once told him that if he, a common and foreign-born man, were to take tea with the Queen, even she would pour his tea after he poured hers. All serve in the Matriarchy, the consul had told him, back before he left the Reach, and two years of living here had not shown him different.

“So,” said Brinla, “this thing you dug up. It is truly from Camac That Was?”

“So Chakan believes,” Liana replied.

“Aye. See these numbers?” Chakan pointed to the bottom display. “That’s today’s date, according to the old calendar. When we dug it up, it was showing a date from twenty-four hundred years ago. It was in a stone box, coated with pitch and sealed up. I can’t imagine it could have survived so well otherwise.”

“May I ask a question of it?”

“Of course,” Liana chirped, before Chakan could utter a word.

“Love, I should start spreading that fertilizer before it gets too dark,” Chakan said quickly.

“Go and do. I’ll join you soon.”

Brinla waited until Chakan was outside before speaking. “He seemed nervous.”

“Not a word,” Liana replied. “But I think he’s a little superstitious. He thinks the date the mechanism showed, when we dug it up, was the eve of The Madness.”

“That would be enough to frighten anyone,” said Brinla. “Perhaps the owner buried it before fleeing, thinking she could recover it once she returned? In any case, I suppose fertilizing the field is a chore that needs doing.”

“Yar. But your question? I’ll turn the crank. You twist these knobs while you ask it.”

Brinla took her place at the machine, gripping the knobs. “Will our flock prosper this year?” she asked, as Liana turned the crank.

“Zero three eight, nine two four, five four seven,” Liana read the display. “Now we consult the list.”

The wolf prowls without
Vigilance is no error
Beware the weak house.

Liana looked at her neighbor. “What does that tell you?”

“It tells me I need to get my lout of a husband to shore up that gods-forsaken chicken coop,” Brinli replied. “I’ve been after him about that for a while now.” She stood. “You have a good man, Liana. Even if he is a foreigner. May he continue to bless you.”


“And maybe if Brinla treated him like a partner, instead of a servant, he wouldn’t find ways to vex her so often,” Liana concluded. “Truly, do we spread this so thin?”

“Aye,” said Chakan, sprinkling fertilizer on the rows. “Too much, and it’ll kill the seedlings. Indeed, if we don’t get rain in two days, we’ll have to irrigate to help our crop along.”

“The mechanism said we wouldn’t have drought.”

“Aye, but a few days without rain doesn’t make a drought. A few dry days right now can be a bad thing, though.”

“I see.” Liana scattered compost on the adjacent row. “Husband… after we finish this, could you go to Brinla’s and help Mirthan strengthen their chicken pen?”

“I suppose.” Chakan clucked at the ox to move the cart up. “Is this about that… thing we dug up?”

“Yar. Brinla asked if her flock would prosper. It warned of wolves and weak houses.”

“Aye. I’ll bring a jug of ale and we can make the wind after we finish with the pen. You know, Brinla’s got a bit of a loose tongue. We’ll soon have all the folk around here coming to ask questions of the mechanism. When are we taking it to the sages?”

Liana sighed. “We’ll have to go to market in a week. We can take it then. Maybe you’re right, Chakan. Brinla said you’re a good man, and she speaks true. Your instincts are talking, and I need to stop ignoring that. So when we go to market, we’ll be shut of this.”

“That thing does worry at me, love. But we’ll ask the sages to tell us what becomes of it, aye?”

continued…

Monday, April 03, 2017 1 comment

The Brass Mechanism, episode 5

Part 1 | Part 2 | Part 3 | Part 4

Difference engine
Image source: Wikimedia Commons
“Will our child be healthy?” Liana asked, twisting the knobs atop the mechanism. Chakan turned the crank, wishing they had just given the thing over to the sages. Following the instructions to advance the mechanism’s calendar one day, they started planting corn yesterday afternoon, then spent today finishing the work. Now it was evening once again, and tomorrow would be a day of rest. Not that either one planned to get much rest, but…

Chakan refused to watch the numbers spinning, but heard the click as each one fell into place, sealing the fate of their child for good or ill.

“It’s done,” Liana told him.

“Oh. Ah.” Chakan had been turning the crank without realizing it was spinning freely.

“Three two one, six six three, zero three nine,” Liana read the display. “Let’s look it up.”

“All right.” Chakan tried to keep his voice light as he consulted the book.

Duty rewarded
There is no error in rest
Beware violence.

“What do you make of it?”

Liana looked over the numbers, checking her husband’s work, then sat lost in thought for a long time. “It sounds like I should pay close attention to the Healer,” she said. “And to not pick fights or wrestle lids off stone boxes.” She grinned at Chakan. “Rest when I can. That should not be too hard for a while.”

“Aye. Seed’s in the ground, now. When we see signs of rain, we’ll spread the fertilizer. Other than that? Until the corn’s sprouting, we care for the oxen, forage, and tend the kitchen garden.” Chakan found the latter a wonder—a garden that could be picked year-round. True, the winter offerings were roots and sour greens; but a dollop of fat gave the greens some flavor and local herbalists claimed they were good for the constitution. A brief walk would take them to unclaimed land, where they could forage. Northerners like Chakan found the southern coastal lands almost obscenely abundant with edible plants and small game.

“Then it’s settled,” said Liana, taking his hand. “I should rest. You can see that I sleep all night.”


A few days went by before they saw rain coming, but they were never truly idle. Between foraging, seeing to their garden and animals, and frequent romps in bed, they kept busy.

When Chakan saw the clouds building, he went out to the barn and turned the compost heap before pitching the bottom layers into a field wagon. Compost was something he had learned of in his roustabout days, and had brought the knowledge with him to Queensport. Local farmers, finding their waste could easily become free fertilizer, quickly took up the practice as well.

The heap was odorous, especially in summer, but not so much on cool spring mornings like this one. “Rain will come, tonight or on the morrow,” he told the oxen, munching hay in their stalls. “We’ll spread this mess on the field before it gets here.”

But when he went into the house to get Liana, he found their neighbor Brinla sitting at the table. “Peace and harmony,” he said automatically, putting the heel of his hand to his forehead and giving her a nod.

“All peace unto you, Chakan,” Brinla replied, hand over heart. “I had a surplus of eggs this week, and eggs are good for a woman with child, so I thought I would bring Liana a few and catch up on news.”

“Thank’ee for the eggs, and you’re welcome here as always. Would you like some tea? We have Queensport Black, and I believe Two Rivers Red.”

“Red would be good.”

Chakan looked at his wife, who nodded. “Red it is, then.” He stoked up the fireplace—it was yet cool enough to want at least some heat in the house—and hung the pot over the flames.

“So Liana tells me the two of you dug up this fascinating piece of machinery,” Brinla told Chakan as he returned to the kitchen to check on their tea supply. “And it tells the future?”

“I know not if it truly tells the future,” Chakan replied, satisfied that they had enough red tea. “But it does seem to give useful advice about matters when queried. We should be turning it over to the sages soon. Let them puzzle out the truth of it.”

“How does it work?”

“You turn these knobs while you ask your question,” Liana explained. “Someone turns the crank for you. Then you match the numbers against a list to see the answer.”

continued…

Monday, March 27, 2017 No comments

The Brass Mechanism, episode 4

Part 1 | Part 2 | Part 3

Difference engine
Image source: Wikimedia Commons
Chakan began to object, but stopped. Two years living in the Matriarchy, and he still found himself having to shake old attitudes. But deferring to his wife was a small price to pay for… for everything. Not only for their land, but for Liana. Her letters had raised his hopes, and getting to know her had proven reality greater than his hope. She was headstrong, aye, but better that than a woman who waited to be told what to think. Besides, she listened to his advice about farming, and mostly let him make the decisions for the farm work. If ever a man had found his ideal… “Aye. Fair enough,” he said.

“We’ll have a care,” Liana assured him. “What should we ask about first?”

“Eh. What crops will be worthwhile to plant. ‘Twould save us a mickle of work if we’re gonna face drought or blight this season.”

“So we plant nothing if the mechanism predicts a bad growing season?”

“Ah, nay.” Chakan embraced his wife. “We’ll plant crops that won’t need as much water. They won’t fetch a high price at market, but they’ll beat a failed corn crop.”

“Sensible. But we’ll need to get all these numbers and their phrases written down to make sense of it anyway. Let’s get to work.”

Working by the light of their lamps, they kept on through the night. By the time they looked up, the first light of day was struggling through the windows. Some of the pages in the old book had torn, but they had faithfully transcribed the entire thing.

“Ah,” Chakan grumbled, dropping the quill and shaking his hand. “I’m cramping from elbow to fingertip here.”

“I’d like to see a scribe do better,” Liana soothed, rubbing his arm. “A sweet potato will help with the cramping. We got one left. I’ll cook it up with some sausage for ya, then we’ll get some sleep.”

Afternoon sun streaming into the bedroom window had Chakan sitting up quickly. “Ah, the day’s more’n half-gone,” he muttered, throwing back the covers.

“Soft, soft,” said Liana, putting a hand on his shoulder. “If we don’t get the planting started today, we’ll start tomorrow. One day more or less won’t hurt matters. And we’re going to consult our mechanical Oracle first, remember?”

“Oh, aye.” He yielded to Liana’s gentle pressure, lying down once again.

“How’s your hand?” she asked.

“Better. It might actually grip something.” He reached and gave Liana a gentle squeeze.

“Mmmm. I think my husband is awake.” She reached down. “Indeed he is.”

Some time later, they sat at the table, eating their lunch—strips of marinated meat with a bland local cheese, wrapped with salad greens in flatbread—eyeing the strange mechanism they had wrested from the middle of their field.

“So the book says you grip the knobs atop the thing and twist ‘em, while you ask your question,” said Chakan. “Then you turn the crank clockwise until it no longer resists.”

“And you interpret its answer from the numbers it shows,” Liana added. “Seems simple enough. So you ask the question, I’ll spin the crank, eh?”

Chakan grasped the knobs atop the mechanism. “Should we plant corn this year?” he asked, twisting the knobs as he spoke.

Liana turned the crank, watching the numbers spin across the upper display. One by one, the numbers stopped spinning. Finally, the last number fell into place and the crank spun freely. “It’s done,” she said.

“Aye. Four one one, eight zero nine, two four seven.” Chakan turned to his transcript, and thumbed through the pages.

A plan is well laid
Sun and rain come in their time
Work is rewarded.

“It sounds like we should just plant our corn like we planned.”

“That’s a relief.” Liana grimaced. “Necessity. We can start planting afterwards.”

Chakan watched her rush for the privy, then started for the barn. But before he left the house, he turned around and went back to the brass mechanism. His sketch was in the sheaf of paper that made up his transcription, and he took it out to have a look. “One zero four, zero seven two, two nine eight,” he muttered. He thumbed through the tables, jotting down the meaning on a piece of scrap, then checked it again.

An ill wind blows strong
All empires fall in their time
The hidden prosper.

“Gods. If this thing were buried on the eve of The Madness… gods.” He tucked the scrap into the sheaf, then slipped outside and trotted to the barn. Maybe work would help him forget the dark prophecy.

continued

Tuesday, March 21, 2017 No comments

Tech Tuesday: Roll Your Own Writing System, part 6: Jekyll


The series rolls to an end…

In Part 1, we had a look at Markdown and the five or six formatting symbols that cover 97% of written fiction. Part 2 showed how you can use Markdown without leaving the comfort of Scrivener. Part 3 began exploring eBook publishing using files generated from both Scrivener and directly from MultiMarkdown. Part 4 provided a brief overview to a different tool called Pandoc that can convert your output to a wider variety of formats, and is one way to create print documents for beta readers or even production. Part 5 described how to use MultiMarkdown’s transclusion feature to include boilerplate information in an output-agnostic way, and how to use metadata variables to automatically set up front matter.

Scrivener is an excellent writing tool, and we have seen how using it with MultiMarkdown only makes it better. But there are conditions where abandoning the GUI for a completely text-based writing system just makes sense. For example, you might want to go to a minimalist, distraction-free environment. You may want to move to a completely open-source environment. Or you might need to collaborate with someone else on a project, and Scrivener really isn’t made for that.

Don’t Hyde from Jekyll


Jekyll is the most popular static site generator. You write in Markdown—Jekyll’s particular flavor, which is similar to MultiMarkdown in many ways—and if Jekyll is running, it automatically converts your pages to HTML as soon as you save. It even includes a built-in web server so you can see what the changes look like.

If you’re on a Mac, installation is almost too easy. Drop to a command line, enter gem install jekyll bundler, and watch a lot of weird stuff scroll by. It’s as easy on Linux, if you have Ruby 2.0 or newer installed. On the Microsoft thing, there are some specific instructions to follow (I installed it on my work PC, no problem).

Once it’s installed, get going by following the quick-start instructions.

Organizing


Unlike Scrivener, organizing your project is on you. But there are a couple things that might help:

Each story or project should live in its own folder. Within that folder, tag each chapter or scene with a number to put everything in its proper sequence. For example:

100_chapter_1.md
110_arrival.md
120_something_happens.md
200_chapter_2.md
210_more_stuff_happens.md

It’s a good idea to increment by 10 as you create new scenes, in case you need to insert a scene between two existing ones later. To move a scene, change its number. If you have more than nine chapters, use four-digit numbers for the sequence. (If you need five-digit numbers, you should seriously consider turning that epic into a series of novels.)

Differences from MultiMarkdown


Like MultiMarkdown, Jekyll’s flavor of Markdown supports variables and transclusion. But there are a couple differences. In Jekyll, variables look like MultiMarkdown’s transclusion:

{{ page.title }}

You can draw variables from the page’s metadata, or from the _config.yml configuration file (in which case you replace page with site).

Transclusion is a function of the Liquid templating language, built into Jekyll. To include a file:

{% include.relative file.md %}

You can also use include instead of include.relative to pull files from the _includes directory. By using Liquid, you can specify parameters to do different things, effectively creating your own extensions.

For example, here’s how you might do section breaks:

<p class="sectionbrk">
  {% if include.space %}&nbsp;{% else %}&bull; &bull; &bull;{% endif %}
</p>

So if you just enter {% include secbrk.html %}, you get three bullets. To get a blank line, enter {% include secbrk.html space="true" %} instead.

Also like MultiMarkdown, Jekyll supports a metadata block at the beginning of a file. While they look very similar, Jekyll uses YAML format for its metadata. The upshot is, a Jekyll file begins and ends its metadata with a line of three or more dashes, like this:

---
title: The Sordid Tale of Woe
author: Henrietta Jekyll
permalink: /sordid/sordid_tale.html
---

Certain metadata tags are special to Jekyll. For example, permalink specifies the name and location of the HTML file Jekyll creates from the Markdown source. Another important tag, layout, can be used to choose a template. You can set the default layout in the configuration file, then use a second configuration file to override it for doing things like publishing.

Git Out


Jekyll is also a blogging tool. Your posts go into a special directory, _posts, and have a specific naming convention. Two additional metadata tags are important:

date:   2017-03-21 07:00:00 -0500
categories: writing technology

The date entry specifies the date and time your post goes live on the generated site. The categories entry lets you tag each post for easier searches.

But all that’s just pixels on the screen unless you have a place to put your site. That’s where Github Pages comes in. You can upload your Jekyll files to Github Pages, and it automatically updates your site when it finds new or changed content. This is pretty useful, but it’s even more useful when you’re working with other people. Everyone has their own copy of the source files on their own computers, and they can each push (update) their changes as needed.

Now What?


I hope I’ve given you some ideas for new ways of looking at your writing, and how to make the publishing part more efficient and more collaborative.

The rest… is up to you. I’d love to see your own ideas in the comments.

Monday, March 20, 2017 No comments

The Brass Mechanism, episode 3

Part 1 | Part 2

Difference engine
Image source: Wikimedia Commons
Liana set their prize on the table, and they stepped back to take a look. It was a strange-looking device, but even folk with a basic education could see it was some kind of machine. All brass gears, spindles, and fittings it was, with a few flecks of the wood that had once covered it still clinging to the supports. It sported a crank on the right side, the wooden handgrip long gone. A row of numbers dominated the front of the device: 104 072 298. Below was a smaller set of numbers: 98 1812. It had a faint odor of oil and decay.

“So what do those mean?” Chakan asked, pointing at the numbers.

“Maybe the answer is in here.” Liana opened the book, watching to see if the pages would crumble at a touch. “Have a care with this, but it might survive our perusals.” She turned up the title page; it felt brittle but did not fall to pieces. “Using the Prediction Calculator,” she read. “What in the Fourth Hell?”

“This hunk of metal tells the future?” Chakan gave the device an incredulous look. “Ha, the Queen would want to get her hands on this, then.”

“This text is hard to make out. They must not have written the same way we do. ‘Accurate predictions… to ensure, against the stars shall you calibrate.’ What?”

“Sounds like Low Speech. Outside of Phylok you get, so the farmers talk.”

Liana took a moment to parse her husband’s explanation. “Ah. So the ancients all talked the same way? I see. This is saying you calibrate this thing against the stars to get accurate predictions.”

“It uses the stars to make predictions? Outlandish. Shipmasters use the stars to tell where they are on the sea, but I’ve never heard of anyone using them to predict the future.”

“Eh. I never heard Low Speech until you used it just now.”

“If the ancients used the stars to predict the future,” Chakan mused, “the sages would find this thing useful indeed.”

“Ah!” Liana cursed as the page tore. “Bring some paper, love. If these gods-forsaken pages come apart on us, we can preserve what they say for the sages.”

“The sages won’t be pleased with our destroying the originals. But if we’re going to puzzle this thing out, it’s the best we can do.” He paused. “Liana… perhaps we should give this over. Let the sages ruin the book. Knowin’ the future could be a fearful business.”

“Could be some profit in it, love. Besides, we found it. We pulled it out of our field. You got the box open. We’ll do the best we can, and that will have to be good enough. Here, write down the numbers it’s showing. Maybe we can puzzle out their meaning later.”

“Aye. Then we’ll sow tomorrow?”

“If the Creator brings us another day of dry weather, indeed. Don’t you have those numbers written down yet?”

“I’m sketching the whole works.” Chakan slid the paper to his wife.

“How do you do that so well, and so quickly?” she asked. In less time than it takes to drink a cup of tea, Chakan had sketched a fair likeness of the mechanism, with Liana looking on. He had drawn a look of wisdom and revealed knowledge on her face.

“A knack. I don’t get to exercise it often.”

“I like this. We should put it in a frame. Then we’ll wait for dark, and calibrate this… this thing. But let’s copy the instructions while we’re waiting.”

“If we don’t destroy the pages along the way.”

“Hoy, I got an idea.” Liana took another sheet of paper and slid it in between the next two pages in the book. “Maybe this will help.” She gently turned the page. “Ha, it worked! Now here’s what it says…”


The night was clear enough to see the stars, and they followed the instructions to calibrate the device. They twisted knobs and pointers on the top of the mechanism as directed, then held their breath as Chakan turned the crank counter-clockwise. One turn, two turns… then the odd clicking noises inside the mechanism ceased and the crank spun freely as the instructions said it would.

They took their prize back inside and looked it over. “Hoy,” said Chakan, “the numbers along the bottom are different, now. Now it’s 84 4269.

“Eh. I think it’s forty-two something by the old Camac calendar,” Liana mused. “And it’s pretty close to the eighty-fourth day of the year. Maybe that’s today’s date.”

“Then this thing has been in the ground a long time, waitin’ for us to dig it up.” Chakan looked at his sketch. Eighteen-twelve. Gods… that mighta been the year of The Madness.”

“Wouldn’t that be something?”

“Liana… let’s give this over to the sages. We’re messin’ with somethin’ that got buried at the worst time ever. Or just before. What was that first set of numbers? One oh-four?” Chakan consulted his transcripts. “First and third groups use the same numbers. An ill wind blows strong. Makes me wonder what the rest of it means.”

“It won’t bring back The Madness, love. That was a good twenty-four centuries ago. We’ve reset it for modern times, and we’ll make some use of it. Then we’ll give it over. Fair enough?”

continued…

Wednesday, March 15, 2017 1 comment

Kneecapped 2017, an update

Tonya, Queen of Kneecaps
image source: about.com
When we last left this, the knee had started improving around the time I went to the doc. The day after, the pain decided a brief vacation was all it needed… then the left knee decided to join the fun.

Reality the Crutch has been missing for some time now, but we have a metal adjustable cane laying around, so I adopted it instead to get around. Things were still pretty painful last Tuesday, when I went to the orthopedist. He looked at the X-rays and decided we needed an MRI. I asked him for some happy pills, and he wrote a prescription for hydrocodone+acetaminophen right away. I’d been popping ibuprofen like candy for a while, and it was keeping things manageable through the day, so I figured I could continue that and save the happy pills for night time (the pharmacist said that was OK).

So for the next few night, it was two happy pills before bedtime, wait an hour for them to kick in, sleep like a log until they wore off around 4am, then one more to get me through the rest of the night. Not the best sleep I ever had, but better than what I’d been getting.

After a few days of improved sleep and lots of inactivity, both knees started getting better. From experience, I know this is the dangerous phase of a knee problem—it’s way too easy, now that you can get around without tons of pain, to overdo it and go right back to where you started. So I rested as much as possible, moved when I had to. Icing started doing what it should, so I went back to doing it, alternating knees as needed.

The MRI was on Monday, and was anti-climatic. Laid on a pallet, knees propped up, moved as little as possible while this big round thing spent 20 or 30 minutes making weird noises. Today was the interpretation. Long story short, he wants to do a full replacement. There’s a lot of crud in there, and roto-rooting it won’t take care of it. Due to long-scheduled travel, this isn't going to happen until May, but in two months I will post Tonya for the last time.

Tuesday, March 14, 2017 No comments

Tech Tuesday: Roll Your Own Writing System, part 5: Reuse

The series rolls on…

In Part 1, we had a look at Markdown and the five or six formatting symbols that cover 97% of written fiction. Part 2, showed how you can use Markdown without leaving the comfort of Scrivener. Part 3 began exploring eBook publishing using files generated from both Scrivener and directly from MultiMarkdown. Part 4 provided a brief overview to a different tool called Pandoc that can convert your output to a wider variety of formats, and is one way to create print documents for beta readers or even production.

Way back in Part 2, we used Scrivener to embed HTML separators between scenes and for internal scene breaks. As we saw last week, that doesn’t work when you need to output to a different format. As it turns out, there’s a way to work around that by using MultiMarkdown’s transclusion mechanism. Transclusion and metadata variables provide the capability for reuse, pulling common boilerplate files from a library.

Inclusion… Transclusion?


Transclusion is a technical term, but it’s easy enough to explain. You use it to embed another Markdown file into your document, like you might include a graphics file. A function like this is essential when you’re maintaining a collection of technical documents, because you can reuse common sections or passages—write them once, store them in a library of common files, and then changing one of the source documents automatically updates all the documents that use it. For fiction writing, it’s a good way to pull in all those boilerplate files (about the author, front matter, etc.) that you need for each book.

To transclude a boilerplate file, put this on its own line:

{{myfile.md}}

When you run multimarkdown, it pulls in the contents of myfile.md and processes it.

Now here’s where it gets fun. Say you really need to be able to output to both HTML and OpenOffice. Instead of embedding HTML that gets ignored in the OpenOffice conversion, or vice versa, you can use a wildcard:

{{myfile.*}}

Now, when you output to HTML, multimarkdown transcludes the file myfile.html. When you want OpenOffice, it uses myfile.fodt. You just have to supply the files with the right extensions and content, and you’re off to the races! You can use this in the Separators in Scrivener to choose the right markup for your output.

A few caveats for fodt transclusion: You cannot use entities like &bull; or &#8026; to specify special characters. You have to enter them as characters. If you only have one line to add, you don’t need to put any OpenOffice markup in the fodt file—plain text is fine, but use the right extension so multimarkdown knows which file to use.

If you want to reuse transcluded files with other documents, you can add another line to the metadata:

Transclude Base: /path/to/your/files

You can use a relative path like ../boilerplate, but it’s safer to specify the entire path in case you move the file to some other location.

Does the Front Matter?


But transcluding boilerplate files is only the beginning. Especially for front matter, you need to change at least the title for each book. Fortunately, MultiMarkdown has that covered.

In Scrivener’s Compile window, the last entry is Meta-Data. Back in Part 3, you used this to specify a CSS file for HTML output. Scrivener pre-fills entries for the Title and Author, but you can add anything else you want here. All the metadata ends up at the beginning of the file, where MultiMarkdown can process it further.

So you might have a block that looks like this:

Title: Beyond All Recognition
Subtitle: The Foobar Chronicles, Book 1
Author: Marcus Downs
Copyright: 2017
Publisher: High Press UR

Create a title page that looks like this (for HTML output):

<div style="text-align:center" markdown="1">
**[%title]**

**[%subtitle]**

by  
[%author]

Copyright [%copyright] [%author]. All rights reserved.

Published by [%publisher]
</div>

![](logo.png)

{{TOC}}

Instant front matter! The {{TOC}} construct inserts a table of contents, another Multimarkdown feature.

Now What?


Now you know how to include boilerplate files in your book, and how to automatically put the right text in each output format.

Next week… it’s something completely different to wrap up the series.

Monday, March 13, 2017 No comments

The Brass Mechanism, episode 2

Part 1

Image source: Wikimedia Commons
“It’s as tight as I can make it,” said Chakan, clambering out of the hole.

“Maybe it’ll work this time, then.” Liana tugged the ox’s harness. “Pull, ya great thudding beast!”

Chakan admired his wife as she coaxed the ox to keep pulling. She even knows the right language, he thought. The animal strained against its harness, and… “Hoy, it’s coming up!”

“Keep it coming!” Liana told the ox.

“Stay on that side,” Chakan warned. “If the rope snaps…”

“Yar. Easy… easy… ha!” The block surrendered its grip on the surrounding earth and slid up the slope and into the field. “That’s it! Drag it back to the barn!”

At the barn, they returned the ox to its stall with a bag of feed, then looked over their prize. “Eh,” Liana mused, “it might make four or five pavers. Enough for our needs, anyway.”

“Aye. But… look.” Chakan knelt and ran his finger across one side. “Looks like a line here.” He brushed away dirt. “I think it runs all the way around the thing. Like it’s a lid.”

“Ha! Maybe it is a chest full of octagons, then?”

“Could be.” Chakan tugged at the “lid,” but it did not budge. “Probably sealed. Here’s where the plow hit it.” He rubbed at a scuff mark along one side. “Hate to take a hammer to it, we might could use it for something.”

“Here, let me bring the pry tool.” Liana kissed her husband. “Keep looking it over, love. You might find something.”

“Best bring a knife, too,” Chakan called after her. “I doubt I could slip that pry tool into this tiny crack.”

“Hoy, I got an idea. Wait here.”

A few minutes later, Liana had driven an old knife blade all the way around the thin crack, and pounded others into each corner. “Yar,” she said, sitting on the ground opposite from Chakan. “Now, twist your blades on your side, and I’ll twist mine. If we get it right, we might get this thing to slide up. Ready? Now.”

“Hoy, the blades are loose,” said Chakan, after a minute of twisting and pulling. “Aye, we got it up a little.”

“Yar. I think we can get the pry tools in there now.”

The afternoon rolled by, and still they strived to open their prize. At last, they worked the lid a finger’s width up, and yet it would not lift off.

“Is it my imagination,” Liana mused, “or is the lid pulling itself back down? Have you ever seen such a thing?”

“Enough,” Chakan growled, standing over the block and working his fingers into the gap on either side. “This ends now.”

“Don’t hurt your back,” Liana warned.

“Eh, I’m more worried about my hands here.” Chakan gripped the block with his boots, pushing with his legs and pulling with his hands. “Get loose, ya Goblin-spawn!” He strained, his accent and curses growing thicker. “Ah, that’s it… come off!” At last, the lid gave way with a pop and a tearing noise, neither of which had they expected to hear from a stone box. Chakan dropped the lid in the soft dirt and panted for breath.

“What in the Seventeen Hells is this?” Liana wondered, looking into the box.

“Eh. Shoulda just handed it over and let the sages do the hard work,” Chakan grumbled, thinking about the Rules of Finding, part of the agreement they signed in exchange for the land grant: Stonework, you may do with what you will. Money is yours but for the normal tax. Items of interest should be turned over to the sages, that they may be studied and benefit the entire nation. “That’s an item of interest if I ever saw one.”

“Yar. We’ll turn it over. But the Rules don’t say we have to turn it over right away. Let’s take a look at it ourselves, first. We did the hard work of getting the box out of the ground and getting it open, so we’ve earned that much.” Liana looked at the box. “Clever folk. Whoever boxed this thing up meant it to survive the ages.” She pointed at a layer of black gunk around the top edge, then turned the lid over. “They painted pitch on the inside of the box and lid, see? It sealed the box tight. That’s why it was so hard to open. I wonder how old this thing is.”

“Well, everything in the ground out here has to be from Camac That Was, nay?”

“Yar.” Liana reached into the box and lifted the contents out. Some kind of mechanism, it seemed; the tarnished brass struggled to reflect the light. “Welcome back to the sun. Now what are you?” She looked down. “Chakan, there’s a book in there. Maybe it’ll tell us what this thing is.”

“If we can make heads or tails of it.” Chakan picked up the book, wincing at the twinge in his back. “I just hope this was worth the effort.”

continued…

Tuesday, March 07, 2017 No comments

Tech Tuesday: Roll Your Own Writing System, part 4: MultiMarkdown and Pandoc

The series rolls on…

In Part 1, we had a look at Markdown and the five or six formatting symbols that cover 97% of written fiction. Part 2, showed how you can use Markdown without leaving the comfort of Scrivener. Part 3 began exploring eBook publishing using files generated from both Scrivener and directly from MultiMarkdown.

Today, we’re going to take a brief look at a different tool you can use to publish MultiMarkdown files.

Pandoc describes itself as a Swiss Army knife for markup languages, but it goes farther than that. More than markup languages, it converts to and from common word processor formats and can even convert directly to EPUB. You can mess with templates to get the output really close to production-ready, but that's a little beyond the scope of our series here. In real terms, it’s not any faster than loading a prepared HTML file into a skeleton EPUB; both methods need a little cleanup afterwards.

This sounds at first like it’s just an alternative to using MultiMarkdown, but it goes a little farther than that. One problem with embedding HTML in your Markdown files, none of it gets converted to other formats. So you can’t just take your MultiMarkdown file and create an OpenOffice file by running:

multimarkdown --to=odf story.md >story.fodt

Because all your section breaks disappear. Pandoc ignores embedded HTML as well… so again, what does Pandoc buy you?

Well, once you have your HTML file, you can use Pandoc to convert that HTML file to the word processor format of your choice.

pandoc -f html -t odt -o story.odt story.html

And there’s the answer to how you make your story available for beta readers who want a word processor file. If you’re willing to tolerate some sloppy typesetting, you could use it for your print document as well. Pandoc also supports docx and rtf as output formats.

Now What?


Now you can output your MultiMarkdown file in a number of formats, including eBook (direct and indirect) and common word processor formats.

Next week, we’ll look at some special features of MultiMarkdown that you might find useful.

Comments? Questions? Floor’s open!

Monday, March 06, 2017 No comments

The Brass Mechanism, episode 1

Difference engine
Image source: Wikimedia Commons
The thought crossed Chakan’s mind: Plowing’s a man’s work.

The better part of himself spoke up immediately. You know better, ya lout. Reacher women plow when they have to. Two years you’ve been a Matriarchy man now, you shouldn’t think like that anymore.

He looked across the field, where his wife Liana plowed with the other ox. And she’s plenty able to do it, a third part of him thought, with mixed admiration and desire. Chakan had always found sturdy women more attractive than either the willowy Reacher standard, or the round soft kind favored in Westmarch and the Alliance cities. They would be married a year, come the autumn equinox, and Chakan often thought how lucky he was, to—

The plow lurched, nearly jerking out of Chakan’s hands. His surprised “Hoy!” did not cover the scraping of the plow blade dragging across a rock. “Hold up, ya lump!” he yelled at the ox.

“What happened?” Liana called from her side of the field. They had each taken half to plow, and now they were close together. Closer than Chakan had thought; they were nearly finished.

“We found another paver, like as not.”

“That’s good. We need a few more to finish the walkway.”

“Maybe that’s why the Crown granted us this patch,” said Chakan. “We’ll never find the end of clearing it.”

“Every time I think about it, I marvel at how vast Old Stolevan must have been. You can hear legends of Camac and Stolevan carrying a million folk each until your ears fall off, but to think this was part of the city…” Liana trailed off, looking toward Queensport, visible to the southeast. “Its boundaries stretched clear out to here and beyond. Well, mark the spot and we’ll dig it up after lunch.” She gave him a wicked grin. “But not right after lunch, mind you.”


“How much longer?” Chakan asked, somewhat later, lying in bed with his wife. This was their favorite dessert after any meal.

“Oh, the Healer said not to worry about it right away. I’m not even showing yet.” Liana had kindled two months ago, to their mutual delight. “If all goes well, we might not have to stop.”

“That’s good to know.” He rolled onto his side, draping an arm across his wife.

“Will you love a daughter as much as a son?” she asked.

“Of course. She won’t be the only one we have.”

Liana stroked his hip, then slid her fingers down. “Good. Hoy… I think you’re ready for more.”

It was mid-afternoon before they pushed themselves grumbling out of bed. But Liana was right; they needed a few more pavers. They had dug up many cut stones last fall and laid them between their house and the barn—a tiny barn by the standards Chakan had grown up with, big enough to house their oxen and what little hay they needed for a southern winter. They were plowing two months before farmers would in the Northern Reach, and needed far less hay to keep their livestock fed through the winter. Still, what they called “winter” along the southern coast was wet, and the paving stones helped them stay out of the mud.

They took shovels, a pick, and rope from the barn, then trudged across the field toward the stick that Chakan had used to mark the spot.

“Maybe this one will be a chest full of octagons,” Liana quipped, getting to work.

“Aye. And maybe we’ll get a winter without snow,” Chakan laughed, digging next to her.

“Snow?”

“Oh, aye. A Reacher saying. The land up there is still covered with it, and here we are getting ready to plant.”

“No, love.” Liana tossed another shovel of dirt aside. “What is snow?”

“You don’t—of course you don’t know about snow, if ya grew up in Queensport. Well…” Chakan stopped to think. “It’s like rain, but it’s frozen before it falls from the sky. Instead of drops, it comes down in tiny little flakes. Enough to bury the land, sometimes as high as me.”

“Ah, I’ve seen that a time or two. Enough to cover the ground, sometimes, but…” Liana grounded the shovel. “Tell me true, Chakan. Is that a tall tale you tell about it covering the land?”

“Tell ya true, Liana. The ground around the warm springs stays clear, but everywhere else? Snow as far as ya can see.”

“No wonder you moved south,” she grinned.

“Nay, nay. I moved here…” he stopped, realizing she was teasing him. But the warmer climate was the least of his reasons to leave his old home for this strange nation where women ruled. As a younger son, he had little to inherit. In his youth, he learned he was not cut out for the military. The one girl he fancied took up with a boy with better prospects. He hired himself out as a roustabout, a freelance farm hand, and found he liked the work. But that desire for one’s own land, one’s own place, was in the Northerner blood. The Matriarchy’s embassy promised land to those who would emigrate and embrace their customs…

“Hoy, ya lazy lout, stop woolgathering!” Liana laughed. “I think I just hit it.”

“Eh? Sorry.” Chakan put his back into it, and soon they looked at the corner of a stone.

“That might be enough to finish the walkway,” Liana mused. “Depends on how deep it goes.”

“Only one way to find out,” Chakan grinned, and began digging around it.

A few minutes later, they stopped. “Eh,” Liana grumbled. “Looks like a block. ‘Twould make a fine cornerstone for a tavern, but it ain’t much good for us.”

“We could always hire a stonecutter to split it,” Chakan pointed out. “That’s enough stone to finish the walkway, and give us a good start on a walk to the road.”

“If she don’t shatter the thing. No telling how long that block has been buried. Well, fetch an ox, husband. We’ll get this out of the field, then we’ll decide what to do with it.”

to be continued…

Saturday, March 04, 2017 7 comments

Kneecapped, 2017 edition

Tonya, Queen of Kneecaps
image source: about.com
Last Wednesday, the knee started twinging. I didn’t give it much thought, because it does that once or twice a year. I baby it a few days, it gets better. This time, it waited until Monday to kick it up a… dozen notches or more. It hasn’t hurt this bad since before the surgery, and that was before Mason was born.

The normal RICE (Rest, Ice, Compression, Elevation) routine hasn’t seemed to help—in fact, icing it seems to only make it worse, and it can only stand being in a knee brace for an hour or so. Sleeping has been a chore all week, because I can’t find a comfortable position. One of the recliners almost works, and I got a relatively decent amount of sleep last night, but I’m having to watch myself to not get cranky with the kids or the wife. I’ve had to work at home all week, and the wife has done her usual “leave Charlie with me while I’m supposed to be working and go take care of everyone else” routine.

When it had not improved by Tuesday, I got a doctor’s appointment. It started feeling a little better by the time I arrived, of course. They sent me out for X-rays anyway, and I got the results yesterday: arthritis and bone spurs.

Next step is the orthopedist who roto-rooted this knee almost eight years ago. That visit’s scheduled for Tuesday, and I wonder how it’s going to turn out. Maybe scraping the thing every seven or eight years will keep it mostly functional. I’m not sure how I feel about a replacement just yet.

But I’ll keep you posted.

Friday, March 03, 2017 3 comments

Pilgrims Charlie's Progress

I won’t sit here forever!
While the evaluations show significant development issues, most related to Fetal Alcohol Syndrome, Charlie is making progress. In the last week, he’s finally started sitting himself up, and he’s almost crawling. The report from the psychs lays it out—he’s about six months behind, and they want to confirm he doesn’t have cerebral palsy.

“He’ll have issues with this pretty much his whole life,” they said. I asked if Charlie would be able to become a functioning adult. “It’s too early to tell at this point.” While I won’t, I SO want to punch Badger Boobs for what she did to him. At least she’s been fixed, so she can’t do that to another baby.

Charlie, on the other hand, is a very happy little rugrat. His appetite came roaring back a couple days ago, after the congestion (probably associated with teething) went away. He’s up to ten teeth now, and continues to want to let you feel them. Especially the sharp ends.

He gave me a little scare the other morning. He woke up, chattering contentedly in the crib, about the same time I was getting up. I walked by on the way to the coffee pot, and he had rolled against the end of the crib, legs in the air and playing with the bars. When I came back, he had gotten into his knees and was looking over the side rail with his hands dangling over. Suddenly, the coffee had to be put down while I grabbed the kid. It’s high time to lower the crib mattress, as much as we like the height for diaper changes.

The Pack&Play that used to be his bed is now his playpen. He’ll spend a lot of time in it, until he wears himself out; then he lays down and cries until someone rescues him. Sit him next to Mason, and his mood goes Instant Sunshine, though. I swear, I’ve never known anyone who loves someone the way Charlie loves Mason.

The stationary “roundabout” (it’s like a walker with a base instead of wheels) is also a common play area for him, but for some reason… put him in it, wait 15 minutes, Atomic Diaper. Every time.

Chewed right through the story
His favorite thing these days (besides people) is paper. I keep a sheaf of an old manuscript next to my keyboard, and he likes to pull a sheet (or a bunch of sheets), wave them around, crumple them, maybe chew on them, then drop them on the floor and get another handful. If my books ever become some cult classics for the ages, historians are going to wail and gnash their teeth at what Charlie did to some of that early work, nyuk nyuk.

Ah, if Charlie could talk, what would he say? “Play with me, Mason!” or “Feed me!” would be the top two.

Wednesday, March 01, 2017 No comments

Tech Tuesday: Roll Your Own Writing System, part 3: Publishing MultiMarkdown

The series rolls on…

In Part 1, we had a look at Markdown and the five or six formatting symbols that cover 97% of written fiction. Last week, we saw how you can use Markdown without leaving the comfort of Scrivener.

This week, it's time to build an eBook using MultiMarkdown output. If you have been cleaning up Scrivener’s EPUB output in Sigil, you should find the process familiar—only, without most of the cleanup part.

First thing, output an HTML file through MultiMarkdown. In Scrivener, click the Compile button and select MultiMarkdown→Web Page in the dropdown at the bottom of the screen.

Under the Overhead

Open Sigil, then import your HTML into a new eBook—or better yet, a “skeleton” eBook with all the boilerplate files already in place.

All you have to do now is to break the file into separate chapters and generate a table of contents. You can save even more time by creating a custom text and folder separator in the last part of Scrivener’s Compile Separators pane:

<hr class="sigil_split_marker"/>

Then, when you’ve imported your HTML file, just press F6 and Sigil breaks up the file for you. If you start with a skeleton EPUB file, you can have a perfectly-formatted EPUB in a matter of minutes. Seeing as it takes me an entire evening to clean spurious classes out of Scrivener’s direct EPUB output, this is a gigantic step forward.

One thing to watch out for: MultiMarkdown inserts a tag, <meta charset="utf-8"/>, at the beginning of the HTML output. EPUB validators choke on this, insisting on an older version of this definition, but all you have to do is remove the line before you split the file.

Breaking Free

Perhaps you want to slip the surly bonds of Scrivener. Maybe your computer died, and your temporary replacement does not have Scrivener—but you saved a Markdown version of the latest in your Dropbox, and your beta readers are waiting.

Scrivener has its own copy bundled inside the app, so you’ll need to download MultiMarkdown yourself. It runs from the command line, which is not as scary as it sounds. In fact, Markdown and MultiMarkdown are very well-suited to a distraction-free writing environment.

After you’ve installed MultiMarkdown, start a Terminal (or Command Line on that Microsoft thing). On OSX, press Cmd-Space to bring up Spotlight. Type term, and that should be enough for Spotlight to complete Terminal. If you prefer, you can start it directly from /Applications/Utilities.

Next, move to the right directory. For example, if your file is in Dropbox/fiction, type cd Dropbox/fiction (remember to reverse the slash on the Microsoft thing).

Here we go…

multimarkdown mybook.md >mybook.html

Now you have an HTML file that you can import into Sigil (just don’t forget to remove that pesky meta tag).

Silly CSS Tricks

Last week, I mentioned a couple of things you can do with CSS to help things along.

First, when you Compile your Scrivener project to MultiMarkdown, click Meta-Data in the options list. You should see some pre-filled options: Title, Author, and Base Header Level. Click the + above the Compile button to add a new entry. Call the entry CSS then click in the text box below and enter ../Styles/styles.css—if you’re using Sigil, it puts all stylesheets in the Styles directory. You can give it another name if you have a stylesheet pre-defined (mine is called novel.css).

Pre-define your CSS

Now open your stylesheet, or create one if you need to. Add the following entries:

p.sectionbrk {
    text-indent:0; text-align:center;
    margin-top:0.2em; margin-bottom:0.2em
}
.sectionbrk + p { text-indent: 0; }
h1 + p { text-indent: 0; }

The first entry formats the sectionbrk class to be centered, with some extra space above and below. The second one is more interesting: it cancels the text indent for the paragraph after a section break. The third entry does the same thing for a paragraph following a chapter heading (you can do this for h2 if needed as well). This is the proper typographical way to format paragraphs following headings or breaks, and you don’t have to go look for each one and do it yourself. I told you this can save a ton of time!

Again… Now What?

Now you can work with MultiMarkdown within Scrivener. You can export it, generate an eBook, and work with the file outside of Scrivener.

Next week, I’ll show you another way to make an eBook from your MultiMarkdown file.

Comments? Questions? Floor’s open!

Tuesday, February 21, 2017 No comments

Tech Tuesday: Roll Your Own Writing System, Part 2: Markdown in Scrivener

Last week, I showed you a brief introduction to Markdown. I only hinted at why you might want to use Markdown instead of comfortable old bold/italic (and other decorations). I’ll get detailed next week, but here’s a hint: you can save yourself an entire evening of work getting your eBook prepared for publication.

This week, though, we’re going to look at how Scrivener and Markdown work together. TL;DR: Very well, actually.

Scrivener supports a Markdown extension called MultiMarkdown. You don’t have to worry about the extensions, unless you’re writing more technical fiction with tables and the like. For fiction, what I showed you last week should cover all but decorative stuff.

Make a copy of your WIP. Got it open? Original one is closed? Okay, let’s get started.

In Scrivener, click the Scrivenings icon in the toolbar, then click the Draft or Manuscript icon in your Binder (whichever one your story is in). You should now see your entire story laid out in Scrivener.

Click anywhere in the story text, then go to Format menu→Convert→Bold and Italics to MultiMarkdown Syntax. If you use anything other than bold/italic in your writing—like typewriter font for text messages, or blockquotes for letters—you’ll have to go through your manuscript and mark those yourself. This is that other 10% I mentioned last week.

Stylin’

Scrivener has formatting presets, since it only remembers the formatting and not the preset name after you apply it. Not as good as styles, but they work for our purposes.

Markdown uses backticks (a/k/a accent grave) to define typewriter font: `this is a text message`. You can either insert your backticks by hand, or let Scrivener insert them when you publish. I have a preset called Typewriter for this, but we can define a new preset or redefine an existing one. Here’s how it works: any string of text marked “Preserve Formatting” (Format menu→Formatting→Preserve Formatting) gets the backtick treatment at Compile time.

So go find a text message or other small string of typewriter text in your manuscript, and select it. Apply Preserve Formatting as described above, and the text gets highlighted in cyan or light blue.

Now, go Format menu→Formatting and:

  • for a new preset: New Preset from Selection
  • to redefine a preset: Redefine Preset from Selection→(preset name)

For a new preset, enter the name in the dialog box. In both cases, select Save Character Attributes in the dropdown to create a text (as opposed to a paragraph) preset. Now, any time you mark a selection of text as Typewriter (or TextMsg, or whatever you called it), you’ll see it highlighted and in your designated typewriter font.

Looks good, gets converted to backticks. What’s not to like?

To make a block quote, put a > at the beginning of each paragraph in the block, and in any blank lines in between. Add a blank line to the end of the blockquote so the next paragraph doesn’t get picked up as well. Scrivener assumes that preserved-format paragraphs are code blocks, and displayed as-is, so you can’t use its Block Quote preset this way unless you turn off Preserve Formatting. In either case, you’ll have to add the > character.

Okay, ship it!

Not quite. There are still a few things you need to set up before you can get to the Efficiency Nirvana that Scrivener and MultiMarkdown offer.

To see where we need to go, let’s have a look at the output. In Scrivener, click Compile, then go to the Compile For: dropdown at the bottom of the compile window and select MultiMarkdown. You could also try MultiMarkdown→Web Page. Don’t forget to check which directory it’s going in, so you’ll be able to find it. Open it an a text editor (Text Edit, Notepad, whatever you like).

You should now see a few lines at the top with the story and author name, followed by the rest of the story. If you don’t use blank lines between paragraphs, your paragraphs run together in one big blob. There may not be any chapter titles, and likely no section breaks beyond blank lines. So let’s start fixing things. You’ll only have to do these once, or (at worst) once for each project.

Close the file, go back to Compile, and click Separators in the list. For Text Separator, click Custom and then enter the following:

<p class="sectionbrk">&bull; &bull; &bull;</p>

This tells Scrivener to put three bullets between each scene. (Anything Markdown or MultiMarkdown can’t do directly, you can do with HTML.) You’ll want to create or edit a CSS file to format the sectionbrk class the way you want (most people want it centered with a little space above and below). We’ll go over how to automatically link the CSS file to your HTML in a later post.

Set the other parts to Single Return. That’s all you have to do for Separators. In the other options:

  • Formatting: Check Title for Level 1 (and lower levels, if needed) folders.
  • Transformations: Check:
    • Straighten Quotes
    • Convert em-dashes
    • Convert ellipses
    • Convert multiple spaces
    • Convert to plain text: Paragraph Spacing
  • Replacements:
    • Replace (Option-Return twice); With (Option-Return)<p class="sectionbrk">&nbsp;</p>(Option-Return twice)

The Transformations section sounds a little scary, but MultiMarkdown re-converts those text entries to their nice typographical equivalents. I suggest you do it this way for more consistent results. The Replacements entry just inserts a blank section break that won’t get deleted during a conversion. You could just insert a non-breaking space, but (again) a later blog post will show you how you can use this to eliminate formatting issues.

Converting paragraph spacing to plain text replaces a paragraph break with two paragraphs, inserting a blank line between paragraphs as Markdown expects. It works if your Body paragraph format puts space at the beginning or end of the paragraph. If you use indents instead, try “Paragraph Spacing and Indents” and hope the indents are deep enough for Scrivener to catch.

If that doesn’t work, add two more entries to Replacements:

  • Replace (Option-Return); With (Option-Return twice)
  • Replace (Option-Return four times); With (Option-Return twice)

The two replacements are needed because of a bug in Scrivener. It converts one return to four instead of two, but the second time through fixes it.

Now hit Compile, then open the generated file in a text editor. You should see a plain text file, with a blank line between each paragraph and Markdown syntax for various highlighting. You can go back into Scrivener and try MultiMarkdown→Web Page to see what that looks like, too.

Now What?

Now that you can export a clean MultiMarkdown file from Scrivener, you can work with it in any text editor. Sometimes, just looking at the same text in a different way is enough to get you moving on a WIP and get it done. If you have an iPad, you can still edit your Markdown-ified project using Scrivener on iOS, or you can use an iOS Markdown editor like Byword to edit your Markdown file (and import it back into your Scrivener project later).

But that’s only scratching the surface. Next week, we’ll start looking at ways to prep your MultiMarkdown file for beta or final publishing.

Comments? Questions? Floor’s open!

Monday, February 20, 2017 1 comment

In-Tents Weekend #2

What’s more fun than a campout?

Camping out near the beach, of course!

The second of two camping trips offered to Mason’s Cub Scout pack this month was on Tybee Island. I’ve always wanted to go there ever since I heard about it back before I got married; as for Mason, he was entranced by the idea of camping out completely surrounded by water.


Backpack on wheels. There’s more room behind
the seats than you might think.
Having made notes about what we needed most on the last trip, I was able to do more with even less this time. It helped that I found my old backpacking stove, which is far more compact than what everyone else had, and a few other things. Seeing as Tybee is a nearly 6-hour drive from FAR Manor, I took Friday off work for the drive down (Mason’s school was out), and figured we had to leave by 11am to have enough light to set up camp. We got moving at 11:05, which goes to show that the fewer people you have involved in a trip, the less late you’ll be.

Last time I had gone to Savannah was when Daughter Dearest was in high school, going to either All-State Choir or GMEA. One thing I’d forgotten from those days: I’m sure Cat Stevens got the idea for his song Miles from Nowhere while traveling on I–16. What a boring drive that is. Fortunately, I’d brought a couple of frapps along, and I consumed them both. Mason used one of the empties when he went from “don’t need to go” to “freaking out” in 10 minutes. I swear, that kid’s bladder is the size of a walnut.

Warmth
But we got to the campsite in good order, and got the tent set up before it got dark. Some of the other families came down on Thursday, and did set up in the dark. Mason immediately took to haring around with the other scouts while the adults got supper together and went over some of the things planned for the weekend. I also kept a close eye on the weather forecast; there had been a 30% chance of rain for Saturday predicted earlier in the week, which dropped to 20% then came back up to 30%. Mason went full-tilt until about 10pm, at which point I told him to curl up in the sleeping bag with the iPad for an hour. I cut him off at 11… he said, “I’m not gonna go to sleep,” and was snoring five minutes later.

Now let me tell you about the campsite. It’s a pretty big RV park, and was far busier than I’d expected for mid-February. The tent area abuts the local cop shop—and the rear entrance is actually inside the campsite. That meant we were treated to diesel motors and backup beepers at 3am, as they brought in an impounded car, and plenty of white noise from the facility’s HVAC units. At least it wasn’t as cold as the Scoutland trip—in fact, the coldest it got was about the same as the warmest at Scoutland. On the other hand, Scoutland didn’t have a problem with bugs. As it turns out, the gnat line has crept up past Savannah, and I’ve added “bug spray” to our must-haves for future trips.

Concentrated joe…
Next morning, I put the backpacking stove on an unused grill, and started making espresso. The other guys were impressed with both the stove and the maker, both of which I bought around 1983 or so. So I played camp barista and helped everyone fortify themselves for the day ahead. Amazing, how a few shots of black espresso go down soooo good when you’re camping out.


Barefoot on the beach. Even if it’s a bit cool.
Because the next event was the whole point of island camping… the beach! If you’ve never been to Tybee, there’s North Beach, pretty highly commercialized and near the lighthouse. But there’s a second beach area that’s a lot quieter, close to the river mouth. The water was about as cold as I expected, which meant I didn’t bring Mason a swimsuit. But that didn’t stop him from kicking off his shoes and plunging in with the other boys anyway. eye roll I figured I had another change of clothes for him, so no biggie. WRONG! I could have sworn I packed some extra pants, but I didn’t. I had an extra shirt, that was it. It required a trip to a Dollar General to find him another pair of pants that only cost $6 and he’ll wear some more anyway. But walking back was pretty miserable for him.

Sleeping was a little tough this trip. Not because it was cold, but Mason was determined to hog the entire air mattress, and I found myself on the verge of falling off several times. No matter what time we went to bed, he woke up at his usual 7am—pretty much before anyone else cared to drag themselves into the world of the living.

So “here comes the rain,” and we all did our personal anti-rain dances—tying down rain flies, moving air mattresses into the middle of the tents, stashing stuff in the tents or cars. I think my own dance steps may have put the final knife in the rain: I got the ponchos and umbrella out of the car, within easy reach, and put the car cover on. 15 minutes later, we had six drops of rain and the sun came out.

Tybee Light in the background
We capped off the weekend with a walk to North Beach on Sunday morning. Mason was mad because he couldn’t jump into the ocean again, but I let him pull up his pant legs and wade. He was okay with that, because the water temperature was (as he put it) “ICE BUCKET CHALLENGE!!!”

Finally, we started back to the manor. Up Boredom Boulevard (a/k/a I–16), more frapps consumed, one more Mason bladder-panic, and returned by six. I got Mason into the bath right away, but I didn’t get my shower until around nine (what I want or need is automatically less important than… well, anything). The tent got a heavy dew fall, and I needed to put it up to air out, and that didn’t happen either. Oh well, I took care of that tonight. The Miata isn’t happy about the garage being occupied, but we’ll all deal. Tomorrow, I’ll pack it up and we’ll be all set for next time.

Speaking of which, I think next time I’ll try using one sleeping bag as a pad on the air mattress, and another as a blanket. And, as Mason pointed out, we need to add pillows to the packing list.

LinkWithin

Related Posts Plugin for WordPress, Blogger...