I No Longer Need StackOverflow
toumorokoshi.github.io
toumorokoshi.github.io
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.
granted, it certainty doesn't qualify as broadband.. birdband maybe?
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.
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.
It's a tool. Use it.
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.
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.
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).
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?
Am I missing some critical piece of understanding here?
Iow, if you can never do X, then you cannot write any algorithm that may do X.
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 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.
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'm just glad it's not my only tool anymore. And sometimes using the harder tools have unexpected benefits.
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?
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.
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.
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.
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 any of the other "everyday" queries which are quicker to resolve via google + SO than the "real" documentation.
Yes. Or you could use Stack Overflow, and also learn something you didn't know by reading the answers.
That's what you're supposed to do :) Ask the question only after you do the homework, not INSTEAD of it
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 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).
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
Further reading: https://en.wikipedia.org/wiki/Rubber_duck_debugging
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/
Pretty pointless, senseless article.
I have a feeling we'd feel better about reading the proper documentations as opposed to trying out random answers from SO.
However, it's still an awesome community. Too bad it's not for you.