65 comments

[ 2.1 ms ] story [ 147 ms ] thread
Not persuaded.
Write a blog article about why!
Disagree. I have nothing to say that I don't already say via twitter, on github (repos, gists), comments on HN/reddit/blogs.

I already have all these tools at my disposal to impart my knowledge. I find blogs too self-indulgent.

If someone googles a question about programming, the top results are probably not going to be your github repos, your twitter tweets, or your comments on various sites. The top result will probably be Stack Overflow (for small questions) or a blog post (for the more comprehensive ones).

It seems to me that if "helping others" is the goal, your method of sharing is much more self-indulgent than a blog.

Also who imparts actual programming knowledge with their tweets? You find a way past the character limit? That must be one of the sillier things I've heard on here in a long time.

Your imagination is failing you.

Twitter is an excellent medium to share links to tools with others who may find them useful. An example from today: https://twitter.com/izolate/status/596262146553597952

To play devil's advocate, this is little more than a recipe to be followed by rote. I didn't learn anything in that gist other than a clever way to find the version number. Why does it get installed into my home directory... is that suitable for a production server? And so on...
That tweet is too compressed to be googled effectively. The difficulty in internet searching is finding how to describe the problem effectively. Just yesterday I was doing research on algorithms for a graph traversal problem. Since my knowledge on graph theory is pretty low, googling was more of a hierarchy. First I had to google the words I needed to know before I could search effectively for a solution.
Yeah, but you are not imparting actual knowledge through the tweets. You are sharing a link to where knowledge can be found.

You could also share a link to, you know, a blog.

And you are certainly not growing as a developer by tweeting that, where as the author of the article made the claim that having a blog will develop you as a programmer.

How is this any better than the direct link to gist? Why did I have to click and load the (terribly bloated) Twitter website just to see nothing but a link to another another resource. That's like when you're looking up a word in a dictionary and once you find it, you're told to look up another word. A waste of time.
I'd happily read a blog post but I'll never ever browse to any twitter feed.
Suppose there are 10M programmers worldwide. Should there be 10M programming blogs?
Why not? If we were manually filtering all these blogs, then of course not.

But we're not. We have google. It doesn't matter how many blogs there are as long as you are not re-hashing solved problems that have been explained thoroughly.

I don't think the point has to do with good blogs getting lost in the noise. I think the point is, if every programmer had a blog, how many of them would be any good, and how many would actually get read?
Well, considering the first (and IMAO foremost) reason for having a blog was for self-learning, I'd say people actually reading the blogs is secondary - a happy bonus.
If people reading posts is a "happy bonus", why make anything public? I do shitloads of self-learning, but I don't publicize the vast majority of it.

The primary purpose of publishing material to a wider audience should have something to do with said audience. It could be publicizing yourself. It could be a desire to help people. It could be simple narcissism. Whatever the reason, it drives the decision to publish rather than keep the material as simply a personal journal.

Because as the author of the article stated, learning by "teaching others" is one of the best ways to learn.
In order to teach others, people have to read the blog. Furthermore, in order to get the additional benefits from teaching others you need to interact with them. Writing a blog post that no one comments on is no more beneficial to your learning than writing a note to yourself in vim.
That is something you and the other disagree on. If you approach the subject matter as if you are trying to teach it to someone else, then your approach will be more thoughtful and more thorough than if you just want to learn it. Basically, it's a way to trick yourself into being more thoughtful in your learning.

If you have loads of self-control and dedication, by all means write yourself notes in vim and study them. For the rest of us mere mortals, it can help for learning if you are pretending to do something else (i.e. "teaching").

That, however, is the exact problem; most blogs are simple rehashes of the same things that have already been said. One could argue that this very article is a prime example of why someone shouldn't have (or rather, doesn't need) a blog. It isn't an attack against the quality of the writing itself, but the reality is that there's little of value because everything there has already been said countless times before.
So all writing of fiction is pointless because everything is just a reworking of previously used tropes?

Unless it's the exact same solution, I think there is always something to be gained.

Fiction is read for the fun of reading a different take on the same basic tropes. Most programming blog posts are not read for even remotely similar reasons.
Depends on the purpose of the blog. I maintain a blog for two reasons. One, writing about problems and their solutions as if I'm explaining them to someone else is a great way to solidify the concepts in one's mind (similar to rubber-duck debugging[1]). Two, having an active blog is a signal to potential employers that you're active in the ecosystem. Even if someone is rehashing the same old topics in their posts, seeing how they think and how well they write can be a useful indicator.

[1]http://en.wikipedia.org/wiki/Rubber_duck_debugging

Those are both reasons why it is in your interest to write a blog. They are not reasons why someone might want to actually read your blog (short of prospective employers).

It's interesting that this is the focus.

At the risk of sounding trite, so? Is any of what you just said a problem we should be worried about or a sign of something bad?
You’re conflating two separate questions:

1. Would 10M programmers writing 10M blogs become better programmers? and:

2. Would 10M programmers trying to find the time to read 10M programming blogs maintain their productivity, much less become better programmers?

Perhaps there’s a benefit to writing a blog even if few or even no people read it.

I do have a blog, but I only post when I have something to say to the subject - something that wasn't already said elsewhere. Otherwise I'd consider it just waste of space...
I don't particularly like the blog format. The central organizational feature of a blog is a timeline. The idea that something you said is "older" than some other thing is not a particularly useful relationship. Though you would probably like to hear if a particular idea had been updated.

I think something closer to a personal wiki would be better. All links to entries would be versioned so external links always point to the content they intended, but the entry would contain a link to an updated version if it exists.

I think having a medium where people tend to curate their content, rather than forgetting about it and moving on, would lead to higher quality content over time.

From reading the comments here, I keep thinking Stackexchange. A lot of people don't use SE this way, but it's possible to ask a question and right away answer it yourself, before submitting even. I do this sometimes when I learn something. Let the upvotes speak and mark the answer as "wiki" to make sure it's future-proof, so others can update outdated/bad info.
I agree. Blogs were designed to be "web logs", after all, and I think in a lot of cases trying to shoehorn technical writing into a blog's inherently journal-like format is a bad idea.

I much prefer it when people simply maintain a "writing" page with articles grouped by topic rather than their (rather arbitrary) age.

"I think something closer to a personal wiki would be better. All links to entries would be versioned so external links always point to the content they intended, but the entry would contain a link to an updated version if it exists."

I haven't seen a great implementation of this idea that also has a decent timeline view that people can subscribe to. Of course, if you don't care about people subscribing, then no problem, but if you are interested in that sort of relationship with people some "subscribable" is a necessity.

I've fiddled with trying to synthesize the timeline quasi-manually (think the space some wikis give you to say what a change is at the bottom), along with a checkbox that indicates the "minor change" ("don't put in the RSS feed"), but it's definitely something that only a handful of people are going to do because it's enough work to maintain one view of your content, maintaining two is even more.

It depends. There is value to having a progression of one's understanding and ideas and this is ideal for a blog. It can be technical or not. Obviously a post for the ages that one wants to craft over time and update should be its own page. It all depends on the purpose. If it is to learn by teaching, a blog is fine. Ideally new realizations would be added to the blog and linked to in the older articles.
I've been writing a blog locally that I haven't published since I don't feel I have an article that's really polished yet - but my plan was to publish in the blog format and also do a good job of categorizing my articles and indexing them, sort of like this: http://www.gwern.net/index
I don't think the order is important but the date sure is, especially for technical posts that can quickly become outdated.
If everybody, regardless of their skill level, is writing a blog, we'll end up with a lot of new tutorials how to build yet another insecure fileupload or bypassable .htaccess files.
One of my biggest pet peeves is these blogs that do things like "Getting started with Express.js" and they cover HALF of what the Getting Started docs on Express' website offers.
You should change the title to: Why you should have a fast programming blog. Making reader waiting for the content fully loaded on your blog is really annoying :)
I'm not sure it makes sense for every person to create their own blog, especially if they're not going to post frequently. Few people will end up reading anything they write. Instead it may make sense to contribute content to another website. This could either be open-source / CC content, or they could be paid for their articles.

(Perhaps they could also embed programming challenges in their articles so people can try out what the article discusses...)

Why should I contribute to an increasing entropy?
Why you just did?
Precisely. I'm contributing anyway (by commenting, breathing, farting), so why should I do it even more?
Blogging is far preferable to commenting in a public forum because I don't have to see it unless I visit.

To use your own analogy: commenting on Reddit/Youtube/HN is like farting in public. Blogging is like farting in your own home.

There is a significant nuance: blogs are most likely indexed by google. Comments are invisible. So blogs are generating much more noise, obstructing an access to information much more dramatically than even a 5000-strong comments thread could ever do.
Comments are most certainly indexed by Google. They are not usually ranked highly. And crappy blogs are also indexed and not ranked very highly.

Both generate comparable "noise", except that there are a lot more comments.

Then why, when I search for a solution to a specific problem (e.g., googling for an error message, etc.), I most likely land in some blog full of ramblings with no solution whatsoever? And often the real solution is hidden somewhere in comments on SE, never listed in any sane google query.
So what happens if you have a blog but can't find the time to write to the level of detail you'd like? I haven't had a chance to write a thing since my aborted series on JPEG encoding, two years ago; there are multiple abandoned series lurking in there, waiting for me...
Have to disagree. If you feel like you have something to say, and you feel like a blog is the right format, then sure, have a blog. But this article feels a lot like one those "self-help" articles that instructs you how to improve your life (Work-out in the morning! Eliminate all sugar from your diet! etc.) In the end, this author has the audacity to say that since something works for him then that necessarily means that everyone else should follow that formula.

TL;DR: do you whatever you want to, man.

Oh and disclaimer: I have a blog but I rarely post technical insights. It's more or less a way for me to post my creations and occasionally a cool picture or something. http://davidvedvick.info

Author here, I'm sorry if the article felt that way, that wasn't my intention at all. It's true that it's something that works for me (and probably for other people) but people should obviously do what they want.

I still think everyone should give it a try. Maybe it won't work for them but it could be great for others. They won't know until they've tried ;)

I don't blog because I have found the internet is too hateful, too quick to judge, and too eager to bring torches and pitchforks. I have a quiet, calm, low-stress life and I can not justify giving up those for free, just to share a few thoughts on the internet to others. My mental health is worth more than whatever notoriety I might gain from internet blogging.
I feel the same way, even if its just one comment out of 20. That one comment can really get to you, and it lowers the mood to a generally negative level. I have a lot of respect for people can blog about "new" ideas on a regular basis. It takes a lot of persistence.
Author here. I totally get you guys. I'm just the same and I actually got a few hate comments (not on HN) about this article. Of course, it makes me sad and I'm thinking about just stopping everything. Why bother? But the next day, I realize there are people who liked it and that makes me want to try again and get better :)
The beauty about comments is that if you own the blog, you can moderate them. Having a discussion about why something is wrong is a good thing as long as it does not turn into "I hate your f-ing post" type of deals.
If you're going to let the haters stop you from sharing, then they've won. I systematically ignore non-constructive criticism on what I write, and work hard (moderation, deletion, etc) to get rid of it.
Yes, they have won. It is a sad fact, but true.
Nitpick: the Einstein quote is predated by Nicolas Boileau in l'Art Poétique (1674)

    Avant donc que d'écrire, apprenez à penser.
    Selon que notre idée est plus ou moins obscure,
    L'expression la suit, ou moins nette, ou plus pure. 
    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
Translated on the spot (as a futile attempt from a non-native speaker to preserve the poetry of it):

    Before even to write, one should learn to think.
    As the idea is more or less obscure
    Expression follows, 'ther less clear, or more pure.
    What's best understood is uttered clearly,
    And those words to tell come that easily.
I'm always surprised how much such a work originally applying to art and poetry is also relevant to code. Another example:

    Hâtez-vous lentement, et sans perdre courage,
    Vingt fois sur le métier remettez votre ouvrage,
    Polissez-le sans cesse, et le repolissez,
    Ajoutez quelquefois, et souvent effacez.
T9n:

    Haste yourself slowly, keep up with bravery,
    Your work on the bench put again a twenty,
    Endlessly you polish, and again polish it,
    Occasionally add, much often delete.
> Before even to write, one should learn to think.

I personally gain clarity from writing.

Thanks for the reference and nice job on the translation. Pas aussi poétique, mais presque ;)
Best part about having a programming blog: writing a quick post about how you fixed some error, then a year or two later, googling for the error and finding your own blog post on it.
I agree with the idea that one effective way of learning about something you don't understand is to write an article about it. The act of writing it forces you to clarify your understanding to the point that you can explain it to someone else.

Here are some articles I wrote where at least 50% of the article consists of things I didn't understand prior to writing the article:

http://blog.reverberate.org/2014/09/what-every-computer-prog...

http://blog.reverberate.org/2014/02/react-demystified.html

http://blog.reverberate.org/2013/05/deep-wizardry-stack-unwi...

You could just have your own technical diary so to speak if you don't want to share it with the world.
I stopped blogging because my skin isn't thick enough. I wrote a post a few times, and several people complemented it each time. But then a few very angry people shredded my ideas to pieces. Emotionally it really bummed me out, so I deleted it.
A rails blog doesn't seem like a great soapbox to stand on here.
Please don't maintain a blog just to improve your job prospects.

Not that I think it won't work. But it's an arms race, it only helps you until everyone else starts doing it as well. The cost of playing along is that everybody who wants a job needs to spend more time doing something they don't care about, and "has a blog" becomes less valuable as a signal to employers.

...besides, I already have a blog, and I don't want to lose that advantage.

I agree, but only if you have something interesting or useful to say. And I agree with the comments saying that the blog isn't the best format to convey information since it's sorted by time. I'm in the process of redesigning my blog to sort by subject matter, and separate small code snippets from more in-depth posts.

On another note, I wish more programmers wrote about topics other than just technical ones.