Will Write for Money

Will Write for Money

You may have noticed a new button over there on the right. Looks like a mug with a heart on it. Looks kinda like this:

Yeah, that’s the one. what’s that lil’ guy doing there?

Here’s the thing: back in the day I ran ads on my blogs. They never brought in all that much money, usually just enough to keep the lights on. But I never liked it. I’m not some fancy auteur who thinks I’m “too good” for advertising; I just don’t like feel of ads, they’re a distraction from the content.

So here’s my new solution: a tip jar. If you like this site, and you have a few bucks to spare, I’d love it if you drop me a tip.

ko-fi is great because every cent you drop in there goes directly to me. no middle men. I like that! 😆 Right now I’m playing with “ko-fi Gold” which costs me $6/month, but if three people every month chip in I’m still in good shape.

And Here’s What You Get

But this isn’t just a one-way street. When you drop me a tip in ko-fi you can make a little comment along with that tip. Why not make it an idea for a story or an essay? If it’s family friendly I’ll write it up and post it to ko-fi as a (timed) subscriber-only post.

Beyond being family friendly I really don’t have any limits. If you want me to write about you waking up as a bear in a new version of the Metamorphosis I’m game. If you like one of my stories or series and want more of that you can just yell “MOAR ANGEL LIZ” in the comments and I’ll get the hint. And you’ll have access to an Angel Liz story that won’t be on the site for at least 30 days.

Like I said, this is an experiment. Running these blogs isn’t exactly breaking the bank, but it’s not free either. I can’t wait to see what kind of weird stuff you wonderful people want me to write.

Automation for Authors

Automation for Authors

Or: Writing with Python

I really love Scrivener. I may have mentioned this before. And I really love Leanpub. And for the most part, they work really well together. But there’s always room for improvement. And tonight I have added yet another layer of sophistication to my workflow. I’m pretty excited to share this with you.

The Workflow

Here’s a high level overview of how this all works:

  1. Write in Scrivener
  2. Export text files from Scrivener
  3. Check text files into a git repository shared with Leanpub
  4. Tell Leanpub to publish the book

Scrivener: Writing and Exporting

In Scrivener, you write all your text in little individual sections that you can move around at will. This is incredibly handy. If you decide the chapter on configurations should be in Part I: Beginning instead of Part II: Refinement you just drag it to the appropriate folder and you’re good to go. You can then export all these snippets as text files, and Scrivener will keep your file structure intact, like so:

A list of topics in Scrivener

Which turns into this on export:

The exported files from Scrivener

But where did those numbers in the file names come from? They came from here:

Scrivener Export Options

So now we’ve got a directory full of directories full of text! Let’s send it to Leanpub, right? Well, we need to do a little work first.

Prep for Print: The Leanpub Stuff

If you just give the Leanpub book generator a pile of text files it doesn’t know what order they should be in. So you provide it an extra file, book.txt, that includes all of your text files and the order in which they should be put into the book. The current book.txt file for Painless Git looks like this:

1 Front Matter/1 frontmatter.txt
1 Front Matter/2 Book Status.txt
1 Front Matter/3 Preface.txt
1 Front Matter/4 Introduction.txt
1 Front Matter/5 Structure.txt
2 Main Matter/1 mainmatter.txt
2 Main Matter/2 Beginning/01 Part 1.txt
2 Main Matter/2 Beginning/02 A Brief History of Git.txt
2 Main Matter/2 Beginning/03 Installing.txt
2 Main Matter/2 Beginning/04 First Steps.txt
2 Main Matter/2 Beginning/05 Commit.txt
2 Main Matter/2 Beginning/06 Interlude Tools.txt
2 Main Matter/2 Beginning/07 Branching.txt
2 Main Matter/2 Beginning/08 Configure.txt
2 Main Matter/2 Beginning/09 Sharing.txt
2 Main Matter/2 Beginning/10 Oops.txt
2 Main Matter/3 Refinement/01 Part 2.txt
2 Main Matter/3 Refinement/02 Good Git Habits.txt
2 Main Matter/3 Refinement/03 Small Commits.txt
2 Main Matter/3 Refinement/04 Hygiene.txt
...

When I wrote Painless Vim and Painless Tmux I kept this book.txt file up to date by hand. It was just another text file in Scrivener. So when I added a new section to the book I would go into book.txt and add each new section. The benefit to doing it that was was that I could work on a new section for a while before it got added to the book. The downside, of course, is human error. Sometimes I would add a new file in the wrong place, so chapter two came before chapter one. Or I would update the order in Scrivener and not update it in book.txt, which meant that when I published a new version it didn’t include my new chapter, and I had to fix book.txt, then publish again immediately. Whatever the case, sometimes book.txt got out of sync with reality.

It’s so easy to get files lined up in Scrivener and once you’ve done it in Scriv you shouldn’t have to do it again in book.txt. If you’re a developer the words “write a script” are already foremost in your mind, aren’t they? What if we could hook into git’s workflow to generate book.txt just before we commit?

Oh right, we can.

Python and Git Hooks

So now you need to create book.txt programmatically from your actual file structure. You’ve got numbered everything, so you can just recurse through the directory, find each leaf node and then prepend its path, and you’ve got a file path, right?

You just did too much work. Python is made to make things easy. os.walk will find every file in your directory and all subdirectories. I wrote a short python script that finds all the files, puts them in order, and then calls git add book.txt. Make that executable and save it as /painless_git/.git/hooks/pre-commit and you’re in business, my friend.

So now I no longer have to manage book.txt by hand. Using the features in Scrivener and in git, I’ve made it that much more painless to write Painless Git.

I’ve also come up with a good excuse for why I haven’t added any actual text to Painless Git today.

Introducing Painless Git

Introducing Painless Git

I have a three week break between summer and fall terms in my MBA program, so naturally I decided to write a new Painless book. I’m excited to announce Painless Git, the third [1] book in the Painless series.

The most common request I have received is for a book on something people actually use. And I’m well positioned to write this one. Unlike Painless Vim, which I wrote to help me learn vim, or Painless Tmux, which I wrote to help me learn Tmux, I’m actually already pretty good with git.

At my last job I helped move the entire 600+ developers in our organization from subversion to git, and spent months training individual teams on the new system. Then I switched jobs and moved our team here from subversion to git, and trained them on it. In my time as the “git guy” I’ve seen just about every git mess people can cause and found my way back out of most of them.

So Why Are you Writing This Book Now?

For years I’ve resisted writing Painless Git. I kept coming up with excuses like “I want to write novels!” Or “My wife just had another baby!” Or “I’m getting an MBA and it’s really hard!”

But then a wonderful thing happened: I have been put in charge of a brand new team of developers and guess what? It’s time to teach them git. Faced with this prospect I thought “I could dig up all my old presentations and cheat sheets and teach this team git over the course of a few weeks, or I could spend the next year or so finally writing Painless Git. As I’ve already demonstrated, it doesn’t take much to push me over the edge.

I’m very exited to share this one. Painless Git is a distillation of the tips, tricks, methods, and patterns that I’ve been teaching to teams from one part of Salt Lake City all the way to a suburb twenty miles outside of Salt Lake City. These are patterns and recommendations that have been battle hardened and stood up to old SVN pros and brand new interns alike.


  1. and final. I mean it this time!  ↩
National Novel Writing Month

National Novel Writing Month

Note: This was originally published on the now sadly extinct blog “Favorite Thing EVER!” In 2010. I might re-post a few of my other FtE! writings in the future.

National Novel Writing Month has a simple premise. You write 50,000 words of fiction in November. Got that? Okay, good. Go to it.

You might have some questions. Something like this:
Q: I’m not an author!
A: You are now. Write.
Q: I’ve never figured out sentence structure!
A: Not important. You can edit later. Write.
Q: Why? What do I get out of it? Is there a prize?
A: You’ll figure that out when you get to the end. Write.
Q: What I write will probably be terrible!
A: I’m sure it will. Write.
Q: So…I should just write?
A: Right.

This is real, pedal-to-the-metal time. You’ve been saying for years now that you’ve got a great novel inside of you. You’ve plotted scenes, maybe you’ve even written a few character sketches. But you’ve never actually sat down and pounded through a real draft, from beginning to end.

Now’s your chance, and you’re in good company. Every year tens of thousands of authors sign up, in essence promising that they will do what it takes to get to 50,000 words by December 1st. The forums on the NaNoWriMo official site are a great place to talk with people who are just as–or, if you could use some Schadenfreude, much more–stuck than you. The tone on these forums is usually friendly and helpful, if a bit terse; because everyone’s got a novel they need to get back to.

You’ve also got some good tools. Scrivener (have I mentioned Scrivener before?) is free for the month of November, perfect for NaNoWriMo, and will give you 50% off the price of a permanent license if you meet your 50,000 word quota.

There’s no pressure, no external warnings, no coach urging you to make it to the next goalpost. Just your own personal drive. The site simply provides a place for you to record your progress and shows you where you should be if you’re keeping up a nice, even pace. In reality, there’s nothing stopping you from just walking away. But you’ll keep writing, because something inside of you will not give up.

There will be bad days. There will be days where you don’t even want to look in the general direction of your computer, knowing that if you sit down that…that thing will want you to type words again. There will be the bewildered looks of your loved ones, trying to figure out what happened to that person they used to know and who this sleep deprived interloper is. There will be nights where you absolutely can’t look at the line above your cursor, because you know that if you read that sentence you just wrote you’ll have no choice but to delete your entire novel and move to the deep woods in a vain attempt to hide from the shame of having written such dreck. But you’ll keep writing, because something inside of you will not give up.

There will be gray days. So many gray days. Days where it’s all you can do to keep putting one word after the other. Days where you know what your characters need to do, but for some reason they insist on metaphorically picking up the dry cleaning, washing the car, and paying some bills first. But you’ll move on. You’ll write your 1,667 words (a number that will become synonymous with both “freedom” and “prison” over the course of the month) and leap from your chair, desperate to do anything else. But the next day you’ll come back and keep writing, because something inside of you will not give up.

But there will be good days as well. There will be days where your brain is on fire, racing a million miles a second as you see your characters start to come to life and tell you what they’re supposed to do next. There will be the moments of pure, blinding brilliance, when you can see the end from the beginning and everything in between and it’s all beautiful and right and good and you can’t understand why you don’t already have a four-way bidding war going on for your book.

And then there will be the best day. The day where you paste your entire novel into the validation box and your word count bar turns from workaday blue to a sublime shade of…light purple. But who cares? It’s the most beautiful light purple you’ve ever seen, because it means that you are a winner. You did it. 50,000 words. You are a Winner. This isn’t like finishing a video game or putting together a jigsaw puzzle; in those you’re walking a trail someone else blazed. This is something new, something unique, and you created it.

From here the world is open to you. Despite what your output looks like, you have proven to yourself that you can do hard things. In addition, you’ve spent a month forging a habit of really zeroing in on something for an hour or two every day. Now you can re-work your novel, shape it into something you want to publish. Or you can start a different story, this time focusing on the brand new character that snuck into your story as an extra and kept trying to steal the show. You can create that new app for the iPhone. You can go back and get that graduate degree. You can do hard things, and you’re a better person for it.

And now that you’ve done it (or at least made it to the end of this bombastic article), please consider making a donation to keep NaNoWriMo running. Let’s make sure that other people get a chance to feel what you’re feeling.

A Novelist in Business School: Over Engineering

A Novelist in Business School: Over Engineering

Finally. A class I actually understand.

Technically this new class is called Management Communications, but everyone calls it Comms, because that’s what students do. It’s a whole class about presenting yourself clearly and effectively. It’s about using a good balance of emotion and logic to communicate to your listeners who you really are and what you’re trying to accomplish. I had kind of hoped most of my MBA would be classes like this, but for now I’ll be glad that I at least have this class.

Anyway

One of our first speaking assignments was to present a “Transformational Moment”, something that changed us in some way; an event that helped make us into the people we are now. Because it’s an online class we have to figure out how to shoot the videos on our own, instead of just presenting in class, face to face.

The featured image above shows what my setup looked like. As usual, I completely over-engineered it, because I like doing that. The ingredients in that shot are:

  • A MacBook Pro
  • A Blue Yeti Microphone
  • Two USB-C-to-something-else dongles because Apple
  • A Logitech USB webcam
  • A pair of Sennheiser HD 280 Pro headphones to check how I was coming through on the microphone
  • A ladder doing duty as a camera dolly
  • A chair on a piano bench doing duty as a boom for the microphone
  • Kids
  • A dog (who is cropped out of the picture, but for some reason was sleeping under the ladder)

It took me about half an hour to set this up, and about an hour (and nine takes) to actually get a video that I was willing to call good enough.

to me, the crazy part about this is that I already had all the equipment. The even crazier part is that I probably could have just propped my phone up on the ladder and the video would have been perfectly acceptable. It’s a great time to be alive.

Prism, Not Mirror

Prism, Not Mirror

My story, To: The Lady on the Train has gotten a lot of praise, for some reason. I’m still learning what people actually like in my writing, and sometimes things just catch.

But the criticism that has been leveled against it is that it’s not really fiction, because it’s so clearly based on something that really happened. This is somewhat confusing to me, because everything I’ve ever written is based on things that have really happened. Sometimes I put dragons or spaceships (or dragons on spaceships) in the mix because I like dragons and spaceships. But the core of every story is the world around me.

It’s been said that art holds a mirror up to life, but I disagree. If I had tried to directly reflect the experiences that seeded To: The Lady on the Train the piece would have been a lot longer and a lot less focused. It would have contained all the little pauses and moments where I had to say “I’m sorry, I couldn’t hear you, what was that?” Things like that are real but not good fiction. I took a forty-five minute conversation, edited out all the parts that didn’t fit the narrative I was trying to relate, simplified and clarified the things that made my point, and that’s what you got.

Instead of a mirror, I would say that art acts as a prism. Any work of art refracts out a part of the artists’s experiences. Life doesn’t fit on the canvas or the page. Ideas, feelings, themes; those are things you can distill out and communicate. If an artist of any stripe has done their job the authenticity of that idea, feeling, or theme will resonate with you and you will feel the truth of it.

Perhaps, if you take all the creative output of our entire species, every story, every song, every sculpture, every YouTube video, every podcast, every painting, every drawing, every poem, every hastily scribbled love letter; perhaps then you would get something approaching a “mirror”. But, like a reflection, it would still be a shallow, flat copy of an infinitely deep reality.

A Novelist In Business School: I am the Null Hypothesis

A Novelist In Business School: I am the Null Hypothesis

In my Statistics class[1] we spent a lot of time identifying the “Null Hypothesis”. According to my mac’s built-in dictionary the formal definition of this term is:

(in a statistical test) the hypothesis that there is no significant difference between specified populations, any observed difference being due to sampling or experimental error.

But that’s boring and hard to remember. My excellent professor defined it as

the state in which nothing interesting is happening.

The ever delightful Tom Scott dedicated a video to people disproving the null hypothesis in zero gravity.

Your Point?

My point is this: I’m an overfed middle-aged white dude. In America generally and in my MBA program specifically I am the null hypothesis.

This was made apparent a while back when a friend and colleague of mine, a woman of Asian descent, was approached by an advertising firm, asking if she would like to be in a commercial for our MBA program. In her words, “They only wanted me because I was a diversity double-shot”. They didn’t know anything about her or her life, just that she disproved the null hypothesis.

It was made clearer when I started looking for a scholarship. There are precious few scholarships available for overfed middle-aged white dudes.

And That’s a Good Thing

I don’t really need a scholarship. Yes, it will take me a non-trivial number of years to pay off my student loans. But I’m not worried about paying them off. I would much rather see people who don’t normally have access to business education getting into programs like mine than pay my own loans off a few months earlier. The deck is stacked in my favor in pretty much every other aspect.

Nice job Virtue Signaling, Nate!

Yeah, it looks like that. It might even be that. I’m still going to compete like crazy for any job I apply for, regardless of who the other candidates are. I’ve got a family to feed. But I recognize the problem. I’ve spoken to my fellow null hypotheses in our program, and to a man[2] we all agree.

We are a Null Hypothesis that Needs–and Wants–to be Disproven.

We need to work toward a day where my friend is no more surprising in the halls of business school or the boardrooms of major corporations than any overfed white dude. The shape of success should be that actual, genuine diversity is the state where nothing interesting is happening, and a company that has an overabundance of overfed white dudes is the aberration.

So What are You Doing about it, Nate?

Well, at present I’m not in a position to make any hiring decisions, nor am I anywhere near the C-level suites of any company. But just as consumers vote with their dollars, I can, as an employee, vote with my labor. I can expect my employers to be making efforts to hire fairly, or I can find a new job. I know it’s not much, but it’s a start.


  1. Technically my “Data Analysis and Decision Making” class, but even the professor called it “Stats”  
  2. Masculinity is part of the nullity of our hypothesis  
Daft

Daft

You used to be witty and wise? Me too!
But now I’m so daft it’s depressing.

Pull up a chair, let’s sit here and share
A laugh at how fast we’re regressing.

A Novelist in Business School: Math

A Novelist in Business School: Math

“A Novelist In Business School”, is a series about putting my literary arts brain through formal management training.

I hate math. I always have. In high school I realized during a math class that I had enough math credits to graduate, so I stood up, walked out of the class and dropped it on the spot.

Somehow I then made it through an entire undergraduate degree in information technology without taking another class that involved serious quantitative work. I even got a high enough math score on the GRE to avoid taking basic undergrad math.

All of which changed when I applied for grad school. My standardized test scores demonstrated quite clearly that while I have better than average communication skills my quantitative reasoning skills are less impressive. Like, 45 percentile less impressive.

When I applied for the MBA program I’m currently in we had a long talk about that. They wondered how I thought I would get through an MBA and I wondered why they thought it was so important. After all, I’m here to manage people, and I’ll hire accountants, right? That’s how it works, right?

Maybe. But MBA degrees are famous for wanting you to know things, which means being able to keep an eye on your accountants. So now, some two decades after I walked out of a math class, I’m stuck in not one but two math classes I can’t walk out of.

How I’m handling it

First off, I’m not going to graduate with a 4.0. I’m still not great at this and I’ve been doing a lot of catch up work to get to where I’m even okay with it. So don’t take this is a guide to perfect grades. But here’s what I’m doing to make my narrative focused brain accept mathematics.

Work with someone else

I’m incredibly lucky; one of my co-workers is also in my MBA program. While we were nodding acquaintances before I started the program we’ve become good friends since then. We work on a lot of the homework together, and use one another as sounding boards when we’re having problems with various topics. The psychological power of having someone else who is going through what you are going through is immense.

Take notes. Lots of notes

I can read things and think, “okay, got it, that makes sense,” and move on. Which works until I have to actually use anything I read. Then it absolutely doesn’t. Like, say, when I take a test. So I’m taking copious notes on everything I read or listen to.

I’ve gone through a number of note taking programs, trying to find one that manages my notes, gives me the flexibility to insert images and graphs and highlights as needed. I’ve gone through Evernote, OneNote, Bear, Ulysses, and a few others, before settling on the dumb-stupid version:

Markdown files in directories.

I have been using Markdown in various flavors for years, and MultiMarkdown is my favorite variant. Using MultiMarkdown to take notes means I can take notes in vim or MultiMarkdown Composer or any of a number of other Markdown-friendly apps, depending on which computer I happen to be sitting at. I used Marked to create a formatted preview of my notes more or less in real time, and when I need to share notes with someone else I can send them pretty much any file format that works for them. Also, Markdown is much less prone to tinkering. I can’t waste time playing with fonts and layouts, two things I’m often guilty of wasting a lot of time on.

Learn equations, dang it.

In my daytime job I’m a programmer, which means, according to Larry Wall, that I’m productively lazy. I look for short cuts, ways to make the computer do all the work for me. And MBA-type math is easy to push off to the manager’s best friend, the spreadsheet. Microsoft has done a good job turning Excel into the world’s financial calculator. So as a programmer it’s tempting to just figure out what formula I need in Excel to answer any problem and just plug numbers in there.

Which works until it doesn’t. The computer can only do so much. I need to give it good information to get good information back. So in my note taking, I’ve forced myself to not only look at the equations (I’ve spent my life glossing over anything that looks like math) but figure out how to type them into my notes. I take notes in MultiMarkdown, which uses the MathJax language (which is a subset of LaTeX… to lay out mathematical equations. So I’ve forced myself to learn MathJax, and I make sure that I type every equation into my notes so that it looks the same as the ones in the books or lectures.

Why? Because I have to spend time looking at every term in the equation, and then I identify them in the text of my notes. I have to parse the equations make sense of them, look at them closely over and over to make sure they match… in short, I have to think about them. And that has gone a long way towards getting them crammed into my brain, will I or nil I.

Same time every day

I work on homework every day from roughly 8:00pm to roughly midnight. Some nights I can feel like I’m done around 10:00 or 11:00. Some nights it takes me until 1:00am to get done. But every night I know I’ll be sitting down and focusing, and I am getting to the point where I can feel my mind going into “MBA mode” around 7:45. Habit is a useful thing if you train it right.

Finishing Breath of the Wild

Finishing Breath of the Wild

I didn’t really mean to finish the game at all, which is the weird thing. I was just looking to get more drops from the monsters that live in and near the castle, and while I was at it I wanted to find one of the collectables in the castle as well. But I made a turn into a big room and suddenly it’s cutscene central and I’m in the big final boss fight. And I won.

And sat there. It was 2:30 am. I beat the game at half past two in the morning. When I was done it gave me a save game file that was saved right before fighting the boss, but now it had a star next to the location on the save file. That was it.

And I found I didn’t want the game to be over. I had grown fond of Hyrule, more fond of it than I had of any other video game world. This is not my first Zelda game either. As much as I loved playing A Link Between Worlds, when I finished that game I didn’t instantly go back and wander around the environment some more. I found a new game to play. And I could do that now. Except I don’t want to play a different game.

Some years ago, when Myst was new, one of my friends finished the game in a night and then spent a couple of weeks playing the game by just wandering around its environments. At the time I didn’t understand that, not really. But now, as I load up my star-studded save game and go back to Hyrule and find upgrades for armor sets that are ostensibly for a fight I’ve already won, now I get it.