As a person whose core skillset is writing, not programming, I feel more qualified to comment on this particular HN thread than most others which I prefer to demure on.

I love the question about how to write well. It's the craft I've dedicated my life to, and I'm grateful to see a group of really smart people investing time in the skill. It validates the effort I've poured into becoming the writer I am today. Particularly since I've chosen to be a writer in the startup community, which sometimes makes me feel singled out or awash in a sea of programmers :-)

To start, writing is often broken down into discrete rules like Grammar and Syntax as well as Word Choice and Sentence Length, all of which could be summed up as the overall Style of a particular piece of writing. I love the Nabokov quote below because he's one of the all-time greats, and although Hemingway is my favorite author of all time, the critique of leaving things out is valid. One of the supposedly set-in-stone commandments of writing, particularly for the web is to focus on brevity above all else because the audience is presumed to have the attention span of a gnat, particularly when Mark Zuckerburg's mind-melding software is constantly clamoring for your attention and mental processing power...but I digress.

My approach as a writer is to place all of the stylistic and grammatical elements of writing in a distant second place to a thorough understanding of your audience. Understanding who you need your app's content to connect with is the only thing that matters, and will give you all the data you need to write grammatically, and choose the right words, or use synonyms. To put another way, writing is just communication. Good writing only means communicating effectively.

Understanding your audience tells you which rules of grammar your audience don't care about and that you can therefore break.

Have you ver read a sentence on a website that ended a sentence with a preposition and wondered what the hell the writer was on?

Of course, I'm singling out poor grammar in the previous sentence as a way to make a point. I broke a rule simply as a tactic to get your attention, and then point out that if I've got your attention, then my writing style was effective. I can only get your attention if I know what you're paying attention to, because I've done the work to deeply understand what motivates you.

HackerNews is largely a developer audience. Developers are a detail-oriented bunch, and I take that into account whenever I post here. In the above example, by making a calculated error and hiding it in the middle of several paragraphs, I'm essentially leaving my message hidden in plain sight, because I know that most of my readers on this post have spent hours in front of their computers paying attention and even exploiting tiny details as they bend software to their will.

Yep, leaving a preposition at the end of the sentence is grammatically incorrect, and even grates on most people who are detail-oriented for a living. But that actually makes it effective.

If I were writing this the same way I wrote my honors thesis on the Pick-Up Artist Community, I wouldn't have left a single preposition hanging out there. Different audience. My style had to reflect the purpose.

Your style and your message are affected by the following things, in the following order:

1) Your audience - Perform a customer development, or what I call "rhetorical analysis" on your audience to get into their heads. Survey them to develop a profile of who they are and how they want to communicate with them. This is why Ramit Sethi of iwillteachyoutoberich.com is constantly surveying his lists. He finds patterns of language in the responses and uses them in product development and marketing.

2) Your communication medium - Use words differently in email than on Twitter. Write your blog posts differently than your white papers. Consider the constraints of the communication medium and learn to exploit them. For example, Twitter's 140 characters means certain grammar rules are expected to be broken. But there are rules about breaking those rules as well. "U wont git far if u luv 2 tweet lik dis."

3) Your communication mode - a fancy way of analyzing the "genre" of your communication. Basically, what's the feel or the sense of your communication. Different modes in literature are poetry and prose. Different modes in startups are the mode used when you ask for an introduction as when you develop your business plan.

4) Your goals with each communication - what do you actually want to accomplish, and then how can you approach that goal in such a way that it will resonate deeply with your audience, fit into the given medium, and be in line with the context and reader expectations of the communication mode?

Before I sit down to write anything, I mentally (or literally on paper) do a rhetorical analysis of my audience, the medium, and my goals. Here's what I came up with for this comment on HN.

Audience: Hackers, entrepreneurs, startup folks, wantrapreneurs, highly intelligent, subtle, intensely focused and motivated to read long pieces IF they are learning something, LEARNING is a primary motivator, Opinionated and reality-based so high need to provide specific examples to general rhetorical principles, detail-oriented from years of writing code, or simply by birth.

Medium: HackerNews forums. Highly trafficked, vibrant discussions, sometimes full of intense disagreements, an appropriate forum for a larger comment, ONLY if every word is carefully chosen. Brevity would be preferred, but long-form prose will be tolerated if writer managed to be interesting and informative along the way.

Mode: Deductive reasoning, dry and analytical, ethos of "sharing" and "contribution" over "self-aggrandizement" or "self-promotion." Smart, accomplished people sharing what they've learned over the years, contributing insight to the community in one giant effort to support one another's growth. Sometimes hostile to marketing or sales. Beware of trolls...

My goals: To share my strategy to be successful at my craft with a group of fellow startup folks who I admire and am motivated to spend time around. To add my own life experience to the mix in hopes of helping someone become a better writer. To increase my own visibility and prominence in the group over time, and develop a good reputation in the long term. To feel smart (not relevant to writing effectively, but shared in the spirit of honesty).

I could keep writing about this, apparently, since my ideas keep flowing, but this is a monster post already, so I want to simply thank you all if you've managed to read this far. I hope we can talk more in the comments.