November 13, 2018

Tips for Writing

I've been writing this blog for 10 years, and writing code for more than 30 years. Some people have asked me how did you “find your voice”? Actually no one has asked me that and if they did I wouldn't really have a good answer. I've heard that everyone has 100,000 words of lame writing in them, and it's probably similar with lines of code. So write often, fast-forward to the good stuff, here are some tips:

Physical Space
Find a quiet room in your house with a fan or white noise machine, or a crowded place with lots of people and just let them be the background noise, for free. Or play music if you prefer, with headphones, so long as you do not fear that anyone is going to sneak up behind and brain you. Headphones or earbuds are good if you are not in the position to colonize the sonic landscape around you, like you are one the bus, or it's the middle of the night, while good quality speakers are better if you are alone, or with people who do not mind the music. They might even like your music, and you can send them messages based on what music you are playing. Messages like “get away from me” or “I'm dying inside”. At any rate, a good sound source is important to mask the sickening crunch of the keys as you bang your head on them long into the night.

Environmental Sounds
Speaking of head banging, make sure the appliances in your house are loud, almost deafening as their compressors and fans turn on and off all night. Devices that beep at odd times are especially helpful. The very best is a phone alarm going off when you cannot find the phone, and when you have no idea what the alarm was even for. If you are in an open plan office a non-stop stream of annoying and jarring sounds comes for free.

If you are desperate for "noise coverage" but you cannot stand loud music, play white noise or "environment sounds" like city traffic or other weird albums. Some of these have the property that they start out quiet and get louder, this will make you more alert. Other start loud and get quieter. See the above albums for ideas. Search for those types of "sleep sounds". They can be useful even if you are trying to stay awake.

Priming the pump
Read read read. Read books, magazines, newspapers, blogs, highway signs, fortune cookies, recipes, shampoo bottles, obituaries, Facebook posts, tweets, twists and turns. Read code. Read stuff you like, but also stuff you don’t like. Don’t torture yourself, don't feel bad if some types of reading do not hold your attention and you cannot stand to read more than a few sentences. Come back to it in a few years, you might find it easier then. As a kid we got the Washington Post and I used to read the stock market listings, just because it was soothing and easy to read. The comic section was also awesome, with it's own stand-alone color section, seeing the latest large format color comics from Calvin and Hobbes and Dilbert. Kids these days pass around single-image memes, how sad is that, how can a single image be that funny.

You need to read for two reasons, to understand what style(s) of prose or code you like, but also just to learn more about the world so you have more facts, ideas, and connections you can make. Also listen to podcasts and audio books. When you read or listen, your eyes and ears play a big roll, but it’s really what’s happening deeper in your brain that matters. Seeing text and hearing spoken language are different, and each will evolve our mind down a different path. So do both, so you don't get too lopsided. Even try listening to meditation apps like Waking Up or the Insight Timer, which has over 13,000 recorded meditations and lessons. Although these are meant to relax you, they also contain a lot of teachings and useful information. As do twitch streams, see this list on Social Blade.

First draft
A lot of people say get your first draft down quickly and then edit. I do this to some degree, but I also edit as I go. I will start over and reread everything, and when something seems wrong, I’ll try to fix it. This can feel a little OCD, when you read or listen the brain is making a prediction what the next word will be, if the brain is always right that bores the reader or listener and it will put them to sleep, while if the brain is always wrong that confuses and annoys the person. You want to hit the sweet spot, where the underlying carrier wave is predictable and pleasing, something the reader or listener can easily follow, but there's a nice creme of novelty layered on top. For advanced readers the baseline carrier wave has to be pretty sophisticated. This will “screen out” people not ready to receive the creme part, which is generally a good thing. The number one skill you can have is being able to read your own writing and recognize, intuitively, when something is not quite right And then having the intestinal fortitude and focus to iterate on it until the problem is fixed. Like sanding down a block of wood, making it smoother each time.

Your goal with writing is generally to communicate something to the mind of another person, using language. The trick is that words don’t always mean the same thing to two different people. They might read your text and conclude the exact opposite of what you intended. You cannot prevent this entirely, but strive to be clear as possible and write truthfully, and that is the best you can do. If you are essentially just making stuff up, your reader will never come back. When things get too frustrating, find a good stopping point, like right now, put your draft writing away for a while, a day or even just a half-hour.

Edit at different times of the day, or after you just exercised, or before. Maybe the morning you does not like what midnight you wrote! Maybe refreshed eyes were necessary. Don’t be afraid to tackle the same text over and over, rewrite it many times. Try to avoid a long jumble of semi-finished paragraphs or half-working functions. Don’t be a hoarder, don't keep garbage around.

The wonderful essayist Paul Graham once posted an animation of his writing process, and there were a lot of twists and turns and rewrites. Imagine you are a hundred wikipedia authors and you all are editing one single wiki article. One of you looks for punctuation errors, while another adds rough ideas, a third checks facts, and another keeps typing in funny remarks, yet another cuts them out because they were over the top. Change the font face and the font size, just temporarily, the text will read differently each time you do.

Speaking of ideas, get ideas from anywhere, your family, your friends, your neighbors. Your friend's neighbors, your family's friends. If you live in a neighborhood you could crack into your neighbor's wifi network and sniff packets looking for ideas to steal. Or better yet just periodically talk to them about their day and the characters in their life. Use this material to generate ideas for your writing. If writing code, this is still valuable, you need a broad understanding to use good analogies in your design, plus comments are regular prose.

Use Google every time you cannot find a piece of information, or use it for inspiration. Use image search often. Whenever you get stuck, get unstuck quickly. Yet don't over rely on Google or your spell checker. If you don't know something, close your eyes and breath in and out and see if something comes to mind. If you get a redline spelling error, don’t right-click to get suggestions, backspace and figure it out yourself.

Sure quit at some point, Google is your friend. But at least try. Typing too fast and making constant errors is like running fast but stumbling the whole time. Try to type mindfully, it will improve the experience. Meditation can also help. Pay close attention to your breath, you might find the answer eventually pops into your head, delivered by mail cart from the depths of your maze-like cognitive infrastructure. Leveraging online resources is fine, it's a must, but every time you do you risk getting trapped in the honeypots that are all over the internet, luring in worker bees and transforming them into cogs in the planet-wide advertising machine.

You need to be rested to write well. So get get enough sleep, things will look better and clearer the next day. Drink enough water, but avoid caffeine, sugar, artificial sweeteners, milkshakes and Manhattan Ice Teas.

Exercise at least 20 minutes a day. This can include walking upstairs because you forgot your reading glasses up there, or doing a load of laundry, or washing the dishes. Or just kind of dancing around pretending you know Karate, or Tai Chi or Yoga.

Finally always do a quick metta meditation before or after writing. Living with a writer or coder is no picnic, so send good vibes to those who you love. Follow these tips and maybe they will help you on your writing escapades!