A light in the dark!

So, things went sort of dark on this blog, didn't they? It's for a good cause, I assure you. I'm writing a book.

Okay, you've probably heard that before. I know I have. I've had to sit through the elevator pitches for someone's cyber-steam-anti-punk novel-no-wait-graphic-novel opus many a time. This is a real book, though, with a contract and EVERYTHING.

Sadly, it's not about a cyber-steam-anti-punk heroine with pluck and nerve and awesome boots. I'll get around to that book, one day. What my book is about is accessibility and 508 compliance. Long story short, '508' refers to a US Federal law mandating that all applications and websites created for the Federal government be accessible to all people, in spite of their disability. Short story even shorter: All the stuff for all the people.

It's a topic that I was dropped into when I started working on a government contract, and found that meeting 508 was causing our applications to be delayed over and over. It was easier just to learn it and do it right the first time. The more I learned about it, the more fascinating I found it to be, though, and I found myself picking over other open source projects and getting irritated that more people couldn't make accessible websites.

When I started looking around, though, I found that even though there are a ton of sites to help you become accessible, there weren't any books directed at the people making the products that needed to be accessible. The books I did find were either written for lawyers, or were horribly outdated. Accessibility moves just as fast as the rest of the web. A few years ago, Javascript and Flash were considered unaccessible. Now, they're much more accepted. More alternate input devices have been created. Certain groups have become more vocal, fighting to be accepted as those who should have an accessible web as well. It's also turned out that accessible websites often have much better usability.

I don't plan on letting the blog go fallow until May, when the book is due, but I will be racheting down the posting to a comfortable "When I can get to it" pace. On the upside, I do plan on writing about writing, to hopefully encourage more of you out there to join me in writing tech books. The world needs more tech books that focus on teaching (a blog post is coming up about how we learn), because we do the next generation of developers a disservice when we insist that they can just bounce around on the Internet to pick up what they need. We also do ourselves a disservice, because you know we'll end up having to fix their crap code.

Writing - Part One - Method

Granted, I'm not all the way through writing my book, but I thought I'd stop for a moment and talk about how one goes about writing a technical book. Have I picked up any tricks? Has it utterly ruined me yet?

I'm happy to report that not only have I learned a few things, I've also yet to be utterly destroyed by the act of putting words on the page. Huzzah!

Writing method

Every beginning writer asks the same thing of every published writer: How do you write? I suppose that the novices are imaging some arcane ritual, or an intricate combination of yoga and parkour. Perhaps there's a perfect alignment of the stars, sun, and moon that allow the juices to flow. Is there a special brand of tea that must be imbibed?

Every published author responds the same way: write every day.

Sad Katie with the caption: No, that is the opposite of what I wanted

There's always a look of disappointment on the novice's face when they get this answer. It's not very sexy, is it? It doesn't build up the aura of the Published Author, or add to their mystique. It's like being told by your dentist that you need to floss every day, or by your doctor that you need to drink a whole mess of water. Ugh.

It's true, though. It's so depressingly true. I have written on a cruise ship, I've written while My Little Ponies are blaring, I've written at 5am and at 11pm. I've done it alert and dead tired. I've done it on lunch breaks, in cafes, in my PJ's, in my Thanksgiving best.

Every. Damn. Day.

I wanted to make an excuse not to write, and sometimes, I succeeded. I decided I needed to talk a few days off to research WAI-ARIA. Getting back into the swing of things was extremely hard. My word count floundered, even though I was now full of information. It was then that I realized the horrible truth.

I would have to write every day.

If I had to research, I'd have to research, AND write.

If I needed to edit, I'd need to edit, AND write.

If I was taking notes on something, the note talking could not be considered 'writing'. I needed to take notes, AND write IN THE BOOK.

That isn't to say I didn't find a few ways to cheat, of course.


Katie, head down next to her laptop, staring off in horror. Caption: "It took all my words."

Some days, it was hard to write. There were sections I just didn't want to do. Talking about contrast and all the equations around it was something I found horrifically boring (and making something dull interesting is a feat, let me tell you). Some days, I had so much on my mind that I could barely concentrate (try packing for a family of four for nine days where you won't have access to Target and writing awesome prose).

I learned to cheat.

The objective of cheating is not to screw yourself over later. If you count 'research' as writing, you're only being hard on yourself. What you want to do is cheat your brain by doing something easy that is still writing and won't kill your momentum.

When you're not having a bad day, you're probably going to have ideas while you're writing. Oh, you'll think, I could add something about this to that other section that seemed a little skimpy! Once I get done here, I'll go do that.


Write down the idea. You are right now in the bull market of creative flow. You need to save a little, for when you're having your bear day, so you'll have something to get by on.

I also learned to sprinkle my text with TODOs that can be filled with a minimum of effort. While I'm in the flow, I'd rather not run off to Google to find the name of that add-on that I want to reference. I toss in a TODO:extension name and move on. Then, when I'm having a really, really bad day, and all I can possibly do is run searches and fill in data, I've got something I can turn to.

Long story short: authors aren't joking when they tell you to write every day. Just freaking do it.

Writing - Part Two - Finding the Time

Katie, I get asked every now and then, Where do you find the time to write?

Katie, in a superhero pose, in a superhero mask. Caption: Fear not, citizen. I shall organize the shit out of this.

I have to admit, I love that question. It makes me feel like a god-damned Wonder Woman. Why yes, I work full time, go to conferences, raise two kids, attend to my SO+, and write a book. What did you do last weekend?

There's another side my situation, though, that I don't often share. I love video games. I cannot live without seeing the latest My Little Pony or Dowton Abbey. I give a lot of money to Comixology every month. I read books filled with explosions and sex and improbable complications and I often lose myself in them for hours and hours. In short, I'm a distractable lay-about, too.

Obviously, though, I found the time to write about something that I'm excited about. So, how did I do it?


In no particular order, we all have priorities:

If you want to write, you're going to have to start evaluating those priorities. There are things on that list that, giving up, would cost you quality of life. Do you really want to spend less time with your kids? Do you want to lose date night? Are you ready to call your gaming group quits? Will you deprive yourself of anything pleasurable? Will you quit your job? You probably shouldn't, lest you become some bitter shut-in who can only ponder about the good life, rather than live it.

There are, however, some things implied on that list that you can give up without pain. Writing a book gives you the best excuse ever to get out of a baby shower. It works for getting off the 'volunteer to make cupcakes' list, too. You don't want to slack at your job, but maybe you could write on your lunch break instead of eating out, and shave a few inches off of your waist. The kids could so use an earlier bedtime. You know what? That one show you really liked last season is just crap this season? Maybe you can drop it.

Saying no

Katie, happy, with a thumbs up, holding a manuscript. Caption: Tired of random functions? Write a book!

I started saying no a lot more when I started writing. No, I'm not killing myself to make sure my daughter has a birthday party when she'd already had two celebrations in her honor. No, I'm not going to organize a weekly Python meeting, and no, even the monthly one will not have presenters or a rented out space. You'll drink your coffee and like it. No, I'm not killing myself to make dinner for friends when they come over. Indian takeout will not kill them. No, leftovers will not kill the kids. No no no.

My life isn't lessened by cutting the above out of my life. I get more time, and I now have more time to apply to the book and less time spent doing something that would have annoyed the hell out of me in the first place.

Every day

Go read my last post. You're going to have to write every day, not only because it gives you better momentum, but because you're not going to be able to lock yourself away for huge blocks of time. Locking a person in a room is what they do to crazy people. You do not want to be a crazy person. That's what you'll become though, after the third weekend of barricading yourself in the bedroom with your laptop, while the world beckons from the window (or Twitter, if you forgot to block it while in your Fortress of Solitude).

I've seen the people who wrote a book by locking themselves away for months at a time. There's a look in their eye that says 'keep me away from sharp things.' Really.

Finding the small blocks of time is easier, anyway. I was able to write on Thanksgiving and Christmas, two crazy busy days. Both days had small respites in the morning, while I was drinking my coffee, during which I could bang out a few words. I was even able to find time when my family went on a cruise. I can easily make the kids go away for a half-hour by turning on their favorite show. I don't know how I'd shut off the world for a whole weekend. It's like daring the universe to throw obligations at me.


Katie, bags under her eyes, staring off into space. Her daughter has climbed the back of her chair. Caption: I will give you five thousand ponies if you go away.

I admit, when I decided to write a book, I just announced it to the family as a thing I was going to do, hell or high-water. That probably wasn't wise, but I'm lucky in that they're very supportive, and used to me doing things like this.

Still, even though I was the one doing all the writing, they were still going to end up paying for my new obsession. It was uncertain how much time I would need in order to write, and that was time that was being taken from helping to run a household, hang out with the family, or go do cool stuff.

It took us a while, but we finally came to a system that works: I don't go into crazy-write-all-day mode, and they understand if I have to take a half-hour to write without being disturbed. Looking back, I wish we'd just laid this out explicitly before I set a single word to paper.

Had they not been on board, I would have had to find my chunks of time when they're not around, like my work lunch or extremely early in the morning. Not impossible, but having the freedom to write when I want has made this project a lot easier.


Start saying no. Find small chunks of time. Get your loved ones on board. Write every day.

Writing - Thoughts once done

Since Accessibility Handbook was released, I've had a lot of people asking me about what it was like to write a book. My response is somewhat disjointed. It's awesome! It's the most pain I've willingly inflicted on myself! It made me more confident! It made me think I was a nobody!

So, here's the long of it.

The pitch

You would think this is the hard part. I was nervous as hell before I made my pitch. All I could think of was every article I ever read about the elevator pitch. You have thirty seconds to share your awesome idea! GO!

Pitching a book isn't like that, though (at least, not in my experience). My first editor, Julie Steele, approached me about writing after I snarked about a poorly written technical book on Twitter. I had no ideas at our first meeting. I just knew what I could write about. Happily, she knew the potential interest in those markets and helped me focus on one of the topics.

After our talk, I wrote up an outline and sent that to her. Not long after, I had contracts in my hand to sign and a book to write.

Writing: the easy stuff

Starting a book was incredibly easy for me. I love writing. I already had an outline, so all I had to do was follow my original plan. I sat down every day, and for an hour or so, I wrote, spilling out everything I had learned about accessibility onto the page.

This part of the process is energizing. The words flow. You can write when tired, when tipsy, when distracted, and still, they come out. Writers block is a myth! You watch your page count go up, and you start wondering if maybe you can submit the book early.

Then, you trip over a section where your knowledge is a bit sketchier...

The first hurdle (I'm learning SO MUCH!)

The first time I hit this, it was a minor thing. I ran into a few sites dedicated to Dyslexia and web design, and realized I'd left them out. No big. I researched a bit, and the recommendations were consistent across the board.

I found it fascinating, and burbled to anyone who would listen about how much you learn while writing a book. It's awesome! I love learning, and I love writing, and now omigod I could do BOTH at the SAME TIME. Life is good.

The second hurdle (The reality check)

After writing for a while, I came across a topic that I was completely unschooled in: WAI-ARIA. I knew about it, of course, but I'd never used it. How hard could it be, though? I'd just read up on it and include it in a section again!

Wrong. Oh, so wrong.

ARIA was much harder to research. Parts of it are easy. Parts of it are not. Some bits stand on their own. Some need Javascript and CSS to work. There are books written on this thing I wanted to do one tiny section on.

I freaked the hell out.

Impostor syndrome (I'M A HACK!!!)

This hit me hard. Who was I to write a book about 508 and accessibility? There were people who had been doing this since 508c was written!

I re-read my old chapters. They were terrible. Was English my second language or something? Did I have a stroke that wiped out my ability to write coherently? What the hell was wrong with me?!

I couldn't touch the book for a while. I didn't like to think about it. I was going to fail. I just knew it.

What kicked me in my rear was an email from my second editor, asking if we needed to put the book on hold. It took all my strength to write back: No. I am finishing this book if it kills me.

Who was I to write a book on accessibility? I was one of the few people that would put her butt in a chair and get it done, that's who.

The final stretch (All side projects go to hell)

I didn't intentionally drop my side-projects. I just didn't have the energy to even consider them. My Roguelike languished. My blog stopped. A few projects that I had just started outlining never made it to the next stage. I dropped out of social circles.

My weekends were often reduced to me writing on the book all weekend, with breaks for food and forced socialization. I did it, though. I finished the book and handed it over to my editor.

Tech readers (I'm a hack, redux)

My editor handed the book over to my tech readers. I had found them through a call-to-arms on Twitter and G+, so they were all friends, and I already knew they were all highly competent.

That was the longest wait of my life. I knew they were going to return the book with scathing remarks. Gah! She's a hack! I can't believe O'Reilly is considering publishing this pile! Un-followed!

That didn't happen.

They read it, and came back with corrections... and praise. Lots of it. I was stunned. Maybe I'm not a hack after all! I probably read their comments at least once every few days when I started to get nervous and backslide.


With my next book, I swear, I'm considering hiring someone to make all the changes from the tech readers. Oh, I should review each change? Yeah, I thought that the first week. Oh, is that the rule for commas? Hm. I don't think so. I'm going to go look that one up.

By week two, had one of them asked me to replace all occurrences of 'accessibility' with 'elephant', I would have done it. Editing is mind-numbing.


Finally, it was done. I was done! I could stop looking at the manuscript and have a life again!



That was when the production editors get a hold of you. You have one last chance to review your book before it goes to print. They go over it with a fine tooth comb. Figures are redrawn for different formats. This took me about two weeks of back and forth. Not as bad as the editing phase, but don't think that you're free just because they have your manuscript.

The long wait

And then, silence. Your book moves through the wyrding ways of your publishing house. I had a page on O'Reilly, but all it said was that the book was available for pre-order.

I didn't learn my book was for sale through my editor. No, this is where being part of an international social group comes in handy. A friend in Israel alerted me through Twitter, congratulating me on the book being published. I figured he'd found the pre-order page... And imagine my shock when I saw that it was now for sale.

I squealed, then spent the rest of the day in a highly manic state. It was out! It was published! I was an Author now! If you had bad news to deliver (and I did get some that day), that was the day that it didn't phase me for a second.

Lessons Learned

Next time, I'm going to learn to shut down projects gracefully by scheduling my crunch time. The next book is in the works, and I've already decided to go quiet from December to January. That's where all my wiggle room is built in, and chances are I'll be body-slamming the walls of said room.

Also, I know to look for the crisis of faith. It's apparently rather common with writers. Agatha Christie had them for each book, and she wrote approximately a million books. Each time, she got through it and finished the book. My husband knows to look for it, and I know to drop the 'everything is fine' act and actually speak up about what I'm going through. The book probably would have been out in June, had I not spent so long freaking out.

Outlines are awesome. I'd love to see if I could use one for a fiction book.

And the last lesson learned? I really, really love writing. Being published only makes me love it more.

Katie Writes Again!

A few months ago, I signed a contract to write a book in the Teach Yourself X in 24 Hours series. Pearson was looking to do a complete re-write of the one they already had on Python, and my name had ended up on the list.

When I tell people I'm writing a Teach Yourself book, I get one of two reactions:

Two sketches of Katie. One is delighted, captioned "Omigosh yay!" The other looks slightly pained, and is captioned "Um... Sorry?"

Let's talk about that.

Why I'm writing a book for beginners

Personally, I think Python is an excellent language for people who want to learn programming. Why?

Why I'm writing a Teach Yourself book

For starters, they asked.

Secondly, I don't have a huge beef with beginners series. I'm one of those rare developers that actually likes Head First books, and yes, I have owned several Dummies guides (one for photography, and the other for writing romance novels [1]). Hell, I own Manga guides! I think it's important for any field to have something that helps put the novice on track without talking down to them or scaring them off.

Yes, I know there's several free books out there for learning Python. One problem: they're on-line. Even the novice who knows how to google properly may not have the vocabulary to find these books. Many beginners, if they don't have access to someone who already codes, are going to go to the bookstore or library and look for a book.

Many 'Beginning' books are deceptive: They're not always for the beginner in programming. They're often for the person who's decided to learn that language who already has some programming under their belt. With tech books not being cheap, it can be an expensive gamble to see where this book is aiming. Say what you will about beginner series: they leave no doubt as to where they're going to start you: the absolute bottom rung.

It's impossible to know which beginner series a beginner is going to gravitate towards. Some like the Dummies guides, while others like the Head First books. I think we should have an excellent Python book in each of them, and the one in the 24 hours series needed to be redone. So, I'm doing it.

What was this proposal like?

This proposal was completely different than the Accessibility Handbook's proposal. That one, I had no predefined format, so it was completely up to me how I organized my material. If anything, my novel organization helped sell the book to higher-ups.

With the Teach Yourself book, I still had some freedom, but there were definitely some constraints: There had to be 24 chapters. Each chapter had to have certain sections, like quizzes or a FAQ. Each chapter had to be doable in an hour. I had to open and close with a list of what the reader was going to learn / what had been learned. There were a few optional sections, but if I included that section for one chapter, it had to be in all the chapters.

Seriously, their style guide is thirty-five pages long. It's crazy.

Also, they had someone tech-read my outline, and I'm glad they did. It ended up a ton better for the second pair of eyes (Thanks, Doug!).

So, where am I?

I've gathered my tech and test readers, and I've submitted chapters one through ten. Eleven through thirteen are written, and chapter fourteen is being a big ol' pain in my ass. It will either be the chapter that everyone loves, or the chapter that no one actually reads.

When's it coming out?

Uh, next year? Sometime?

I plan on handing in the manuscript in January or February, but that doesn't mean I'll be completely done. I'll still have edits to do, and books take a long time to get from the author's desk to the public. They take a lot of time, making sure you don't look like a complete moron, re-doing your images, double checking your resources, and basically making you sweat bullets for weeks and weeks and weeks.

[1] Note, I have no actual interest in writing romance novels. But Writing a Romance Novel For Dummies was one of the most realistic books ever I've ever read about being an author. While other books tried to nurture your delicate soul, that one flat out told you to network and market yourself, and to do what your editor says.

Writing: Diagrams

You would think that someone who loves drawing would love doing diagrams. I do not. I hate diagrams. I thought I would love them, but they ended up being the thing I hated most about writing Accessibility Handbook.

I mean, diagrams are nice for reinforcing information or getting across a more subtle point to a reader (they also don't hurt your page count). They break up your chapter and add visual interest. But oh my god, does making them suck.

Mistakes I made

With my first book, I didn't take the time to do the diagrams as I went. I just inserted a placeholder image with a vague description about what the diagram was supposed to be.

This was a bad idea.

When I dove into doing diagrams, I couldn't fathom why half of them seemed like a good idea. I'd stare at my note ("Something about embiggening") and curse my previous self for not just doing the diagram right then and there. I removed more than a few, then had to make up the missing space in a frenzied weekend of writing.

The reason I'd moved to doing the notes and placeholders, though, was that stopping to make a diagram can take you out of your writing groove. I'd sit down to write, then spend a half-hour either struggling with Gimp or sketching something, scanning it, then trying to refine it. Pictures are not worth a thousand words. I measured. They only take up the space of about 150 words. They were making me fall behind.

What I'm doing now

With my current book, I decided that I was going to find something that worked with my flow. I needed to make diagrams as I needed them, but I didn't want them to take up precious writing time. After all, you get lots of waiting time during editing that can be used for making the diagrams nicer.

I hit upon it by accident, really. I'd been taking pictures of sketches I'd been doing throughout the day with my smartphone, then posting them to Twitter. While these weren't archival-quality shots, they worked well enough for their intended purpose: amuse the masses. Why couldn't I do this for my book diagrams?

I started using a new workflow:

That looks like quite a few steps, but trust me, it only takes me about five minutes. Sketching is much faster than trying to start in a graphics program. My paper is already right here (I always have the sketchbook at hand), as is my phone, and Dropbox is always doing its thing in the background.

Eventually, though, I need to make nicer images. What do I use then?

Tools I use

I do not own Photoshop. I know, I know, that's crazy. The last time I checked, though, Photoshop was over five hundred bucks, and that's way over my impulse range. I have to truly believe with my heart and soul that I need something that costs over $200.

And no, before you ask, my work has not purchased me Photoshop. I'm a Python developer. That would be silly. I only got it at my last job because we'd randomly run out of designers, and sometimes you just have to fix some transparency on your own.

For screenshots and annotations, I love Skitch. It takes great screenshots that I can mark up immediately, and I love how nice it makes my lines look.

If I need to actually draw something while I'm on my Mac, I fire up Acorn. It does everything I really need it to do: layers, brushes, exporting, selecting, and cropping. I know it only does about 10% of what Photoshop does, but apparently that's the 10% I really needed.

If I happen to be working on my Mint box, I use Gimp. Then I cry a whole bunch.

If, for some reason, I'm on my Windows box (which I use almost exclusively for gaming), I break out Paint.net. I cry slightly less than I do with Gimp, but this is only because I'm distracted by the Steam icon in my toolbar.

When I have to mock up a site for a screenshot, I grab Twitter's Bootstrap. It saved me huge amounts of time, using their styling and templates.

Tip: Know your tools

If you need pull-down menus and icons to access different tools, you're doing it wrong. Learn what the keyboard shortcuts are for every tool you'll need, from creating layers to switching from paintbrush to pencil, to changing how you're selecting areas. Learning the keys made making diagrams a ton faster.

Also, it will not kill you to watch some tutorials on how to use your tools. You may not be planning on a career in the visual arts, but knowing all of the things your tools can do will only make your diagrams look nicer. There's a ton of hidden tricks that get pushed off of the main toolbar to save space.

Ask about colors

When I did diagrams for Accessibility Handbook, they were in color. I found out, while the book was in production, that the diagrams would be in black and white. Hell. Lesson learned: With the new book, I've asked in advance, and I know that my diagrams in this case will be in color.

Save everything

Another lesson I learned was to save everything, in every format. More than once, I had to grab the original file and change a color or a typo, or change some copy. This includes not only the image files, but the HTML files for my screen-shots. For a few of those, I just modified another file, and I was in a world of hurt when someone needed me to make a change.

Teach Yourself Python: Last chapter submitted

Yesterday, I submitted the final hour to Teach Yourself Python in 24 Hours.

I could not wipe the smile off of my face.

This high is why I write. This is why I punish myself for months at a time.


Is there a rehab for writers?

Writing and Mental Health

I’m notorious for telling people, in the same breath, that they should totally write a book and that it will be the worst thing they ever do to themselves. I play it off as a joke. Yeah, I’m like the drug addict who gets all her friends addicted so we can go to rehab together! Haha! Writer humor!

I’m serious, though.

When I started writing Accessibility Handbook , I knew nothing about writing a book. I had no trunk novels, save for one Nanowrimo mess. If a blog post of mine was longer than 1000 words, I was amazed. I just knew that I could write about this topic, and I felt I had a different view than the other accessibility books out there.

Starting the process was a joy. I’d get up early and write. I’d write on my lunch break. I’d write in the evening. I was having so much fun! I do dearly love writing, and I was finally getting the chance to get paid to do so!

At some point, the joy faded. At first, I was simply tired of writing. That wasn’t a big deal. Maybe I’d overdone it at first. I could still choke out a section or two every day. Maybe I just needed to hunt around for my inspiration.

Then things got darker. I got tight-chested every time I looked at the folder that contained my book files. I’d wake up in cold sweats. I felt depression creeping in. Nothing brought me joy, not even things outside of writing that I normally liked. Nothing brought me peace. I felt like I was caught in a horrible limbo, where I needed to do something to get out of it, but couldn’t do anything.

At 16, I was diagnosed with depression. It’s just a thing I deal with. I also have issues with anxiety that, while never officially diagnosed, are pretty textbook. The two normally come together, feeding off of each other until I feel like I’m pushing through quicksand every time I take a step. I can usually shake it off on my own, though honestly, the older I get, the more I think I’m getting too old to power through without help.

Writing a book didn’t cause me to have anxiety and depression. Those two things have always been there. Writing a book did trigger both of them to come alive in a way that completely took me off guard.

I’ve dealt with lows before. I’ve dealt with anxiety. They usually come on slowly for me, so I have a chance to prepare. I can’t get rid of them, but I can at least get through the motions that are involved in day-to-day life.

These came quickly. Over a few days, a switch would flip, and I felt like I was being buried under a tidal wave of things I couldn’t deal with. Everything was too much. I couldn’t bring myself to get the mail. I’d forget to shower. Email languished. I couldn’t even muster the energy to dive into something different to pull me out of it.

The only thing that cured it? Finishing the book.

My editor called me when I hadn’t responded to (yet another) email. Should we cancel the book? No, I decided. I was too close to being done. I could do this. I spent a few feverish weekends pounding out words, but I got the last two chapters submitted. When I sent the last chapter in, it felt like the air around me cleared. The tightness in chest was gone. I could smile and really feel it.

For a while, I thought maybe I was alone. Maybe the other writers out there don’t go through this crap. Then, Writing Excuses put out a fabulous podcast about writing and personal health. When they published this, it forced me to sit down and do nothing while I listened to it. The writers all spoke of their physical and mental issues that have been exacerbated by writing. They talked about managing it, and how it was sometimes just a natural byproduct of writing.

As for me, I’m still learning how to deal with it. I went through the same issues with Teach Yourself Python in 24 Hours , but it wasn’t nearly as severe. The book wasn’t delayed by several months. I still managed to enjoy things. I talked about it slightly more with my loved ones, who never saw my spiral with my previous book (I’m an old hand at this depression thing. I hide it well). It was still there, though.

I know this all sounds dire, but really, I’m not trying to talk anyone out of writing a book. I’m just trying to lay out a warning or two. Know your mental health. Talk to your loved ones. Maybe set up a weekly hour with a therapist. Take care of yourself. Because, while nothing is more awesome than seeing your book on Amazon, it’s still not worth trading in your mind and body for.


Oh, it's that wonderful time of year again, when you realize that November is just around the corner, and you have no clue what you're going to do for Nanowrimo.

For the uninitiated, Nanowrimo is a yearly event where you write a novel in 30 days. You start on November 1 with a blank file, and you end on November 30th with at least 50,000 words. That's a breakdown of 1667 words per day, or, if you want to take a break for Thanksgiving and Black Friday, 1786 words per day. 

Now, Nanowrimo is awesome. I've done it twice. It's a great way to get the gunk out of your system. Originally, I had planned to finish up all of my book work by November so I could take a month and write something silly. Well, we have a problem.

I have no plot.

I try to not bring existing projects into Nanowrimo. It's technically breaking the rules, but it's also disturbing the ethos of what the month is about. So, instead, I'm doing something a bit different: Nanoblogmo.

I have a bad habit of not posting blog posts, even though I have a queue of ideas. So, it's time to take those ideas and write 1667 words a day on them and build up my backlog again. I won't be posting them here until they're done (because y'all don't need to see a bunch of half-finished blog posts), but I will be updating my progress on my Nanowrimo profile.

Or, hell, maybe I'll come up with a plot by Friday. We shall see.

What I learned from NaNoWriMo 2013

This year, I did something different for NaNoWriMo. I realized on October 31st that I wasn’t going to have an idea for a story this year, and that I didn’t want to work on something that I’d already started. So I decided to do something completely different: 50,000 words of blog posts.

I love blogging, but I often drop off the face of the planet for months at a time due to other deadlines. Maybe a book is due, or maybe a deployment at work is taking up all of my brain space. What I need is a backlog of blogs to pull from.

Most of my blog posts are between 1000 and 3000 words, so doing NaNoBlogMo could net me around 25 blog posts that I could post in the upcoming year. Also, I had some teaching material that I needed to crank out, and what better time to crank it out than a month dedicated to getting words on the page?

So, how did I end up doing?

Not every blog post that I wrote ended up going onto my site. I blog on other sites, some for exposure, some for money, and some for community. But I got a good number up this month! Also, some are going to sit in my drafts folder for a while, so I have a nice backlog to fall back on.

I ended up selling a good number of blog posts. It turns out, when you can hand someone a list of posts you want to write that month, they happily start laying claims to the ones they like.

I also expanded beyond blog posts, outlining a few stories I’d had in my head for a while. I don’t plan on quitting my day job (like, ever) to write fiction, but it’s still a hobby I enjoy. I’d like to finish a longer piece one day.

The good times

Some of these blog posts have been rattling around in my head for over a year. I just never had the motivation to sit down and crank them out.

Sometimes I knew they would be emotionally difficult to write. Others, I knew that I’d have to structure carefully so that they didn’t come off as a me foaming at the mouth. Most of the time, though, I thought ‘eh, this won’t get that many hits’ and opted for not writing anything at all (which, of course, gets zero hits).

When you’re in a crunch, though, you’ll take whatever you can get. Emotionally harrowing? Good! Those rake in a ton of words! No hits? Who cares? That’s another 1000 words towards the daily goal! Feeling uninspired? Time for a rant! I know! Let’s come up with a regular feature that uses up a bunch of words!

Also, if you like to sell blog posts, nothing sells better than having another one lined up to go. “Oh, you liked that one about Kivy? Well… how about a primer for Python?!” “Say, you enjoyed that post about checklists? How about one about using your screen reader?!” I sold a pretty crazy number of posts this month, something I’d been meaning to do more.

The stuff that worked

I found skipping around worked quite well. There were few posts that I sat down and wrote all at once. In general, I would write a few hundred words on one blog post, then switch to a different one. Often, the themes would be completely different. I’d write for ten minutes on Python, then ten on knitting.

I also kept a list of blog ideas. I used the Google Keep widget on my phone for quick access and wrote down every idea that came to me.

Also, every idea got a chance, no matter how silly. If it didn’t work out, well fine. I gave it a chance. Many of them ended up working out quite well, though! A blog post I wrote about hating purse shopping got thirty-two comments! What the heck?

I wrote about everything, as well. I often meant to write up reviews for books I read, but usually stopped at giving it stars. I’ll write something up later! When you realize that a review could easily be a third of your word count for the day, though, you don’t wait. You barely put the book down before you start pounding out a review.

Switching techniques helped as well. Sometimes, I used the pomordoro method. Sometimes, though, I needed to just get a certain number of words down, so I’d write until I hit a goal, then watched a Let’s Play on YouTube (I wish I could tip Snapwave / Whycalibur and GetDaved. They saved my brain so many times).

Also, writing early is better than writing later. I fight for every word I write after 3pm. Coffee does not help. I just end up not writing faster. Then, I end up being awake until 11pm (shut up, I am an old, I have an early bedtime).

The dark times

It’s not NaNoWriMo without getting stuck. And I got stuck a few times.

Everything was going great until I hurt my thumb. Do you know how much you use your thumb when you type. You use it a bunch. Writing 500 words felt I like writing 5000 in one sitting.

I caught up, only to be hit by a bout of the blues. I knew I could catch up, but my energy levels had just taken a serious dive. I’d write a bit, think I’d written at least a quarter of the day’s total… and it would be less than 100.

But one of the great things about doing NaNoBlogMo was that it became incredibly meta at some points. I wrote about my depression, and about stupid things derailing my writing. It added words, and I was able to reach out to others in the same position.

Also, getting a dog in the middle of November? Totally distracting. But hey, at least he gave me new things to blog about.

The final tally

Posts finished: 34 Posts sold: 4
Posts started (but not yet finished!): 2
Posts abandoned: 0 (I’m proud of this! I actually managed to make something of everything I started!)
Longest post: Technically, not a post, but class material for a class on HTML5.
Shortest post: A post warning about not putting off your weekend writing until Saturday, which I totally ended up doing. Cue the sad trombones.
Outlines started: 2
Total words written: 50,048 (That’s right. As soon as I hit the finish line, I stopped and went out for drinks)

Next year: An idea

I had a ton of code in my posts. Because I wasn’t going to bother parsing them out (and because you count every word when you Nano), code ended up counting towards my final total. This actually inspired me to write more coding examples in my posts, rather than say “Trust me, it’ll work.”

This got me thinking about doing a 50,000 words exercise on a project. But Katie, I can hear you wailing, more code isn’t always better! You should have less code! You’ll just end up with copypasta!

I wouldn’t just be counting code, though. Ideally, code would make up the minority of my word count contributions. What would the rest be? Why, all the crap I always promise myself that I’d do, but never quite get around to!

For example, I can write blog posts about the project to hype it up a bit and gather feedback. I can write actual documentation to go with it. Hell, if I want more words, I can make sure the documentation covers Mac, Linux, and Windows!

Or maybe I’ll finally write that great American novel I’ve been meaning to churn out. I do have that outline for the Steampunk Cyber-dystopia coming of age young adult novel in my Google docs… I guess you’ll find out next year!

Katie writes: Kids Code!

This holiday weekend, I turned in half the chapters on my new book. Guess that means I can start talking about it, huh?

My new book was inspired by a conversation I’ve had with several parents while running Young Coders. This exchange happened every time I ran a class, and sometimes, has happened several times during one session.

“I tried to teach my kid how to code before, but it didn’t seem to stick. I hope this class gets them interested!”

“How did you try to teach them?”

The parents seemed to fall into two groups: Those that tossed a book at the kids (“That’s how I learned!”) and those that tried to show the kid how to code (“I taught them to use the toilet and ride a bike, and I train people at work. How different could this be?’). Neither approach seemed to work very well unless the child was already deeply interested in coding.

Some might say that the only kid you can get interested in coding is one that already seems predestined to be a hacker, but my experience teaching says otherwise. One of my most disinterested students was a teen girl who was only there to make sure her brother behaved. At the end of the class, she was one of my best new coders.

So, what was missing? Why were books and parents falling flat, but classes doing so well?

The answer was surprisingly simple: The parents didn’t know how to teach.

How do you teach?

Teaching is not a simple act. Your mind is in constant motion, thinking about what you need to teach, what the student knows, and what you need to lay out to bridge those two things. You also have to keep an eye on how the student is doing. Are they tired? Overloaded? Distracted? Confused? Stuck? Do you need to go back and review a concept, or do they just need to get up and walk around a bit? Oh, wait, have we fed them? Could they just be hungry?

You also have to take the knowledge in your head and rip it apart, breaking it into chunks that can be easily taken in and reassembled. You have to figure out which chunks rely on other chunks, and try to find a good place to start. If you think this is a skill we all have, go ask a co-worker to explain the most complex part of your stack to a new hire. How many times is the new hire confused because the old hand left out something vital?

So what was wrong with just handing the kid a book? When I asked the kids (my son included) it usually came down to getting stuck. They’d come to a place where they got a minor bug, or where a piece of jargon wasn’t explained, and they’d shut down.

I’ve seen this happen in classrooms, but with a difference: There, we had someone at the ready to jump in and fix the mistake. Once the mistake was fixed (or the concept explained again), the student would dive back in.

So, how could I help? I’m teaching as many classes as I can. Could I write a book that could help?

Teaching the teacher and the student

I realized that we needed a book written for two audiences: students and mentors. The students needed to be taught how to code in such a way that they never got overwhelmed and had ample opportunities to practice the skills they gained. The mentors needed to be taught how to teach, helping them strike a balance between jumping in and leaving the student to fend for themselves.

After pitching it to my editor at O’Reilly, we also decided to add videos to help reinforce concepts and to help students review when needed. Lessons about Python are broken up by projects that use all the skills the student has acquired by that point. Some are, of course, games, while others are more practical (like a to-do list manager).

The ages I’m writing this for are somewhat fluid. It’s written at a 6th grade level (which is where most tech books should be written, in my opinion). A middle schooler would probably be able to make it through most of the chapters with the mentor off to the side, providing occasional encouragement. A precocious third-grader could probably make it through most of the book with a mentor providing support during the coding bits.

Hey, I know someone who would enjoy this!

Good! I’ll need tech readers soon! The final chapters are due at the end of November, with the tech review starting a bit before that. This might make an interesting winter break project!

If you would like to be a tech reader (or just want to know more about this book), contact me either through Twitter (@kcunning) or my email.

Oh, and I’m totally looking for a better title for this thing. If you have any ideas on that front, ping me as well.

What is a tech reader?

If you write a tech book, eventually, you’ll be asked to find tech readers. It may not even be for your book! I’ve been asked to find tech readers for other people’s books several times, especially if the book is geared towards beginners. I teach, so naturally, I know more than a few new coders.

But… what is a tech reader?

The job

Simply put, the tech reader is the person who reads the book with an eye to technical accuracy. Grammar, layout, spelling: None of these are your bag. You make sure that the explanations make sense. You run the code to make sure it works. You point out if the author has glossed over something major, or if they’re using something that hasn’t been used yet.

The level of experience you need varies. A book should always have some tech readers who are the intended audience (so, possibly, beginners), but you also need experts to read the book. A beginner will pick up when they get confused more easily than an expert, but an expert is more likely to point out when you’re incorrect, or leading someone down the wrong path.

For example, Doug Hellmann was one of my expert technical readers for Teach Yourself Python in 24 Hours. Back in the day, I had planned a chapter on pickles (because I had to have 24 chapters and was having trouble with what should go in the middle of the book). He was the one that suggested that I should probably just teach JSON instead.

My beginners chimed in when they felt I was going too fast, and were experts at noticing when I was using something I hadn’t explained yet (like showing a for loop while teaching lists, even though I wasn’t covering for loops until the next chapter). Stuff like that is difficult for an expert to pick up on because, well, for loops and such come naturally to us.

The pay

I’m going to be frank about this: The pay is not great. Some places will toss a bit of money at you (around a few hundred dollars) while others will offer you a copy of the book. It not only varies by publishing house but by individual book. Some books simply end up with more of a budget for readers. A book that needs both beginners and experts will have more money allotted to technical readers than one aimed just at experts.

So why do it?

If the pay sucks but it’s going to take you a while to do, why would you bother to be a tech reader?

The biggest one: If you want to be a writer, this is a great way to get your name on the list. You get to chat with the editors and other authors as well as show off your chops. There are other ways to get your foot in the door, but when it comes to breaking into the writing scene, I recommend knocking on all the doors you can find.

Sometimes, you just want to do good turn for someone in the community. I have tech-read books because I consider someone a friend, and I want their book to be as awesome as possible.

It’s also a wonderful learning opportunity, if you happen to be a novice. Not only do you have a book, but you have access to the author. Not clear on a point? Shoot off an email! During the tech review, my job was to basically sit around and wait for my readers to email me with questions.

Finally, it helps create a better book. We always need more tech books. I know, it seems like there’s already a ton of tech books out there. Unlike a novel, though, tech books have a very short lifespan. Within a few years, they’re out of date, and a few years after that, they’re often useless. We need a stream of new books and updated books to help spread ideas and bring new developers into the fold.

How do I become a tech reader?

If you’re already friends with an author, then I would suggest telling them that you would like to be a tech reader. Most of us keep a list on hand for when our editor inevitably asks us to gather some people (I know I do).

If you see a booth for a publisher at a conference, talk to the people staffing it. I assure you, these people are not interns. They’re usually editors, authors, and community managers, and if they don’t know of a project you can help on right now, they can pass your information on to someone who does.

Finally, if you don’t go to conferences and don’t know any active authors, try Twitter. Every major publishing company has a dozen contact emails you can try, but I’ve found the people manning the Twitter accounts to be the most responsive. Most will follow you back so you can have a private conversation.

Just… don’t do what I did and complain about the quality of tech books. It worked for me, but you should probably start off with politeness rather than being a grouchy cuss.

Why not self-publish?

One of the first questions I get asked when someone asks me about writing a book is why I didn’t self-publish. After all, had I self-published, I could have kept more of the profits to myself and had more control over the end product!

Now, I don’t want to knock people that self-published. It can be a great way to get your book to print, and at the end of this article, I’ll go over some edge cases that would make me consider going to self-pub route. But, for most cases, self-publishing wouldn’t have worked for me.


I am horrible with self-imposed deadlines. I love setting them, but I rarely make them. Sure, sure, I’ll get that blog post done by Friday! I can totally finish that baby sweater and blanket by the time the baby is born! I’ll have this book read by the time it needs to go back to the library!

In reality, that blog post never gets written, the sweater and blanket are delivered to the next baby, and I forget the book exists until it’s so overdue that I have to return it and the library gets my first born.

When you write for a publishing house, you get external deadlines. You’re no longer just letting down yourself (and let’s be honest, we let ourselves off the hook half the time), but these other people who send gentle, then increasingly pointed emails.

They’re also good at breaking up the deadlines. They know how authors are, so they’ll ask for proof that the first few chapters are done, or they’ll hold back part of your advance until you’ve delivered a certain percentage of the book. As you get closer to deadlines, you get more calls and emails. You have more panic attacks, but let me tell you, stuff gets done.


Promotion is hard work. Most of the successful self-publishers I keep track of have no day job. They spend part of their day writing, then another part (sometimes larger) promoting their book. They call retailers to see if they’ll carry it. They check out trade shows to see if they can get in for a signing. They do speaking engagements and write blog posts to keep the SEO on their name up.

If you publish through a larger house, they take care of most of that for you. They make your book easy for bookstores to find and order. They cut deals so your book can benefit from cross-promotion, and they make sure to send your book out to tech events. They do that without you doing anything at all.

They also host a platform for you to reach out to others. Sure, your blog is rad, but you’re probably just speaking to people inside your bubble. I know most of my readers are from within the Python community. Let’s be honest, you people are not the audience for a beginning Python book. When I blog on Pearson and O’Reilly’s sites, though, I hit a much broader audience, and I’m much more likely to hit people who might buy my books.

Existing series

There is a power with going with an existing brand. Brands are hard to establish. Marketing people who get hot and bothered about building a brand aren’t actually crazy: It’s hard work, but it’s worth it.

For Accessibility Handbook, the power came from having an O’Reilly animal. My little willow ptarmigan tells potential readers that my words come with the O’Reilly level of quality. They’ve probably used one of the animal books before, or at least seen one. People completely outside of the tech industry recognize O’Reilly covers.

And the Teach Yourself in 24 series? That one’s been established for years. It also doesn’t hurt that the series comes with a formula that’s not only student tested, but author tested. Breaking lessons out into bite size chunks turned out to be easier than I thought, and much easier to write than longer chapters.

It isn’t all Amazon

Yes, you can get into the Amazon Authors program (I’m technically in it) for nothing and get your booked pushed up for practically nothing. But Amazon isn’t the whole story.

First, there’s brick and mortar stores. Eye-roll if you want… but these stores also have their own websites, and their own loyal clientele. Back when I had a Barnes and Noble card, I’d drive by three bookstores to go there, just so I could get my discount and occasional free gifts. If I didn’t feel like driving, I’d check to see if what I wanted was on bn.com before checking out Amazon.

Also, there’s international markets. Having a book on Amazon.com doesn’t mean you’re automatically in every international market. You’re in the markets that Amazon serves, which is a subtle difference. We forget, in the US, that not everyone is serviced as seamlessly as we are by Amazon. Some have weird issues with what they can get on their Kindle, and others may have spotty delivery service.


Never underestimate what good connections can get you. The connections I’ve made through my publisher have allowed me to give talks to hundreds of people that I never would have connected to before, as well as gotten me in touch with up and coming technologies in the publishing field. I got add-ons for my second book, which ended up bringing in more money and exposure.

Upfront money

When you write a book for a publisher, they might give you money to help you with some start-up expenses, like getting a new laptop, or funding some time off of work. You pay this money back with book sales.

When you self-publish, though, you’re on your own. Worse than that, you may be on the hook for some expenses that pop up. For example, you need to pay an editor… possibly more than one. Teach Yourself had no fewer than four editors that I knew of by the time we were done. How many can you afford to pay out of pocket?

You’ll also need someone to do layout. A book without professional layout is a scary thing. It’s not just ugly, it can be downright unreadable. Words spliced too often, diagrams that don’t match up to the text, fonts that don’t render; I’ve returned a few books because the format was just too hellish to get through.

And then there’s the cover. Yes, you need one. You might need an ISBN, too. That costs money. All told, you’ll be shelling out anywhere from several hundred to several grand to publish your own book, if you want to do it right.

All the lovely people…

The people you get involved with when you do go to a publishing house are used to authors. They know about the mental breakdowns and getting stuck, they know what works and what doesn’t. They’re there to help you through the ordeal (and trust me, it becomes an ordeal at one point or another).

Had I not had my editors, I know I would have let myself off the hook at some point. “Eh, it’s good enough. I don’t need to do another read-through.” “I’m sure removing that section won’t affect any of the later chapters.” You start getting soft when you get tired, but thankfully, editors and layout people are way more fresh than you. They prod you to not give up, and to take the final questions seriously.

So when would I self-publish?

I know it sounds like I’m slamming self-publishing. I’m not. I just get asked this question all the time, so I have a rather long answer by now.

So, when would I self-publish? There’s a few places where I’d consider it:

How likely am I to self-publish in the near future? Not terribly likely, but there are a few ideas itching at the back of my mind that may not make it through the initial review process. My editors are usually pretty good at tempting me with potential pitches though. Who knows, though? Maybe it’s time to write that steampunk adventure romance.