Last Cull

Working through the last chapter that needs to be trimmed down. So far, I’ve cut about 12,000 words off the novel, close to my target of 14,000 (10% of the original length).

So this weekend I’ll be able to start fixing the multitude of other errors I’ve found in the cutting.

Thankfully my previous fixes — the patching over of the plot hole, making certain things explicit earlier in the book — have held up on this second read-through. In fact, I think trimming off the fat of the book has made the fixes better, bringing the stitched parts of the narrative closer together, in a way, so they reinforce each other.

Strange to think that deleting words not only improves the pacing, but makes the other parts stronger.

Seven More Languages in Seven Weeks: Lua

Realized I haven’t learned any new programming languages in a while, so I picked up a copy of Seven More Languages in Seven Weeks.

Each chapter covers a different language. They’re broken up into ‘Days’, with each day’s exercises digging deeper into the language.

Here’s what I learned about the first language in the book, Lua:

Day One

Just a dip into basic syntax.

  • table based
  • embeddable
  • whitespace doesn’t matter
  • no integers, only floating-point (!)
  • comparison operators will not coerce their arguments, so you can’t do =42 < ’43’
  • functions are first class
  • has tail-call-optimization (!)
  • extra args are ignored
  • omitted args just get nil
  • variables are global by default (!)
  • can use anything as key in table, including functions
  • array indexes start at 1 (!)

Day Two

Multithreading and OOP.

  • no multithreading, no threads at all
  • coroutines will only ever run on one core, so have to handle blocking and unblocking them manually
  • explicit over implicit, i guess?
  • since can use functions as values in tables, can build entire OO system from scratch using (self) passed in as first value to those functions
  • coroutines can also get you memoization, since yielding means the state of the fn is saved and resumed later
  • modules: can choose what gets exported, via another table at the bottom

Day Three

A very cool project — build a midi player in Lua with C++ interop — that was incredibly frustrating to get working. Nothing in the chapter was helpful. Learned more about C++ and Mac OS X audio than Lua.

  • had to add Homebrew’s Lua include directory (/usr/local/Cellar/lua/5.2.4_3/include) into include_directories command in CMakeLists.txt file
  • when compiling play.cpp, linker couldn’t find lua libs, so had to invoke the command by hand (after reading ld manual) with brew lua lib directory added to its search path via -L
  • basically, add this to CMakeFiles/play.dir/link.txt: -L /usr/local/Cellar/lua/5.2.4_3/lib -L /usr/local/Cellar/rtmidi/2.1.1/lib
  • adding those -L declarations will ensure make will find the right lib directories when doing its ld invocation (linking)
  • also had to go into the Audio Midi Setup utility and set the IAC Driver to device is online in order for any open ports to show up
  • AND then needed to be sure was running the Simplesynth application with the input set to the IAC Driver, to be able to hear the notes

Seven Bad Ideas by Jeff Madrick

Comprehensive. Explains 7 of the biggest ideas underlying the dominant economic model of the world, then demolishes them. One by one, each is shown to be based on false assumptions and a complete lack of evidence.

Ties everything together by showing how policy shaped by these ideas has damaged the world economy.

Three of the many things I learned:

  • The modern concept of using defense contracts to spur industrial innovation was invented in the US, in the 1800s.
  • For Adam Smith, prosperity came from increased productivity (usually from a better division of labor), not from the Invisible Hand, which was a guide to where to invest, not the engine of growth itself.
  • Multiple Acts of Congress (notably the Humphrey-Hawkins Act of 1978) direct the Federal Reserve system to pursue policies of full employment and low inflation. For the past thirty years, the employment mandate has been ignored.

The Best Word is a Deleted Word

Trimmed another 3,000 words off the draft this week.

Only three chapters left to truncate. Then I can start in on the growing list of problems I’m seeing as I go: personality quirks that got dropped from later chapters, items whose properties changed without reason, place names that got swapped.

At this point, I’m starting to look forward to doing the final copyediting run-through, because it’ll mean all these other issues have been dealt with.

Till then, I’ll keep cutting.

11/22/63 by Stephen King

Compelling. Read the last half of this 900+ page monster in a single day.

Still amazes me how King’s writing style is so slight as to be non-existent, but with it he creates these incredibly long, involved, gripping stories. Truly a master of the craft.

Three things I learned about writing:

  • Horror stories lean on senses other than sight: smell and taste, in particular. These senses are more intimately connected with our bodies, making the texture of the story more physical.
  • A simple task can have tension if the reader is kept guessing as to what might happen, and if the character thinks things could go horribly wrong; if the character has a goal-threatening freak-out, that’s even better.
  • Horror needs a temptation: an invitation to follow a compulsion the character normally wouldn’t, with promises (usually false) given that make it seem ok.

We’re Gonna Need a Bigger Boat

Labor Day weekend was awesome. I spent most of each day editing: reading through the novel and hacking away at anything that didn’t need to be there. I’ve trimmed a few thousand words off the draft already, and it feels great.

Except that every time I read it, I find more things wrong.

On my way to cut down a stray paragraph, I noticed one of the characters’ dialog sounded like a really bad imitation of an accent. Had to stop and fix that.

Trimming a different chapter, another character had somehow developed a verbal tick, repeating the same phrase with every sentence, like some sort of crazed parrot. I had to stop and fix that, too.

Each round of edits is revealing more edits that are needed. I’ve had to stop changing things as I notice them, because it ends up derailing the edits I originally went in to make. Instead I’m jotting each one down in a notebook, so I can go back through later and fix them.

What I thought would be a series of nice, orderly editing rounds has become a game of whack-a-mole, where three more problems rear up with every one I knock down. At this rate, my internal deadline (Oct 1) for finishing the edits won’t be a deadline so much as the day I put down the mallet in defeat.

Until then, I’ll keep hammering away.

Editing Day

Today is Editing Day.

I’ve patched the holes in the plot. I’ve gone through and made the language more consistent. I’ve checked the character’s backstory to make sure it all hangs together.

Now it’s time to do the cutting. Time to trim away the fat from my descriptions, to cut the unnecessary dialog, to skip over any boring action sequences.

It’s good I have the day off. I’ll be spending it making the first cuts, and planning the word culling to come.