SPAB! v.3 Beta

logo

What is SPAB!?

At long last I’m posting a new version of SPAB! For those not in the know, SPAB! is a simple utility for authors to take a markdown-formatted book and transform it into quality-formatted, ready-to-publish files that can be uploaded to kdp.amazon.com, smashwords, and the like.

Here’s what SPAB! now produces:

  1. An epub file to be used at Barnes and Noble’s pubit, and just about anyone else that’ll take an epub.
  2. A smashwords specific epub.
  3. A zipped html file to be used at kdp.amazon.com.
  4. An 8.5 x 11 printable pdf.
  5. A 5.5 x 8.5 pdf for paperback interior at createspace, lulu, shopmybook, or lightning source.

I need some help testing this, making sure that the files produced actually work at the various self publishing sites, and making sure that the output looks good. And of course I”m open to any other suggestions as well. If find any issues you can contact me by commenting here, or shooting me an email “bryce at storyhack.com”

Bugs that I Know About

  • Bold and italics are not always working correctly in the pdf outputs. Fixed in the 3.0.1 Beta
  • Book interior images not always working in the epubs. (cover is working fine) Fixed in the 3.0.1 Beta

Usage

So you know exactly how to use SPAB!, I’ve written up a couple of tutorials as part of my online book on self-publishing. Sorry, for now you’re on your own for creating a cover.

  1. What is Markdown?
  2. Getting your book into markdown
  3. Preparing your Markdown-flavored book file to use in SPAB!

After that you just open up SPAB!, select your book file, then click publish.

Note: Make sure that your image references are correct if your book has pictures. Otherwise, SPAB! will just freeze with no indication that something has gone wrong. Someday I may build in useful error messages. Today is not that day. Stop whining, this is free software.

Download

 Download SPAB! v3.0.1 Beta now (Windows Only – 4.7 mb)

What? Windows only? But I’m a super-hip Apple addict!

Now, for you pobrezinhos who don’t have a windows machine – this has been written with cross-platform functionality in mind using the python programming language. Someday I will make you a mac installer, and probably go ahead and release the source code. Today is not that day.

Screenshot

You only need one, because that’s all there is to the program.
003

Tip Jar

If you find this little program useful and you wish to see development continue, or you just want to say thanks, feel free to leave me a tip via the donate button below.




I Think I Have a Problem

You know all those celebrities that get plastic surgery over and over? Sometimes I feel like that’s me with the theme of this blog. I can’t help myself. Every few months, it seems like, I have this uncontrollable urge to tweak my theme. If I give in to this temptation, this tweaking always turns into a total site redesign and rebuild from the ground up.

Anyway, that’s what happened here last week.

Two or three hours that could have been spent actually writing have been lost forever, but at least I have a new theme. But just check out how neat and responsive it is! Go ahead, go and resize your browser window. Make it skinny and then full screen. Stop rolling your eyes at me. It’s awesome.

If you see anything that looks unreadable or out of place, please let me know.

You know, so I can tweak it.

In other news, I think by Friday I’ll be ready to post something real about the new SPAB! If I’m lucky I’ll also be done with my edits to The Journey of St. Laurent. I’ll ask if there’s any of you that want to help me track down any typos.

I’m getting so close. I can’t wait to start completing my long list of works-in-progress.

 

Just Checking In

It’s been a while since I posted anything, so I thought I’d catch you up. Here’s updates as to what I’m working on.

  • SPAB! – this is my simple to use self publishing program. It’s been rewritten to remove dependencies on other programs. It automatically produces the various files you need to upload to the various self-publishing sites. Right now, I’m only packaging it for Windows, but it’s written in python, so I’ll (someday) package it up for other platforms, or at least drop the code on github so that anyone with python installed can run it. I’m very exited about this, and I’ll need some of you folks to help me test it out. This software is also central to my next project, which is-
  • HowToSelfPublishABook.org – this is my tutorial site. I’m rewriting everything to make a simple, cohesive book. I’ll eventually release it as an ebook on Kindle et al. with a couple of bonus chapters for those more advanced types. Needless to say, SPAB! is part of the workflow I’ll be teaching. I haven’t gotten far yet, but you’re welcome to check it out. I’m also using that site to showcase the new version of Book WP.
  • The Journey of St. Laurent – I bet you thought I’d forgotten all about it, didn’t you. Well, now I’ve edited 57 chapters. I’m in the home stretch. I have a feeling the epilogue is going to change, I’ve written out a couple of unnecessary secondary characters, and in general I think it’s a way more gooder awesomer book.
  • I’ll be republishing Oasis in Paperback so it can have the new cover to match the ebook version. And I’m adding a brand new first chapter!
  • Once I get all that taken care of, I’ll finish up the Children’s book I’ve been working on.
  • I’m in early stages of planning a series of novelettes/novellas.
  • I’m toying with the idea of making and selling a couple of smartphone apps.
  • And I’m writing another tiny piece of software related to audio drama scripts (of which I have ideas for many).

 

Book WP version 2 is here.

Okay. I think I’m satisfied enough to release version 2 of the Book WP theme. It may not be perfect, but if I don’t release it, I’ll just never get around to it.

BookWP_header

This theme is meant to help authors use wordpress to write an online book, rather than just a blog. You can see the theme in action on my site on self-publishing.

More info and a download link can be found on the Book WP page.

Now I’m going to see if I can get it listed in the official WP Themes gallery…

What’s happening?

Here’s what’s going on in my world recently. I may not have been posting here, but I’ve been staying busy.

  • I’m on Chapter 52 of my “Journey…” edits. The end is in sight!
  • I’m about 3/4 done writing the kid’s book. I think. My daughters ask me every night if I’m ever going to finish it, so I have to keep working.
  • I just wrote a poem explaining my new purpose in life.
  • I’m rewriting SPAB! (Anybody remember that?) in python. Rather than drive other programs to do the file preparation, SPAB will be doing it all.
  • I’m re-writing my how to self-publish a book site. I wanted to focus and streamline the process (hint – it’s going to use the new SPAB)
  • Oh, and in the next week or so, I’ll be releasing the next version of my WordPress theme Book WP. You can already see it in action over at HowToSelfPublishABook.org. It’s been simplified and betterified.

The Trials and Tribulations of Self-Publishing Top 10

Moved as part of my HowToSelfPublishABook.org redesign. This is a guest post from Hillary Peak, Author of Wings of Hope and Cappuccino is the Answer for Job Dissatisfaction.

Her personal website is www.HillaryEPeak.com

10. So far, I’ve spent a lot more than I’ve made.

9. In my experience, good reviews sell more books than anything else. Check out bookrooster.com

8. It isn’t worth it to spend money to try and win an award.

7. The frugal ereader is worth the money.

6. Those free days on amazon are exciting–until you realize that you didn’t make any money. Plus, I haven’t seen the pick-up in reviews I’d hoped.

5. There are a lot of opportunities out there that are free or fairly cheap–particularly goodreads and facebook.

4. Facebook ads work, as do goodreads ads, if you are willing to spend a little money.

3. Doing a blog tour is really fun–and a lot of work.

2. Get into the Indie world, there is a lot of great information, help, support and new ideas!

1. If you have a good product, you can sell it, but it requires a lot of time and effort.

 

E-Book Self-Publishing: Part 3

Note this was moved here as part of my HowToSelfPublishABook.org redesign.

Here is part 3 of J. Dane Tyler’s series. You can read Part 1 here, and Part 2 here. The original appeared on his whatnot blog, and appears here with his explicit permission.

If you get a minute, you should also go check out his produced ebooks:

All right, in this section of the tutorial – which, among us geek-types who like to learn on the interwebz is known as a “tute” – we’re going to have to dig, and worse still, script. *Shudder*

What you’ve done so far, if you’ve followed all my steps to the letter, is to take your Microsoft Word or OpenOffice Writer document, strip out all the formatting (and I do mean ALL the formatting), and now you’ve got it back into a nice, handy little HTML template suitable for you to transform into a .prc file which is DTP- and Kindle-friendly and allows you to check out your creation with the Amazon Kindle Previewer software.

So you’ve got an HTML document with no formatting. Now what?

Put back what you lost

You lost a lot. If you’re anything like me, you use a fair amount of italics to emphasize certain words in your manuscript. Don’t do that. As much as you can avoid it, you should. As a writer, you should have a strong enough voice to where that kind of thing is rare and well-placed in your document. But whatever the case, be you heavy-handed or light-touched on formatting, whatever you had, you’ve lost. It’s gone. There’s nothing there but a plain ol’ text document with a few paragraph tags now.

So, I’m going to tell you how to add back italics. This will go for any other inline sort of formatting you did too – bold face, underlining, strikethrough, whatever. As long as it isn’t a title or heading, a footer or a block quote, it’s probably inline and this is how you have to put the formatting back.

  • Open your word processing document, NOT the HTML document. The one with either the .doc(x) or .odf file extension. Open it with whatever the native word processor is.
  • Now, go to the Edit menu and choose “Find”.
  • Locate the special or format location features on the “Find” dialog box.

image

  • From the special formatting selections, locate the selection for “Font” and choose the font and the type of formatting to locate. For instance, in the image below, the Find dialog is set to locate Times New Roman 12 point italic font.

image

  • Once you click OK on the setup you can have Word (and presumably Writer) locate the  instances of italicized text in your manuscript. Presumably. I’ve never actually tried this, of course. Ahem.
  • When Word or Writer finds an instance of formatted text, you can locate it in your HTML document using the “Find” feature in either Notepad++ or your text editor (if it has one) to locate the same text in the HTML document.
  • When you’ve found the text to italicize, put an <em> before the text you want to italicize and a </em> after it. Note those differences! The one without the slash is called a start tag, and the one with the slash (and it’s a forward slash, leaning from lower left to upper right) is called an end tag. You need BOTH, or everything AFTER the <em> tag will be italicized in your manuscript. BE CAREFUL!
  • Okay, finished with that? Great! Now go back and do it for every other type of formatting you did.
  • Did you manage to use drop caps in your document? Well, while HTML and CSS (that’s Cascading Style Sheets to you an’ me) might be able to replicate that for you, the Kindle doesn’t show it. If you HAVE to use that technique, you have to make the initial cap a larger font face than the rest of the text. I kid you not, that’s the work-around.
  • Save your HTML document after EVERY CHANGE and check your progress by opening it in the web browser of choice for you. EVERY. CHANGE. NO. EXCEPTIONS.
  • Close the word processor document when you’re finished.

Now for the Rest of It

Okay, with that done, let’s go back and add your book title, chapter headings and any other subheadings you might like to add. Remember your book is going to need “front matter” too – this is the copyright statement at the beginning of the book, and you’re going to want a table of contents in there if you’re doing a book with, say, multiple stories. You know … like my eBook, f’rinstance.

So let’s format the title. First, you want to open the manuscript in Notepad++. If you’ve installed N++, you probably noticed it asked you if you wanted to add it as an option to your context menu. I find this extremely handy for this part. I right-click the HTML file and click on the Notepad++ option in the quick-menu that comes up. Bada-bing, it’s open in N++ ready to edit. It should automatically be opened with HTML as the language selected too.

When you copied everything from the KompoZer screen and pasted it into the <body> section of your HTML document, it presumably brought over the title and other information you had there as well. I, personally, leave all that out until it’s time to do this portion, but if it’s there, that’s fine too.

Find the book title if it’s there. In front of the first word (i.e., to the left in English-speaking, right-to-left reading countries), type the code <h1>. Note the angle brackets. That’s mandatory on all HTML code and you must use it with everything you do in HTML. This puts the Heading 1 or top-level heading format on the title. If you look at your nifty little template, you’ll see I did a tiny bit of CSS scripting for you. What happens to your title is, it becomes all uppercase, 24-point bold-face font and is centered on the document. When you save and reload the HTML document into your web browser, you’ll see this happen. Cool, no?

Now, after the last word of the title, put the end tag for the Heading 1 formatting, </h1>. This makes sure ALL the text in your manuscript isn’t transformed to a level-one heading.

There’s more. If you have a subtitle, you can use an h2-format heading by putting <h2> in front of the subtitle and an </h2> end tag after it. I have a special format set up for the author’s name too.

So find your name. The part where it says “by You” or whatever. And in front of that line, put <p class=”auth”>. Then, after your name, i.e., where you want the formatting to end, type </p>. Save your document, reload in the browser, check it out, be impressed.

Now, you can place your copyright front matter. Copy and paste it if it’s not in place, and if it is, put <p class="ctr"> in front of it and </p> at the end of it. And your front matter will be nicely centered on the screen for you. Voila! You’re finished with the front matter formatting.

A word about Amazon and Smashwords front matter – be especially careful not to include a statement like “printed in …” with your country of origin. It is NOT a printed book and this statement is meaningless. It will probably get you kicked off of Smashwords.com. Amazon doesn’t like it either. They both have very particular standards about their front matter, so research it carefully before you put one in place.

For my hierarchy of headings, I use this guide:

  1. H1 headings: Book title only.
  2. H2 headings: Story or chapter titles.
  3. H3 headings: Section titles or chapters within shorter works included in anthology.

I don’t go below level three for myself. You can go down to H6, it’s up to you.

Locate your chapter divisions and make sure they are formatted correctly.

Now, let’s discuss the pages.

Pagination in HTML

There isn’t any. None. Zero. Here’s what you have to remember: this is one long document. On a web page, each page is a separate document. In a Kindle, that’s not possible, each eBook is all one document. But there are tricks you can use to keep some page breaks in place.

Microsoft Word creates this neat piece of code when I convert the document to an HTML file.

<br clear=all style=’mso-special-character:line-break;page-break-before:
always’>

Now, I’m not sure what, if any, of that gobbledygook is of use to the browser, but I know I can create page breaks so that each story starts on a new page and each chapter does too, if you’re so inclined. But the idea is free-flowing text without margins and bottoms and tops. The Kindle likes this best and even does some formatting for us, all by its little lonesome.

The problem is that little ‘mso-special-character:’ part. The one I used on my hand-made book was similar, but cleaner:

<br clear=all style=’page-break-before:always’>

Much simpler, yes? And no ‘mso-’ specific formatting, which is bad juju.

Table of Contents Crafting

Crafting a good, working table of contents isn’t easy. It’s pain-staking, in fact, and you can’t just let your word processor do it for you. At least, Smashwords hated that. So you have to build them by hand.

  1. Open the HTML document in Notepad++ if it’s not already.

  2. For each story or chapter (I’m going to call them chapters to save a little typing from here on out), you create an entry on a Table of Contents page. So, I put in a page break right after my front matter and dedication, if any.

  3. At the top of the page type “Table of Contents” and apply an h2 formatting.

  4. In the body of the page, add the name of the chapter, such as “Chapter One” or “Chapter 32” or whatever.

  5. In front of each one, type the following code: <a href="#ChapterNum">. For “ChapterNum, of course, you use the actual digit. Or name, if you’re going with named chapters. At end of the chapter name, you type </a>. So, a complete entry is <a href="#Chapter01">Chapter 01</a>. And see the pound sign/hash mark/tic-tac-toe/whatever you want to call it thingy? That’s required before the chapter name or number. Won’t work without it.

  6. Save your HTML document, but don’t bother loading into the browser yet; we’re only half finished with the ToC.

All right, what you just did is create a bunch of anchor tags, or hyperlinks, which we now have to assign targets for. You can click ‘em now, but nothing’s going to happen because they have no destinations to connect to. So let’s give them the targets.

“Target” is where the links take you. So, let’s finish them off.

  1. Open the HTML document in Notepad++ if you closed it.

  2. Go to the first chapter title in your book after the ToC. Chapter 01 or Prologue or whatever you called it.

  3. Before the chapter title and either INSIDE or OUTSIDE the heading format tags (doesn’t matter), type the following tag: <a name="ChapterNum">. The ChapterNum is replaced with whatever you named your chapter and it must PRECISELY AND EXACTLY MATCH WHAT YOU TYPED IN THE TOC LINK. Otherwise, the link will not work, period. BE CAREFUL! So, a full entry would be: <a name="Chapter01">Chapter 01</a>.

  4. Do this for all the chapters in your book. You can use the find and replace feature and just type in specific numbers if you want, but for named chapters or story anthologies like mine, this is a manual process.

  5. Save the HTML document when you’re finished. Make SURE you get them all.

  6. Open your HTML document in the browser and test each and every link. Every. One. No. Exceptions. Test. Re-test. Test again, then do it all over again. Close it, open it, save it, then test test test testtesttest! Test it, over and over! Get it?

  7. Do they work? If yes, GREAT JOB! If not, don’t be bummed out. It’s probably a typo somewhere, and will be easy to fix. (Yeah, right.)

Okay, this is a lot. A LOT. But don’t worry, the hard part’s over. Now we have a hyperlinked, well-formatted HTML document and we can run it through a couple of crunches and get a new file type. We’re almost there!

Oh, and a cover image. We need a good cover image. We’ll talk about all those things next time.

Have fun, gang!

E-Book Self Publishing: Part 2

note: This was moved here as part of my HowToSelfPublishABook.org redesign

Here is part 2 of J. Dane Tyler’s series. You can read Part 1 here. The original appeared on his whatnot blog, and appears here with his explicit permission.

If you get a minute, you should also go check out his produced ebooks:

Welcome back, fellow eBooklets! …0r whatever we are. Today’s segment of my eBook publishing tutorial gets into the file conversion part of the process, which can be fun or really aggravating depending on your skill, patience and how well you follow instructions.

Let’s get to it then.

Open the File in the Word Processor

First, open the story or manuscript you’re going to convert in Microsoft Word or whatever word processor you’re using. If you’ve created a plain text file, you can skip this step and go on to the next portion of the tutorial. We’ll catch up.

Once the file’s open, you want to create an HTML file from your story which will be manipulated elsewhere. So go to the Save As feature of your chosen word processor and in the file type designator box, choose “HTML” for the file type.

image

Now save your story as an HTML document. When it’s finished, open your file explorer – My Computer or Windows Explorer for Windows; you weirdos using stuff other than Windows are on your own again.

The file should be named something you can easily recognize and remember. It will have an .htm or .html extension wherever you saved it. Now navigate to it with Windows Explorer.

Check Out the Ugliness

This is an optional step, but it gives you some idea of how bad word processing software is at generating good HTML code.

When  you’re finished, you can open the file with your brand-spankin’ new Notepad++ text editor. If you didn’t download it, shame on you, lazy-butt. Open it in whatever plain-text editor you want. Not a word processor, though; that’s critical. If you DID download Notepad++, make sure you select HTML under the Language menu.

With the HTML version open in your text editor screen, you’re going to see a LOT of code you didn’t know was there. Matter of fact, it’s gonna be a hot mess.

image

Yikes! Look at that!

But don’t despair! We can get rid of almost all of that gobbledygook and clean this up jiffy-quick.

Cleaning It Up

Okay, now we’re going to clean up the HTML from this thing properly.

  1. Open the file in its native software again – Word, Writer, whatever it was.
  2. Hold the Ctrl key and press the A key (Ctrtl + A) to select all the text in your file.
  3. Copy the text (Ctrl + C).
  4. Close the word processor; click YES if prompted to make all the text available to other applications.
  5. Open your text editor (Notepad, Notepad++, etc.).
  6. Paste the text into the text editor (Ctrl + V). This eliminates all unnecessary formatting and word processor-specific coding.  If you use Notepad++, check the Language menu to see it’s on Normal Text.

Okay, so you’ve got a nice clean document now. It has no formatting. What’s that you say? You had italics in some places, centered scene break markers, things like that? Too bad, Bucky. They’re all gone now. It might be in the HTML document you made, and it will still be in your original file, but it’s gone from this puppy now.

Some sites, like Smashwords, for instance, call this the “nuclear option”. This removes any and all formatting from your file. The curly quotes will still be there, pointed in the right direction, but pretty much anything else you added, like italics for emphasis or special formatting for chapter titles, things like that … gone. Zap. Pow. Bzz. Pbbt.

Getting It Laid Out

Once that’s done, you need to lay the text out in a way such that the HTML file will have paragraphs in it. If you don’t do this, you’re going to have one long, continuous paragraph. Or you’ll have a bunch of lines broken with line break tags, which might look okay or it might not, depending on how the reader sets the sizing for the text in their Kindle/eReader.

You need to make sure the device knows where to break paragraphs, so they don’t end up in the middle of a line somewhere. You also don’t want any other headaches associated with bad HTML coding. So let’s get this done.

I like to use KompoZer, the HTML editor, for this step. There is also a composer window as part of SeaMonkey, the Mozilla browser no one knows about, but … you know. If you didn’t download KompoZer, you’ll have to do this all by hand. Have fun. Remember, copy and paste is your friend.

  1. Copy all the text from the text editor (Ctrl + A to select all, then Ctrl + C to copy).
  2. Open KompoZer.
  3. Paste the text into the design screen (Ctrl + V).
  4. Go to the View menu, and choose HTML Tags view.
  5. Select all the text on the screen (Ctrl + A).
  6. On the Format menu, choose Paragraph, Paragraph.
  7. Switch to the Source tab (at the bottom of the window).
  8. Go to the Edit menu, choose Find and Replace.
  9. In the Find box type <br>; leave Replace blank. Click Replace All.
  10. When the search is finished, return to the top of the document and run it again. You should get a message saying it can’t find what you’re looking for.
  11. Click the Design tab again; you should now have nicely formatted HTML paragraphs.
  12. Click on the Source tab again and copy all the text from the edit screen (Ctrl + A, Ctrl + C).

The KompoZer Source tab should show something like this:

image

See the pretty paragraph tags (<p> and </p>)? You’re finished with KompoZer now, but leave it open, just in case of boo-boo later.

Okay, the next steps are pretty easy, and very straightforward, but crucial.

Putting It into a New HTML Document

Open Notepad++. In a blank document, go to the Language menu and choose HTML.

BE CAREFUL! Remember you have your entire story and your HTML code for paragraphs on your clipboard; DO NOT COPY ANYTHING! If you have to delete to correct a mistake, either double-click on the error and re-type, or use the backspace key to erase it. I REPEAT, DO NOT COPY OR CUT ANYTHING DURING THIS PROCESS!

Type the following text into the document, just like you see it:

image

Don’t worry about the little + and – signs on the far left; that’s a function of Notepad++ and you don’t have to type that part. Just the rest of it.

What you have now is a template you can use for all your Kindle-published stories and manuscripts. It will do all sorts of neat tricks; anything you tag with the HTML heading 1 tag will automatically be changed into all uppercase letters, with a font size of 24 points and be centered. All the h2 tags will be centered; all the paragraphs of the class “auth” will be centered, 10-point italic font; and so on. The Kindle Previewer software had no difficulty with this little style sheet added to the HTML document, but YMMV, so use this template at your own risk. You can eliminate everything between the head tags if you’re worried.

All right, with that done:

  1. Open the Kindle Stories template you just made (if it’s not open).
  2. Save the document with a new name.
  3. Open a new tab in N++.
  4. Paste the markup text from KompoZer (Ctrl + V).
  5. Go to the top of the document (Ctrl + Home does this quickly).
  6. Delete everything from the top of the document to your first paragraph tag (<p>). All this information is already in your template; you don’t need it.
  7. Select all the remaining text (Ctrl + A) and copy it (Ctrl + C).
  8. Switch to your Kindle Stories template.
  9. Move the cursor between the two body tags (<body> and </body>).
  10. Paste the text from the other tab into the template (Ctrl + V).
  11. From the Languages menu, choose HTML.
  12. Save the story in N++ with an .htm extension as file type HTML from the File, Save As menu. You can overwrite your existing HTML version of the story if you’d like.
  13. Open the new HTML file from My Computer or Windows Explorer with an Internet browser.  Or just double-click on it to have it open in your default browser.
  14. Verify all the necessary formatting is in place — titles, subtitles, chapter names, italics, bold — all were removed and have to be put back manually.

Next time, we’ll do a little HTML markup to make your story pretty again. Hang in there gang, we’re almost finished. See you next time.

E-Book Self Publishing: Part 1 by J. Dane Tyler

This article was written by J. Dane Tyler and originally appeared on one of his blogs. You should also check out his fiction blog. It’s one of the guest posts I’m moving over from my self publishing blog.

This series reflects the path Dane took to self-publish his short story collection via the Kindle Store and SmashWords. You can check it out prove to yourself that he knows his stuff. (And of course read some good fiction)

Thus begins my series of posts about how to self-publish an eBook on Amazon.com’s Kindle store and Smashwords.com. As I warned before, if this is not something you’re interested in, click away and I’ll see you when the series is over. I’m not sure how many parts this will run, though, so I hope at least some of you with stories you feel are entertaining and would be enjoyed by others but don’t think you have a market for them will stick around and consider this.

J. A. Konrath also suggested if you’ve got a manuscript which did its rounds – that is, you sent it out for representation and an agent didn’t pick it up or your agent sent it around and no publisher picked it up – you consider doing this with those as well. What have you got to lose? At the worst it languishes just like it is now. At best, you have an eBook bestseller on your hands and who knows what doors that will open.

I self-published my eBook for a number of reasons.

  • Short story markets are generally non-paying and take months and months to respond, in general, to submissions. Not all, but some. The benefit is a publishing credit, and you know what? I have those already from a non-fiction book. Why do I need them from non-paying markets?
  • My situation isn’t stable and my future’s a little rocky. I wanted to see results now.
  • I believe the buying public will let me know if story collections are still interesting or desired by the readers of the world.
  • EBooks are the way of the future. As many people as there are bellyaching about I’ll never give up books, I’ll never give up books, lots of figures show eBooks are currently outselling print books by a fair margin, which is only going to grow. Get with the program or be run over by it.
  • I can get 70% royalties with Amazon’s Kindle program. Try THAT with a mainstream publishing house. Go ‘head, I dare you.
  • My stories were already on my blog for free; why not try to make a little money from them?

I could keep going, but you get the point. All the money I’ve made so far is that much more money than I made with them by not publishing them on Amazon and Smashwords. I’m already ahead of the game. That’s why I did it, and it looks like I was right so far.

First things first: What you need

You’re going to need a few things, but you’ll already have most of them, and what you don’t have is free, so don’t freak. Just go get it.

  • A good text editor. Something like Notepad++ would be ideal, but you can use Notepad – which comes with Windows – if you’d like. If you’re not using a PC, or if you’re using a PC without Windows on it (AHEM, Bryce) [Note from Bryce: What? I use windows. I just don’t use Word…], you’re on your own. But I think Notepad++ is multiplatform, so I use it and I’m going to assume you’re using it too for the rest of this tutorial series.
  • Amazon’s Kindle for PC or Kindle Previewer software. I prefer the latter, but I have both. I can’t speak for how Kindle for PC works; never used it. The previewer does everything I want it too. I need this; it’s the only way I can test the behavior of the file and get an idea about how it looks on a Kindle. You can’t skip this one; go get it from Amazon’s Kindle publishing page.
  • Microsoft Word, or something which can save as a Microsoft Word document, like OpenOffice Writer or such. Try to avoid Wordperfect; it does strange things and no one recommends it. Also Smashwords ONLY accepts Microsoft Word documents. Go figure.
  • Mobipocket Creator. This is the program which will transform your file into a Kindle-friendly format for you. This is completely optional; many, many people upload their HTML document straight to Amazon’s DTP (Digital Text Platform) and the conversion to the Kindle-native file format is done for them. No hassles, no hair-pulling, no cussing. What fun is that?
  • I like to use KompoZer – which is a free, multiplatform HTML editor (like a word processor for HTML) to do some of the heavy, repetitive lifting. It’s not necessary, but you’ll see why I use it when we get into the process.
  • Patience. Yep, you’re gonna need it. It’s gonna take a couple of days to get this right, but by the time you do, you’ll be a pro and can do it in your sleep.

Okay, once you’ve got all that stuff together, you’re going to need a story. Of course, that story should be imported or copied and pasted into Microsoft Word if you didn’t write it in Word. The part where you have a story, I’ll assume is done.

Next time, we’ll get to the nuts and bolts.

See ya then!

What’s Happening?

Okay, so I got mad at the internet after the great website hack debacle of 2012. Obviously, I haven’t posted anything here in a while, although I did post about how I won the election over at my other blog.

Even though I’ve been quiet, I’ve still been busy. There are a bunch of projects that I’m working on. So if you care, here’s what you can look forward to:

  • A new version of Book WP. This is actually pretty much ready to go right now. It streamlines a couple of things, it’s responsive, there are a couple more options on the back end.
  • The Journey of St. Laurent – I finally rewrote the section in the middle that I’ve been dreading/having trouble with, so now I’ve started hitting the edits again. It feels good to be making progress again.
  • How to Self-Publish a Book – After much thought, I’ve decided to do some major edits, and rewrite the site to be a more focused book. As a result I’ll be cutting a lot of stuff and moving all the guest posts over here (Hope that’s okay, darcknyt). I’ve just got to figure out the correct way to install permanent redirects for those.
  • I’ve also been working on another couple of non-writing-related essays and articles for my personal site. My goal is to post there once a month.

In other news, I’m trying out a new tool for posting this. More on that if it works.

Hacked, and Hacked Again

I’m starting to get a little tired of this crap. I have a bunch of sites hosted on one account. A couple of weeks ago all of them were hacked. A line of code was added to every php file in my account. That code would sometimes automatically redirect people to one of a list of websites.

So after pulling my hair out for a while, I changed all ftp passwords and my backend host password,and got my unix command line on and removed all the code from the infected files. Then I made sure that every site with wordpress was up do date (several weren’t). And I scanned both computers that I use to access the backend to these sites and checked them with two additional malware/virus scanners besides my standard one. (Nothing found).

Two days later, it happens again. I double double check, and apparently I missed one installation of wordpress. For the heck of it, I also went through all my sites, deleting a whole bunch of scripts in case one of those has a vulnerability.

Then I made sure that my hosting account was set to records all raw access logs so I can catch/ban the perpetrator if it ever happens again.

I’ve been so mad that I haven’t written anything in like three weeks.

So busy. And my kids are famous somewhere in Asia.

Okay, so I’d love to say that I finished my round of edits for Journey of St. Laurent and I’m ready to send out some copy to those who have said they’ll help me edit. I’d love it.

I’d love to say that I actually finished the draft of my Children’s novel.

But I can’t.

*Frowny Face*

Things have been crazy in my life.

The biggest thing is that I’ve been fixing up my house / building a shed / installing a new retaining wall in preparation for selling our house. Well, I guess it paid off, because the house is now under contract.

As soon as that happened, it was frantic-search-for-a-new-place time. We’ve now made a verbal agreement with a nice couple, and we’ll sign some papers and pay some earnest money tomorrow evening. Yay!

Assuming all goes well, that means we’ll be in a new place by Christmas. So now there’s lots of boxing up and such to get done.

As to the Asia thing.

Several months back I was downtown in Salt Lake City waiting for my daughter to finish a choir practice in the Tabernacle at temple square, where her choir was soon to have a big performance. As I played on the grass with the baby (then about 8 or 9 months old), an Asian group tour came out of the Assembly Hall and saw him (my son) sitting there smiling. They went nuts over him. About 20 people gathered around and started snapping pictures.

And then few days ago we went to Yellowstone for a family reunion. As I came out of the restroom at Mammoth Hot Springs There was a group of 15 or so nice Asian folk gathered around something and taking pictures. As I stepped into the crowd, I saw my 3 year old sitting on a big rock, hamming it up and posing for all she’s worth. I turned to my left, and there was my 7 year old doing the same thing with a crowd around her as well. My wife was just standing off to the side, trying not to laugh.

So by now I’m certain that my kids have made it onto a dozen personal blogs that I wouldn’t know how to read.

Fail!

Well, I didn’t make my goal of writing that Children’s book last month. I did put down about 1700 (edit: make that 17,000) words, though, which is more fiction than I think I’ve ever written in a month before (yes, I know all you “real” writers are laughing at that tiny amount.) I suppose that’s sort of a win for me. I did really well the first half of the month and then crashed in the second half. Anyway, I have the whole thing all planed out, and many of the chapters started, so it should be fairly easy to get done. I just need to make sure I’m writing something every day.

So now I’ve got get back to editing Journey of St. Laurent.

Last Daily Progress Post.

Okay, so I’m not quitting my WIP or anything, even if the last couple of days I haven’t written much anything. It just occurred to me that these posts are pretty boring.

However, I still need some kind of public accountability. How else can I be expected to keep going? I’ll be tweeting the daily progress instead of posting it here. I’ll keep it to one post a week for updates.

Current word count: 9,110 ( I did some editing… I just can’t help myself.)

Weekend Report

Okay, my kid’s book is currently at 9,099 words. It looks like it’s going to end up a couple of thousand more than the goal (20,000), but I think I’ll be able to get it done this month.

However, my editing has pretty much fallen by the wayside. If I don’t figure out a way to get it done, then next month will become an editing month. So much to do.

Version Control for Authors (on Windows) Part V

Edit 8/15/2012 – This is now available collected into a single ebook for your kindle. Only a buck. Version Control for Authors

Here it is, the final installment of this series about Version Control, and how authors can use it.

Part V: Addendum

Okay, here’s the deal. Versioning is great, but if your computer crashes one day you’ll just lose all those pretty versions of your work. However, I respect your time, and I know I’ve already given you extra things to every time you need to commit to the database.

So let’s make backing up your work automatic, okay? My goal is to make this process as painless for you as possible. Fortunately, there are plenty of tools out there to help you do this. I’ll cover my favorite one and list a couple more.

Dropbox!

Dropbox makes a directory on your computer, cleverly named “Dropbox”. Dropbox then syncs everything in that directory to its online servers and to any other computer on which you have dropbox installed.

In my tests, it worked fine to put both a repository and Fiction Working Directory in the dropbox folder.You can even sync a repository to two different computers at once (At least it worked when I tried it)

How to get it:

Just visit by the Dropbox website, sign up for an account, and download the software. If you go with the free account, you get 2GB of storage in your dropbox.

If you use my referral link below to signup, we each get an extra 500 MB for our accounts.

http://db.tt/sPRHQLP6

Why I like Dropbox

And as I mentioned, if you get friends/aquaintences/random blog readers to sign up for Dropbox, you can earn and extra 500mb per signup up to 16gb total extra space.

There are a ton of desktop and android and iphone app that come with seamless integration to dropbox.

Also, guess what – dropbox comes built in with a sort of version control built in without you having to do anything. See – you knew I’d throw version control in here somewhere. Dropbox saves a copy of each file every time you update and save it.

Of course this doesn’t give the ability to label versions or anything, but has been a lifesaver for me once when I got my files crossed and overwrote a file I had spent hours on with an old version.

Also, you’re not guaranteed that it’ll have all the old versions you need or want.

To make use of this versioning functionality, you first need to log on to the dropbox website (after you’ve signed up, of course.)

032

033

Once you log in, you should be shown the contents of your dropbox folder. You can click on the folders and find the files you want.

034

To access old versions of your file, you need to click in that file’s row. If you click the file name itself, the file will download, so click somewhere else in the row.

035

Once your file is selected, click the “More” button above. A drop down menu will appear with “Previous versions” available as one of the options.

036

If you click on Previous Versions, you get the version history screen. Just click on the verssion that you want to download.

037

You can also find deleted files. As you’re logged into the dropbox website and looking at your stuff, you just need to click the “Show deleted files” button, and the deleted items show up kind of grayed out.

038

039

Easy Peasy.

I’ll step down from my Dropbox soapbox now.

Of course, there are plenty of other options for similar services.

Here’s four of them:

Okay, that’s it. You made it through all five parts of this introduction to version control. Thanks for reading, I hope you’ve found something useful.

Version Control for Authors (on Windows) Part IV

Edit 8/15/2012 – This is now available collected into a single ebook for your kindle. Only a buck. Version Control for Authors

Continuing the series talking about Version Control, and how authors can use it. It’s a big enough subject that I felt it best to split it into five uneven parts. I’ll update these to be links as each part is posted.

Part IV: Questions & Tips

Here are some questions you might have asked if we had been face to face this whole time.

Can I have one repository for each project?

Of course. There are at least three good reasons why you might want to do this.

  1. You have very complex projects
  2. If you jump around between your writing projects a lot
  3. If you expect to often be rolling back individual projects

Here’s how I would organize things if I were doing them this way.

Start by creating a “Fiction Repositories” directory, and then create a new empty directory for each project.

040

Then in each of the new empty directories, create a repository by right clicking, then in the popup menu selecting TortoiseSVN > Create Repository Here, then click OK.

Now create a working directory and check out the empty project into it by right clicking then on the menu selecting SVN Checkout. Here’s where you’ll start to need to be careful. TortoiseSVN remembers the last repository you checked out enters that information into the “URL of repository:” field. If you hit the dropdown menu, it brings up a list of other repositories that you have checked out before.

041

When you start creating a bunch of repositories, sometimes they don’t show up on the list, especially if you haven’t used the repository yet.

If you click on the “…” button while there is something in the field to the left, the Repo-browser springs to life and lets you select a previous version of the selected repository.

That’s not what you always want, so just select and erase the text in the “URL of repository” field, and then click the “…” button to the right.

042

043

You can now use your working directory by dropping in files and editing files like you did before. Remember to commit.

You can make a new working directory for every project that you’re currently working on. I would probably just put all the checked out repositories into directories that all sit in a Fiction Working Directory.

If you choose to work with multiple directories, you’ll just have to get used to selecting the right repository any time to use TortoiseSVN to do anything.

So, yeah, this is a bit more work. I think most of the time fiction authors can deal just fine with one repository.

What if I don’t want to see everything that’s in my repository in my fiction working directory?

The solution is easy – only check out the project folders you want to be using.

Yes, we’re skipping back and assuming that you have all your fiction projects in a single repository.

Before you do this, make sure all changes and new files have been committed to the repository. Now delete the contents of your fiction working directory. In fact, why don’t you just nuke the whole directory and create a new one.

Right click on your new fiction working directory and click “SVN Checkout.”

023

In the checkout window, click “Choose items.”

024_shoose_items

Now, as long as you’ve been at least mildly organized in your project creation (I keep mine one book/story per directory) you should have no trouble selecting which projects you actually want in your Fiction Working Directory.

025_selecting

Once you click OK, you are taken back to the main checkout window and you’ll notice the “Checkout Depth” has changed.

026_depth

After you click OK again, TortoiseSVN will get to work copying only your chosen projects into your Fiction Working Directory. You can now work on those projects and add new projects the same as you did before.

What if I get sick of using this system, but I don’t want to hunt down all the .svn files that are in every stinking directory?

All you need to do is use the Export command rather than the “SVN Checkout.”

In other words, create yourself a new directory. Right click on it and go to TortoiseSVN > Export.

028_export

You’ll get a window that looks similar to the checkout window. Just OK and TortoiseSVN with serve you up a copy of your repository sans .svn file folder things.

028_export[1]

Next time I’ll wrap up by talking about something that is not Version Control per se, but still of utmost importance.

Version Control for Authors (on Windows) Part III

Edit 8/15/2012 – This is now available collected into a single ebook for your kindle. Only a buck. Version Control for Authors

Continuing the series talking about Version Control, and how authors can use it. It’s a big enough subject that I felt it best to split it into five uneven parts. I’ll update these to be links as each part is posted.

Part III: Get Your Stuff Back

Let’s say for whatever reason you need to dig in to your repository and find an old version of that one short story you wrote.

I’ll show you two ways to get at it. One is the shotgun approach. The other is the right way.

The Shotgun approach.

The shotgun approach is to just check out a copy of the full repository as it was at the version you are interested in.

WARNING!!!!!!!!!!

This is useful if you’ve recently made a lot of changes that you want to undo, but isn’t the “right” way to get a single file.

Here’s what you do.

Commit and then erase your Fiction Working Directory. This is just to keep you from getting your wires crossed. You can check that last version back out using the same process when you’re done.

Create a new directory somewhere and go into it like we did when we were first setting things up. For this example, I’ll make a directory called “Old Version.” Once you are in your “Old Version” directory, right click and choose “SVN Checkout”. In the checkout screen, make sure you check the “revision” radio button.

015_Getting

Click the “Show log” button and choose which old version you want to get.

016_Choosing

Then just click OK in the checkout window and you get your files installed to the directory you just created.

If you make changes and then commit while you are using this checked out version, those changed files will become the newest version that is stored in your repository. You may lose some that you previously made if you do this. (Lose, no. You will just end up with a most recent version that you don’t expect.) Hence the warning above.

The Right Way

The right way will usually be to just grab a copy of the file you want. For this, we’ll use a tool called the “Repo-browser”

To Launch the Repobrower, just go to your documents folder (or any windows explorer windows) and right click > TortoiseSVN > Repo-browser

017_Repo-browser

Since you currently only have one repository, it should come already selected in the window that pops up. Just click OK.

018

Now you should be looking at the repo browser. In the Repo-browser, you are seeing the current version of files that are in your repository. In TortoiseSVN, the latest version is also known as the “HEAD.”

To find an old version, you need to click the button in the upper right that says “HEAD”

019_browser

You can type in the number of the revision you want to browse, or if you don’t know it, click the “Show Log” button.

020

When selecting the version you want to look at, take notice of the “Message” column. If you add a good message when you check in, this column will be very helpful in finding the version you want.

021_message

Click “OK” a couple of times and you’ll be back at the main repo-browser window, but now you’ll be looking at the files and folders from the version you just selected.

From here you can navigate the files and folders just like you would in your regular windows file explorer. You can drag and drop the files that you see onto your desktop.

022_version

Well, that should give you the basics of using TortoiseSVN to keep track of your fiction writing. Pat yourself on the back.

But don’t go anywhere, I’m not finished yet.

Next time I’ll answer a few questions and maybe give you a few ideas for working with your repository in the real world.

Report on Day 6

After yesterday’s writing, I’m up to 4,226 words on the new book. I think I’m on pace to finish by the end of the month, but I’d like to get a little ahead, just in case. We’ll see how inspired I get as I sit down to write.

I’m writing this one using Scrivener, due to Dane‘s  nonstop praise of it. I’m liking it pretty well, but I do have some questions. I’ll have time to figure those out after I’m done writing the book, though.

Version Control for Authors (on Windows) Part II

Edit 8/15/2012 – This is now available collected into a single ebook for your kindle. Only a buck. Version Control for Authors

Continuing the series talking about Version Control, and how authors can use it. It’s a big enough subject that I felt it best to split it into five uneven parts. I’ll update these to be links as each part is posted.

Part II: Getting Started

In Part I we discussed what a version control system is and why you as an author might want to use one. Today we’re going to get you started on the nitty gritty of setting one up. From here on out you’ll see lots of screenshots.

Download Your Version Control System

I use Windows, so I’ll show you how to do all this using Windows software.

The tool we’ll be using is called TortoiseSVN. It’s not the flashiest thing in the world, but it is easy to set up and easy to use. Oh, and it’s free. Remember to thank your local Open Source programmer.

You can download a copy at: http://tortoisesvn.net/downloads.html

Two versions are available: a 32 bit one and a 64 bit one. If you don’t know which you have and you don’t want to even care about it, just download the 32 bit version, as it will work on a 64 bit system just fine.

If you use a Mac, I hear SCPlugin (Free, open source http://scplugin.tigris.org/) is similar. I’ve never used it, though, so your milelage may vary.

If you are a supernerd and you write cyberpunk on your linux box, there is a tool called flashbake that you can use. I’m not going to tell you how to set it up, though, but helpful website LifeHacker might – http://lifehacker.com/5232049/flashbake-automates-version-control-for-nerdy-writersYou can also get this working on Mac and Windows, but it requires even more comfort with nerdy software like cygwin.

I’m assuming you really want this whole process to be easy, so I’m showing you the easy way.

So, yeah, go download and install TortoiseSVN.

Set up A Repository

I’ll skimp a little bit on all the “why”s of this process, because you probably don’t really care. Just do it the way I teach you (at least the first time) and then you can learn more and do it however you want.

Let’s build you a repository.

Click start and launch to your My Documents directory. Some folks’ computers just call it “Documents.”

001_Documents

002_My_Documents

Now right click on a empty spot and select New > Folder and give it a clever name like “Fiction Repository”

003_Create_Directory

004

Navigate into your new Fiction Repository directory and right click then select TortoiseSVN > Create repository here

005_Create_Repository

You’ll get a little “Repository Created” pop up. Don’t click the buttons on the left. You’re not a programmer and you don’t need any programmer-esque folder structure. Also, you don’t need the Repobrowser (yet.) Just click “OK,” okay?

006_Created

Congratulations! Now you have your very own repository!

Now, you must never mess with this folder directly. Everything that needs to be done will be done using TortoiseSVN.

Check out a copy

This falls under the “Don’t ask me why, just do as I say.” category. Go back to your main Documents folder and create another new folder. Let’s call this one “Fiction Working Directory” (Right click > New > Folder)

Enter this folder and right click, then select “SVN Checkout” from the menu.

007_Checkout

In the URL of repository box, make sure the “Fiction Repository” directory is selected. Then click OK.

008_Checkout_2

You’ll need to click OK again, because TortoiseSVN will show you a success message of some sort.

Depending on your settings, you might now see a “.svn” folder in your Fiction Working Directory. Don’t mess with it it contains stuff the TortoiseSVN needs.

009_svn

Adding new files and folders

Now it’s time to add some fiction projects. I suggest making a new directory for each new project.

You can make new folders like we’ve been doing, or you can copy and paste folders that you’ve already been working on.

As you add things, you’ll see them appear with a little question mark superimposed on their icons.

010_question

That question mark means that your repository has never seen that folder or file before.

Committing your work

Once you’ve added some projects to your Fiction Working Directory, it’s time to tell your repository to remember them.

You can add them into your repository one at a time, or you can do them all at once by going up a directory and right clicking on the Fiction Working Directory itself, then selecting “SVN Commit” from the menu.

011_commit

Quick side note: the reason the green check mark gets superimposed on the folder is just for your repository to say “Everything in this working directory that I’ve been tracking is up to date.”

Once you choose SVN Commit from the menu you’ll get the commit window. The top half or so is a space for you to leave a message. This is where you can report on what you did. If you leave good messages with your “commit”s, then it will be easy for you to find stuff if you ever have to look it up.

I Haven’t really done anything, so I’ll just punch in something like “Adding old projects to the repository.”

Down below, just click the “All” button so that changes to everything you’ve just put into your working directory are tracked.

012_Commit

Once you’ve selected all those files, just click OK. You are committed to your work, and your work has now been committed to the repository.

Editing files and folders

When you want to write, just open up those files that are in your Fiction Working Directory and work on them.

After you’ve worked “and saved” a file, it’s time to commit again. If you look at your Fiction Working Directory in the windows explorer, you should now see a red circle with an exclamation point in it. That’s just to tell you something that your repository is tracking has been changed.

013_Needs_Commit

Commit works the same as it did before – right click on your Fiction Working Directory, choose “SVN Commit”, then enter in a message and click OK.

014_Committing

How often you commit to the repository is up to you. You can do it after every writing session, or after every draft, whatever. Far be it from me to tell you you’re doing it wrong.

There.

Now everything is stored safely in your repository.

So what if you ever need to get something back out?

 

That’s what Part III is for…  See you tomorrow.

Version Control for Authors (on Windows) Part I

Here it is, my long promised article on Version Control. It’s a big enough subject that I felt it best to split it into five uneven parts. I’ll update these to be links as each part is posted.

Edit 8/15/2012 – This is now available collected into a single ebook for your kindle. Only a buck. Version Control for Authors

Part I: What is Version Control and Why Should Authors Care?

Authors vs. Programmers

I’m an author that moonlights during regular daytime hours as a programmer. For the purpose of this series of articles, I’m going to assume that you are not a programmer, and that furthermore, you don’t care about programming concepts or lingo. I’ll do my nerdy best to leave out the tech term. The reason for throwing this disclaimer up first thing should be clear in about two paragraphs.

What is version control?

Here’s the deal. As programmers add features to software, they often break stuff that used to work. This is because programmers are so smart. Also, often several programmers are working on a single piece of software at a time, and on different parts of the software. A programmer wants to be able to test his wonderful new features without having to wait for the other programmer to finish the new feature he is working on.

To help combat these (and other) problems, programmers came up with version control systems. These systems allow programmers to keep a running diary of all changes to a program. They also allow a programmer to work on a specific part of a program so he doesn’t have to worry if his co-worker is currently breaking another part.

How do these “version control” systems do this?

Programmer magic.

Ha ha. I got you. Programmers do not perform magic. We leave that to hardware designers.

Where was I?

Oh yeah, what are version control systems? To make it clear let me suggest an analogy. Better yet, let me proclaim an allegory.

The Allegory of the Library

There is a library. Steve walks up to the library and asks the librarian for copy of “Raising Vegetables.” The librarian hustles back to the shelves and runs the book through superfast photocopier then gives that photocopy to Steve. Steve notices that the book doesn’t have a chapter about asparagus, his favorite vegetable. So he writes one.

The next day he returns to the library with his asparagus-added version of the book and hands it to the librarian. The librarian flips through it and sees the added part. From now on, the librarian makes sure that when people ask for a copy of the book, they get the asparagus chapter as well.

A month later Steve and Trisha go to the library (Separately. They’re not on a date or anything.) and each asks for a copy of “Raising Vegetables.” The librarian runs two new copies and hands one to each of them.

At home, Steve adds a new chapter, this time on his second favorite vegetable, arugula.

At the office, Trisha is reading the book and sees that in one place it has the word “carrion” where it obviously meant “carrot.”

The next day both Trisha and Steve bring back their respective copies of the book. Trisha get’s there first. The librarian notes that she has changed “carrion” to “carrot.” All future copies will now say “carrot.” Then the librarian picks up Steve’s copy and reads through it. The librarian notes that his book still says “carrion”, but knows that Trisha’s version changed things for the better. The librarian does not change the master copy back to say “carrion.” Then the librarian sees and adds the chapter on arugula.

Years later, a pumpkin supremacist named Kip comes in and demands a copy of the book before it contained information about asparagus. The librarian keeps good records, so he runs back an makes a copy of the pre-Steve edition.

And they all lived happily ever after.

In this allegory:

  • the library is like a version control system.
  • Steve and Trisha and Kip are like programmers
  • “Raising Vegetables” is like a piece of software.

That’s a long way of saying it, but the version control system’s job is to keep track of every change that is made to the code.

I think that dead horse has been beaten enough, so let’s move on.

Why would an author even care?

Perhaps you don’t yet see how all of this might affect you.

“That’s great,” You say, “But why does a mild-mannered sanitation engineer like myself care about this miraculous solution to a problem that only the nerdiest geeks have? I just want to write the great American novel.”

I’m so glad you asked.

Here are some reasons why an author might want a version control system of his very own. In other words, here’s why you might want to keep a history of every version of a piece of fiction.

  1. You want to compare your first draft to the final draft.
  2. You have lost part of a story before by accidentally deleting a large chunk, saving the file, and then closing the program.
  3. You have ever accidentally copied an old version of a story file and replaced the new (correct) one.
  4. You aren’t sure about editing out a character and it would be an obscene amount of work to add her back in if you decide you don’t like the change.
  5. You are a control freak and need to know that you have a complete history.

If none of these reasons work for you and you can’t think of any of your own, well, then you might as well stop reading this article.

The Basic Process

Here are the steps that you’ll be taking as you begin to use version control.

  1. Create a repository.
  2. Check out a copy
  3. Work/Edit/Write/Create
  4. Commit your work to the repository.
  5. (optionally) delete the checked out copy.

Create a repository

The repository is like the bookshelves in the library. It holds all the data that you want to keep track of.

Check out a copy

You don’t work on the repository itself. As a matter of fact, many version control systems won’t even let you try. The one I’ll be showing you later is among these.

What you do instead is check out a copy. You pick a directory and tell your version control system “I’d like a copy of my repository in this directory.” The version control system then goes to work.

After you check it out we’ll be clever and call it your “Current Working Copy”

Work/Edit/Write/Create

Now you do that literary voodoo that you do so well. Even though I’ve listed several steps, this is where you’ll still spend the bulk of your time.

Just make and copy files into the folder that is your current working copy. Then you can edit any of those files.

Commit

This is where you bring back your updated work to the library (repository) and the librarian saves a new version. Programmers call this process a “commit.” However, unlike the allegory above might suggest, you get to keep your working copy. It isn’t deleted or anything. The “librarian” just looks through it and updates anything that needs to be updated in the repository.

Delete

If you are the only one working on a story you don’t need to delete your current working copy. If you are like most authors and working alone on a project, you can just repeat Steps 3 & 4 rather than 2,3,4, & 5 every time you want to work.

Don’t worry if you do delete it (after you’ve committed it, of course.) You know you’ll always be able to check out the latest version from your repository.

Overwhelming tools

Let’s just pretend that now you’re sold on the idea of being able to use a version control system for your writing. Now you just need to find software to do help you, because it sounds like an awful lot of extra work if you’re going to do it “by hand.”

There are tons of revision control programs out there. Just bring up the Wikipedia article for “List of revision control software.” Some are paid, some are free. Some require a separate server program and some don’t. Some are difficult to use, some are easy. Some are command line only, and some have cutesy graphical interfaces.

How are you going to know what is strong but simple enough that you’ll actually use it?

Well, I’m going to tell you.

 

…In Part II. (tomorrow)