Hacker News new | past | comments | ask | show | jobs | submit login
I No Longer Need StackOverflow (toumorokoshi.github.io)
81 points by toumorokoshi on Feb 17, 2014 | hide | past | favorite | 89 comments



I no longer need the Internet.

My hamster chewed through a CAT cable last week; it took me three days to notice, so complete was my Zen immersion in creating a period-accurate replica of the first Galilean telescope, using only Haskell lenses.

When it finally dawned on me I had attained a sophistication that transcended the internet, I felt the inessentials fall away from my craft in an instant, and I was left in an affectless state of pure, actualized creation.

Now, don't get me wrong, I'm not saying the Internet isn't a great tool- I remember when I, too, used the Internet on a regular basis, daily even, and perhaps even relied on it. If you have no idea about anything whatsoever, it can be a fantastic resource. But when I want to know something, I don't look up the documentation, or download the source code. I am the source code, the documentation, the alpha build, the omega build. The Seraphic gatekeeper of the NANDs. The bit stops here.

So I ask you- are you ready to unplug? Because I already did.


See, this is why I come to HN. In a reddit circle jerk comment, there'd be all kinds of references to being "enlightened by my own intelligence". Hacker News circle jerk comments are just so much more original


Honestly, I don't get this.

I remember working in a computer lab in the 90s and talking to one of the graduate students I really respected. She had interrupted a discussion some of us were having about compiler errors & warnings, specifically the various flags to pass to enable them.

She was opposed to them -- strongly. I don't remember everything, but I remember he discussing how the days of punch card were ideal. The compile/execution phase was so divorced from act of writing your program, that you had to be really sure about what you were going. You would go over it several times before you find out if it ever compiled.

For a long time, I took her words to heart. I still enabled the warnings & errors, but that was because I didn't trust myself. My goal was to get to the point were I wouldn't need to.

After several years, I realized something: She was wrong.

I would waste a lot of time identifying things like silly typos, etc. Things the compiler would have caught in an instance. I switched my habit to compiling frequently, just to make sure I hadn't missed anything. I didn't expect the compiler to be magical, but I also stopped under-utilizing my tools too.

And that's the same way I view Stack Overflow.

I learned to program in a small town, when most computers didn't even have a modem. If I had a problem & got stuck, that was it. I would either figure it or have to give up. Sure, sometimes I would figure things out on my own. But that would take days. And, I hate to say it, but in a lot of cases, I just gave up.

On the other hand, I picked up Objective C a few years. The difference was night & day. If I couldn't figure things out after an hour (my general bar), I'd resort to Googling & asking on Stack Overflow.

I have no doubt that I learned more and learned faster with the second system.

The goal shouldn't be to reduce your toolset. It should be to learn to use them effectively.


Wise hamster practices detachment from the internet.


how did you post?


Butterflies, I imagine


I presume you mean this? http://xkcd.com/378/


Do we really need every reference spelled out explicitly?



He wrote it on paper and asked a friend to post.

Though that would still count as an access to Internet of some kind, with human transport layer separating his message from the nearest Ethernet port.


Sneakernet



doesn't that still count as internet access? ;)

granted, it certainty doesn't qualify as broadband.. birdband maybe?


With the submit button ofcourse


He is The One.


It's not always a question of "needing" something, it's a question of whether you spend 5 minutes searching for the answer or 50 minutes, or 5 hours.

It's a tool. Use it.


Convenience is good but i have to agree with him on this one.

Understanding the technology in a deeper way is a lot more useful in the long run.

And once you understand it answering other questions you may have gets a lot easier and arguably that 5 hour investment in the beginning may be a bargain.

He spends 5 hours to understand it first you spend 5-10 minutes on each question and you may run into dozens if not hundreds of questions depending on what you're doing at the end of the day you may just come out even but do that long enough and you're worse off using SO for shortcuts instead of just learning how it works.


Easy solution:

1. Look up the first 60 questions on StackOverflow. That amounts to 5 hours you would've spent on just the first one.

2. If you still have more questions, spend another 5 hours learning the ins and outs of the darn thing.

Problem solved: now you're not sacrificing latency for throughput.


This is exactly the rent-or-buy problem! http://en.wikipedia.org/wiki/Ski_rental_problem

You just described the best deterministic algorithm, but it turns out there are even better randomized algorithms, where you "flip a coin" when deciding to look up StackOverflow or keep learning (of course, that may or may not be practical :p).


I think flip a coin covers what I do :-) Sometimes I really wanna dig in, sometimes I just. need. to. finish.


Thanks for the link!

Hmm... given that you stated that the best randomized algorithms we have beat our best deterministic ones, isn't there a place for even better deterministic algorithm?


Nope. Thats really the point - if we find the best deterministic algorithm, it means we have found the one with the best deterministic running time. By loosening our criteria of running time to expected running time and allowing randomness, we can sometimes do better than deterministic algorithms.


It doesn't square well with my intuition - if we understand how allowing randomness improves expected running time, then surely we must be able to create a deterministic algorithm that is at least as good as the randomized one.

Am I missing some critical piece of understanding here?


Well keep in mind that the inputs to the algorithm can vary. Randomization can help avoid a bad input from throwing your algorithm off. A simple example of how randomization helps is quicksort:

if we pick the pivot to always be the first element, then any sorted array will cause worst-case running time. But by randomizing the pivot, we can do well (in expectation) for any input.


I'd expect that it's simply that the additional constraints implied by requiring deterministic behavior precludes certain optimizations that can lead to improved running time.

Iow, if you can never do X, then you cannot write any algorithm that may do X.


> Understanding the technology in a deeper way is a lot more useful in the long run.

I don't know about your situation specifically, but in general....it may be more useful to you personally in the long run, but the person that signs your paycheck might be more interested in only what's most economically useful for the company while you are employed there.


Agreed. Thankfully, I haven't been the kind of programmer that copy and pastes code for over 16 years, but SO being down yesterday was still inconvenient, especially as, at the time, I was trying to do something I hadn't done before (working with Google Maps to fetch a staticmap) and SO's documentation was better than Google's own.

Yeah, I suppose I could have spent a few hours learning the ins and outs of the library, but finding that all I really really needed was "draggable: false" on SO saved a good chunk of time.


I definitely see the merit that StackOverflow provides. It's a great place to find a quick answer or get help on something you've never touched before.

I'm just glad it's not my only tool anymore. And sometimes using the harder tools have unexpected benefits.


Is not using something for a single day a sign you never need it? I sometimes don't refer to SO for weeks, simply because I'm dealing with problems I can figure out without it.

But sometimes I'm dealing with something I'm totally unfamiliar with, and docs and tutorials are badly written, and then some example on Stackoverflow can be a great help.

And more importantly, sometimes I'm stuck on something really obscure. Doesn't happen a lot; once every few months or so, but when it happens, putting a bounty on Stackoverflow is a really nice option to have.

Are there really people who check Stackoverflow every single day of programming?


Your post is probably the best reflection of my own experience here.

The amount I need to rely on the internet waxes and wanes as I work on different components of our software. Sometimes I have 20 tabs open, sometimes I know exactly how to get where I'm going and just need to spend time chopping the wood, other times I'm comfortable enough to check the source, sometimes I ask a coworker or maybe I'm frustratedly digging through the source because the only guy that knows how it works quit a year ago.

They're all different areas of skill and domain knowledge, when someone starts out they unsurprisingly have the most prior experience with googling.


> Are there really people who check Stackoverflow every single day of programming?

http://stackoverflow.com/help/badges/83/fanatic


Please, that's the easiest gold badge to get and probably not a good indicator of anything. For a user interested in badges, this is the easiest way to get a gold without having interesting content.


I do (however I'm not logged on to SO most of the time so I don't get the badge). As I said in another comment, googling for something is faster nowadays than anything else, except maybe a cheatsheet printed on paper, and often enough the first result is SO, not the actual docs.


Some guy in his early 20ies thinks he has it all figured out. News at 11.


I'm in my early 30' and I desperately need stackoverflow and anything that shows up in a quick Google search. I need to spend time on deciding what problems to solve and on what's the proper solution. Not how to implement the solution.


To be fair, he's been programming for over 2 whole years now!


When SO's down, all the programmers grind to a halt. When HN's down, all of them accelerate to levels normally unseen.


So what happens when both SO and HN are down? Where does that spontaneously unleashed energy go?


Suicide rate went up or people running in circle very quickly. #ScienceFact


Beer !


I'm capable of debugging stuff myself, but I still always go to SO as my first port of call when I hit a roadblock. If I can find a comprehensive answer in 1 or 2 minutes of searching around, which I normally can unless it's really niche, that's far better than wracking my brains looking through somebody else's unfamiliar code.


You have reached the inflection point. This is when you start contributing to StackOverflow.


closed as not constructive by VLM Feb 17 '14 at 07:54 EST

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion.


Now you've finally matured into the kind of developer who can ask interesting questions - the type that are not easily answered by studying docs or source code. Sometimes because you're not asking the right questions, sometimes because your problem is obscure, sometimes because it's a little bit "subjective" - but above all, it should be interesting to other people who also know how to read docs and source.


So ... the type of question that gets rejected on StackOverflow.


There's (click arrows to navigate) always (click arrows to navigate) wiki.answers.com (click arrows to navigate)

I believe that site exists solely to punish me for doing google searches like "wiki something" to find a relevant related topic, and also to make me swear at google for removing the "block results from this site" feature from search, which, however temporarily, was awesome.


Well looks like the poster doesn't use SO quite well on a normal day then.

What you describe as a newfound way to program is actually what should be considered normal. SO isn't about getting an answer to some code problem or your homework or something like that.

To benefit from SO you should have an informed question that displays a good degree of personal research. THEN it's time to tap for the collective developer mind and be enlightened.


Or you know, you can't remember if Find is find(needle, haystack) or find(haystack, needle) and SO is the first result when you google.

Or any of the other "everyday" queries which are quicker to resolve via google + SO than the "real" documentation.


>Whenever a library behaved in an unexpected way, I started digging into the code to really understand what was going on. Instead of asking StackOverflow if an API exists or a library has a particular feature, I read the docs instead. Instead of asking if my theory will work, I figure out a way to test it, and try it on my own machine.

Yes. Or you could use Stack Overflow, and also learn something you didn't know by reading the answers.


The difference here is the difference between just seeing how something works and feeling how it works. There are a lot of people who are able to just read things and absorb them into their mindspace, but I feel that for the majority the 'click' doesn't happen until you try it yourself.


"Instead of asking StackOverflow if an API exists or a library has a particular feature, I read the docs instead."

That's what you're supposed to do :) Ask the question only after you do the homework, not INSTEAD of it


In my experience, just googling a (simple) question is much faster than trying to browse any documentation by some other means. One could say that the web is the docs nowadays and Google is just the frontend.


You can consider googling as searching the documentation, even if the said documentation is an answer on SO.

What V-2 rightly said is that you should do that before asking on SO, not before looking through it for an answer.

Anyway, this whole article is pointless, and senseless. I fail to see why people would upvote it.


On one hand, I don't need SO much either. I mostly go there to answer questions, not to ask them or research them.

On the other hand, SE has some really great sites where I can get really good reviews of stuff I am working on by other people other people who know their stuff (I use dba.stackexchange.com this way).


I mostly go there to answer questions, not to ask them or research them

2nd. After getting so many good answers from there (which is btw not exactly the same as needing SO, there are other sites and resources out there, SO is just by far the fastest and most convenient way out there), I feel a need to give things back. I admit in the beginning that feel was driven by rep. But once there was more than 10k next to my name I stopped caring that much and just wanted to help people. Especially those with weird hard to figure out problems in some specialized domains.


I find that answering questions on SO or some other forum, is actually a good way to get smarter about a topic. Or just keep sharp. So it doesn't have to be an all altruistic effort.


The guy hardly ever contributed to StackOverflow anyway - he's linking to his SO profile on his website. He only asked 8 questions and answered 5, in 4 years. Kinda like me and my mother-in-law.

So it's a bit like a bloke who hardly ever has a drink blogging how he "no longer needs alcohol" because he went through a whole weekend without sipping a beer : )

I know that you can use SO passively - only by searching - but the real power of the forum lies in the cases where your problem is original and you have to summon the community to give you a hand.


>but the real power of the forum lies in the cases where your problem is original and you have to summon the community to give you a hand.

Every time I have had an original problem, much of SO's value was similar to a stuffed animal that I could explain my problem to, with an occasional tip of something I should look into.

I personally get much more value out of SO by passively reading other peoples' questions/answers. I think that is the real power of the service.


I learnt from electronics.stackexchange in the other direction: I applied my fragmentary knowledge to answering questions, as a hobby. A combination of googling, helping the questioner improve their question, and basic thinking has resulted in me getting about 10k rep and broadening my knowledge quite a bit.

My top-voted answers are surprisingly general: http://electronics.stackexchange.com/questions/97277/when-ca... and http://electronics.stackexchange.com/questions/67598/how-are... (the top-voted answer by Olin Lanthrop is one of the highest-voted answers on the site and well worth a read). But I got 16 upvotes by translating assembler to English: http://electronics.stackexchange.com/questions/86744/from-c-... which I hadn't realised was such a rare skill in this area.


The how to make an IC question is a good example of group-think on SO. The question was general and very wide open, but everyone jumped on "how to discourage someone from making a modern processor fab plant in their basement" bandwagon. Or not answering the question in a tangent, or going all snarky. The best 5 minute answer to the actual question is probably just to look it up in wikipedia as at

http://en.wikipedia.org/wiki/Integrated_circuit#Manufacturin...

The commentary about fab at home was not very interesting, either. The true answer is its very much like making a rocket engine, high performance, cheap, and safe all at the same time requires a nation-state, 2 outta 3 is going to take some engineering skill, only 1 achieved is actually pretty easy at home for an experimenter. Ditto the fab. Twenty people repeating that you're not going to make a ARM proc anytime soon is not terribly insightful, but mentioning the work of the "instruments of amplification" guys and insinuating that once you obtain double digit betas, the logical next step of on die bias networks for a simple class A amp or perhaps a RTL (R, not DTL or TTL) inverter...

SO is notoriously good at groupthink. Sometimes what you need is groupthink, so thats OK. Sometimes not.


Note: that question has been edited considerably from how it was originally posted, and some of the author's original comments below deleted, in which the questioner was determined to do it at home.

EE.SO is very negative about "bad" questions, partly because it's small and can be run for the convenience of the dozen or so people who answer half the questions. I don't entirely approve but I see their point.


It's the same for me. My top-voted answers are http://stackoverflow.com/questions/636381/what-is-the-best-w... and http://stackoverflow.com/questions/3235850/how-to-enter-a-mu... – both of which don't even solve a hard problem. My highest-voted answer that actually required research effort on my part only has close to 1/3 of the highest-voted one's votes.

Generally Stack Exchange doesn't really reward answers to hard problems because they don't get the same kind of exposure than the beginner-type questions and their answers.


I've been a developer professionally for over 7 years, I still use SO on a regular basis. I can dig through APIs, pull library code apart and do the research, but SO often speeds that process up. The chance of you having a completely unique question is small, but if you do then some incredibly smart developers are there to help. Why delay yourself from solving a problem and moving on?


There is nothing wrong in needing SO.

I totally agree with the article that the initial source of documentation should not be SO though. Want to learn something? Yeah, then SO is not the starting place. Grab the tool, read the docs, browse the forums, engage with the community.

But sometimes there is no forums, or they are almost dead. Sometimes you want to know how other people are using that tool. Sometimes you don't find the answer to your question in the tool's forums and sometimes you got into trouble and can't figure out the issue by yourself. Even sometimes you've come up with a wonderful solution and that solution might actually be a mess but you haven't found out yet.

SO is an awesome and thrilling community that can help in all the above situations. So, in my opinion there is nothing wrong in using it to validate what you are doing or to find a solution to that annoying issue you are having or to simply help others. But yes, not really the starting point for learning something in my opinion. I don't think that is its intent either.


I agree in that it is nothing wrong, and everything about every aspect of it has been said.

I am a great fan of using SO when I get those "W t f " (ha ha ha I discovered some word completion) moments. So, then I at least get some pointers in the right direction, and if the issue is something to learn more about, then I learn more about it.


Maybe I'm weird, but I end up in an SO page perhaps one a week, and maybe 50% of that time is it actually useful. I really had no idea it had taken on such importance (real or imagined) for others.


I have a feeling there is a growing number of people that are using it the way we used to use google. Or if you're really that old, books.

As in, there is a number of people out there who literally taught them selves programming with the help of SO. Thats pretty cool imo.

Sure beats wading through forum posts of old, answers dead linking to nowhere, elitist derps claiming OP should just google for the answer (which that same forum post is returned as the top result)

It sounds like this guy just finally figured out how to teach himself without going straight for the answers at the back of the book. Not a bad thing.


While I agree with the premise, I think no one has touched on why SO has lost its crowned place among programmers.

Simply put, search has gotten much better, and programmers have mass adopted blogging.

I wasn't aware of StackOverflow's existence when it was first gaining traction; in fact, I think I first discovered it around the time that it ceased to be as necessary as, from what I've gathered, it once was.

Nowadays, when I do a search, 80% of the time there's a blog post that gives me a detailed answer to my question with an in-depth explanation of why. StackOverflow is often useful for answering my questions, but seldom really scratches the itch of why (with exceptionally insightful answers comprising a minority). I think most programmers that have achieved mastery gain more satisfaction by blogging and having their insights centralized, publicized, and monetized to their liking than they do from accruing points on SO.


"Instead of asking if my theory will work, I figure out a way to test it, and try it on my own machine." - this is what you are _expected_ to do before posting on SO.


I often find I spend 20 minutes trying to formulate a good SO question, only to discover the solution just before pressing submit.

Further reading: https://en.wikipedia.org/wiki/Rubber_duck_debugging


When learning a new and difficult topic I do this a lot. For the topics I have difficulties with it takes 20 minutes to build a workable test case, and perhaps a lot more than 20 lines of code alone.

It's not always that however. Most recently I spent 4 hours debugging socket.io disconnecting before I remembered nefarious DPI/crawling done by the house ISP https://nodpi.org/2010/08/07/talktalk-becomes-stalkstalk/


In that case it can still be beneficial to post the question and answer it yourself. Especially if it benefits other developers as well.


I fail to see how is this somewhat interesting, useful or insightful.

Pretty pointless, senseless article.


I've been programming professionally since 1981 and I actually remember having to figure out everything myself. No internet, no SO, no email, I had to go to a library to find algorithms. Sure I succeeded in doing complicated work. But why, today my brain can be expanded by the cumulative knowledge of the entire planet. I'd rather go to a grocery store and buy food than go out each day and hunt for critters. It's a tool and people are tool using, so why knock tools? Hope you enjoy eating skunk every day.


Very often Stack Overflow _is_ the documentation. Library recommendations are off topic in Stack Overflow anyway...


Some of us remember learning to program before SO existed. Hell, when I started to learn to program the WWW was still pretty new, and still looked on as something of a fad. You had to read books, and man pages to figure anything out.


I no longer need Stack Overflow, but I was in Stack Overflow 4 hours ago :-) http://stackoverflow.com/users/288570


That's one of the thing that surprises me: how does StackOverflow keep quality answers since people who are knowledgeable enough don't need to be there on the first place.


People will do anything for imaginary internet points.


And the entire beginner community went to http://www.downforeveryone.com/ at the same time


Hmm, this is fine when you really need a deeper understanding of something, but sometimes you just need to get some code out to fix a bug, hit a deadline, etc.


I consider my self an experienced programmer, but I would estimate that I use SO at least a few times a day, when programming. It's usually through a Google search, but nonetheless. I also find information in other places of course, but I really think that site heightened the quality of available information remarkably.


Hmm, that's a superb piece of self-promotion. Most experienced developers make the cross-over from needing SO to contributing answers on SO, but it never occurred to me to write about it. I envy the marketing chops this dev acquired in the process; it can make a huge difference to your salary / career.


Really? It came across very arrogant and elitist to me. The piece seems to presuppose how I write code and that always rubs me the wrong way.


Maybe we should run an experiment. Block SO from our routers/browsers (whatever works) and then see how we feel coding without SO. The time frame for this block should at least be a week.

I have a feeling we'd feel better about reading the proper documentations as opposed to trying out random answers from SO.


And to think that I was turned down as a candidate for a programming job because I wasn't visible enough on the internet (contribute to trending github projects or write a blog). This is the exact style of blog you see all the time and I couldn't bring myself to even parody it.


What a strange thing to say. He is obviously planning to work with his current stack forever. He has decided to be dogmatic at the expense of his project team. Basically, he will be unemployed within 5-10 years.


There are downsides of stackoverflow like the high karma bullies who love to moderate & flag at the drop of a hat.

However, it's still an awesome community. Too bad it's not for you.


Congratulations!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: