Hey programmers, we need to talk (2013)
sealedabstract.com
sealedabstract.com
(I used to know Boyer and Moore, and used their theorem prover. Recently I took the original sources from the final 1992 version, put them on Github, and got it working with the current GNU Common LISP.[1] So you can now run their prover from the 1980s several thousand times faster than in the VAX days. It's neat to see it prove the basic theorems of number theory in about a second.)
Fewer and fewer computer science students seem to graduate with an understanding of or appreciation for actual computer science.
All the big tech companies ask pop-quiz questions and the same handful of "regurgitate this algorithm on a whiteboard" problems in interviews, and then say they've checked for "fundamentals".
Are you really surprised that people adjust to and optimize for doing well at that?
It just shows that you shouldn't care about what MOST people care about :-)
These days there is no meat left in it. You give up all your time and you get neither profits nor recognition. Writing blog posts is much more effective.
My tech blog gets a steady 200 visitors per day (assuming that I don't post anything new for 1 month) and often reaches 10K to 20K visitors on the day when I post something new.
200 visitors a day is the about the same number of visitors that my open source project website gets each day (traffic spikes are very rare)... The time and effort it took me to write the blog is less than 1% of what I put in for my open source project.
To provide a small service and affect so many people per year is great. Not everything needs to change the entire world.
I think it's actually a bit of a problem. Open Source used to be a refuge for indie developers. Now it's mostly dominated by big corporations. Now it feels like you can't really make a difference in open source (or anywhere else) unless you join Facebook, Google, Microsoft or some other mega-corp.
Aside from this, I've used things I've learned reading HN articles and comments many times in my day to day work so I can't agree it provides no value. (I just learned about Boyer-Moore, for example)
In short, I agree with you in full
It's basically the problem of specialization. Anyone can perform a task that requires no specialization, and anyone can comment on it.
This is a really great article. It's very rare I read something that is both subtle and nonapparent, yet obviously true upon inspection. That's what this article is.
For example, somebody asking how does binary search work in 2009 has thousands of points from the post. While somebody asking the same question in 2017 gets flagged for asking a duplicate.
Of course people had wondered about binary search before 2009. So in this case the reward is for being the first to do X, but on Stackoverflow.
On the other hand tricky patches generally go into a git or some VCS, that you can point to and impress prospective employers with.
If there's any confusion regarding this it's the user's error.
Recruiters never ever look at patches/commits. They might read the bottom of a resume's first page.
And the article's point is that we should be designing systems that make it even harder for the users to make that error. It's the difference between
- a poorly-designed service that rewards people for contributing little real value to the world, and
- a well-designed service that rewards people proportional to the value they create
While it's true that the error is the user's, we stand to benefit from ensuring that other users don't make those errors in the first place.
- Asking questions
- Answering questions
- Education (I put debates in this category, since frequently I'm the one learning)
The nice things about these is that votes form a good indicator as to how well I wrote my point of view. It's not a perfect metric since downvotes punish divergence from the community consensus as much as they do poor content, but it's generally good enough.
And by attempting to limit myself to those categories, my time is not wasted. I do accept that I'm going to fail from time to time by posting pure fluff, and that's OK too: at a bare minimum I've put some practice into my writing and social skills.
The counter side might be that the game aspects may become controversial (similar to the defunct streak) and stress some people out to no end.
My comments on HN usually take many minutes to formulate, thread reading not included. I am slow thinker actually, but quick chatting in general is possible only in teacher-scholar conversations, not in deep discussions, which are my favorite part of HN. In fact, this is the only group I visit actively.
There's just so much code that the best way to find it is to follow pointers to new libraries or paradigms or even concepts. So yes, the blogs and posts might get more attention, but often because they explain or link to something more substantial. They aid in discoverability (if that's a word these days).
Sure, some people might be able to build karma based on nothing but one-liners – a skill by itself I guess – but in the end, most things would have to provide some value in the form of knowledge or a link thereto. I don't think you can sustain interest if you don't provide something of insight – assuming an audience of some intelligence.
I think there's real value in being able to write about the code and ideas behind your software because nobody's going to wade through millions of random lines to get the big picture or to find out if it's good or even relevant. And this probably goes for science in general, too. Good writing can raise interest and pull in some more people.
Having said that, there is a lot of really great free software out there. I suspect the majority of the people who wrote the stuff that is really used got paid for their work through corporate sponsorships and whatnot.
The puzzle would be sold if he stopped to think about comments as "contribution" and treated them as what they are - something to do during 10 minutes break, change of pace, communication for those who are lonely.