Get better at Googling
markodenic.com
markodenic.com
The "AROUND" proximity search is neat as well, especially for words with dual meaning. like:
bootstrap AROUND(6) cpu
Finds "bootstrap" within 6 words of "cpu", which culls out most (not all) of the unwanted results about the bootstrap js library.
This article seems to cover most of the ones I'm aware of: https://ahrefs.com/blog/google-advanced-search-operators/
Edit: Changed around(6) to AROUND(6). Apparently the lowercase version doesn't work, as it's highlighting the word "around" in the results.
> “search term”
> Force an exact-match search. Use this to refine results for ambiguous searches, or to exclude synonyms when searching for single words.
Author claimed they tested all of the operators, but this one in particular I can confirm haven't worked reliably for me for over a decade and across a number of machines and accounts.
Some times it can be traced down to things like me searching for "foo bar" and Google thinking
> He said foo. Bar immediately replied [...]
is a valid match which is kind of understandable.
But most of the time I can't really see why the page shows up at all. No trace when searching in the page nor in the page source.
https://www.google.com/search?q="somestring"&tbs=li
Some other uses of "tbs": https://stenevang.wordpress.com/2013/02/22/google-advanced-p...Now it just fails inconsistently (i.e. it sometimes works).
It always reminds me of learning how to search databases back in the 90s when you had to pay by the minute and you really needed to know all the operators and how to use them! Old school librarian skills :-)
https://www.google.com/search?q=site:reddit.com+inurl:progra...
This would pull up results for "Vim tutorial" from the /r/programming subreddit. Of course, there are better ways to search by subreddit, but using site: and inurl: is the most website-agnostic way to narrow down results. Both these keywords also work on DuckDuckGo.
I also often use the "I'm Feeling Lucky" keyword "\" on DuckDuckGo, e.g., to search for lyrics
https://www.google.com/search?q=site:link.aps.org+inurl:Phys...
"bootstrap cpu" gives far higher quality results.
Almost never works these days. Google now usually just quantizes your search terms into an ad or ultra popular news article written 3 minutes ago. It also ignores all your operators most of the time.
Bonus: If you use something like inurl: You get blocked for a "hacking attempt". Google also has blocked Tor and VPNs since 2006 or so. In fact, they are the one big search engine who has done this the longest. Google search right now is like one of those dinky websites from the early 2000s that follows all kinds of insane practices like blacklists and filters.
What Google Search is trying to be is a thing you can ask questions and get an answer back. For example converting feet to inches, or where is Starbucks. I don't even understand why the niche (really, this is how academic research is done, but i guess you can just discount the entire web as an invalid soruce) of "searching for strings over a set of websites" is not even attempted to be filled. People are crazy.
I used to use Google so much that it felt like a border collie in those dog competitions. I knew how it behaved, I had a bank of commands/searches that I had half-memorized and which I could use to restore knowledge that had been evicted from my cache. It repeatedly surprised and delighted me with how smart and loyal it was. Like a good dog.
And then that dog got brain cancer. It doesn't know any commands anymore. All it can do is vomit up clickbait-y news stories from the last 4 years. And I'll never get to interact with the old one ever again. You can't archive.org a SaaS application.
I've noticed search for everything kind of sucks now as every platform has tried to become curators.
They put so much weight on recent * news * mainstream. Very black mirror.
Even searching for explicit contrary takes will instead give you the same recent * mainstream * news.
On a related note, I find it hilarious that websites - even e-commerece and services that don't seem to have any physical contact - now have a generic COVID-19 popup on top of their cookie popup and privacy police banner.
You jest but if a pandemic 100 times as deadly as COVID came upon us, anti-vaxxers and the misinformation they spread via the internet could potentially end the world.
You either education your people, or you have to control the information they receive.
The GOP has long chosen to make Americans more stupid (privatisation of education, the teaching of fairy tales in the science classroom, etc) so that they can continue to be manipulated into voting for charlatans. As a result, the only way to keep the country from completely going off the rails on the backs of dumb fucks is to manipulate the information they receive... try and protect them from misinformation, disinformation, and lies.
I know someone I consider intelligent who started with one Joe Rogan video and a year later was a raving pro-Russia, pro-China, holocaust denying anti-vaxxer. Youtube took him from fun, reasonable guy who you'd love to have at a party to the bore who found a conspiracy in everything and who just oozed bile and anger at this new world that millennials had destroyed.
If he couldn't fight the propaganda, your average person on the street can't. It's a recipe for disaster, and to my mind the only short term solution is to censor the propaganda.
Of course over the long term, the only real solution is to create a smarter population who aren't just trained in arithmetic, but in logic and philosophy.
If you want people to think logically about topics, the first step is making them not be taboo.
How you fight is tricky and i don't agree that censorship is the right fix in the long run, but i don't think the person you are replying to thinks that either, it's just one easy way to combat some of it.
Trump got elected because people were tired of "politicians" and because Hillary messed up her campaign. Seriously: She was so close to winning it anyway that I like to think it was her calling a large chunk of her voter pool a "basked of deplorables" that got it over the edge.
In that case, sorry for that.
Also I'd like to know what I should do to get your experience.
Maybe.
> google has decided that you're more profitable without access to those tools
Well for any googlers here: this among other things is why you only see a fraction of my queries compared to before: I actively avoid Google now.
"What Google Search is trying to be is a thing you can ask questions and get an answer back. For example converting feet to inches..."
Wolfram Alpha does that better anyways. https://www.wolframalpha.com/It's a simple enough question -- it's able to show me a gradient curve when i give it "water freeze", but it's not able to parse that data into a simple format, which is the entire point of using a search engine like that.
It's been the same for a number of simple queries lately. Just absolutely useless.
The point that this example is trying to illustrate is that Wolfram Alpha is not a search engine ("Find this out for me"), it is a definition engine ("Given these definitions, what is X"), and while it advertises itself as the former with the examples given, doesn't especially succeed at it to any specific degree.
I just Googled when was Bush born while on Private Internet Access and the only thing google did differently was giving me results in German.
And no cookies either: I opened a temporary container tab so it shared no cookies with Google.
on one vpn i use sometimes it doesnt work
I'm sorry, this makes zero sense and even if it did, is patently false. This feature works and I use it all the time.
Lucky you.
I can confirm qyis observations: it started to ignore me sometime around 2008 and hasn't worked reliably since. We have tried to tell them since then.
I know Google runs a lot of experiments all the time but this one has been morenor less consistently ignored for me.
https://www.google.com/search?hl=nn&q=%22goolge%22
Edit: this used to work before and sometimes works now in some settings. This was just the first thing that popped into my head and I don't care about jow many people misspell Google, but it is infuriating when they do it as you try to find information on a rare error message or something.
If so can you confirm my results?
If not, can I have your cookies (just joking).
If you happen to work at Google, can you tell them that this is another way that they drive even previously ardent fans to hope that Google will sooner or later be split up so they can start focusing on search again instead of plotting for world domination.
Getting captchas for inurl (or similar "advanced" techniques has also happened to me, but only two times that I can think of now.
Every time I work with students and they are stuck, I ask them to Google the issue. 9 out of 10 they will write something like: how to upload an image?
Instead, they should first specify the context. Is it an issue on the front end? Are they looking for the correct input type for file upload? Or is it the php method to receive the file on the back end. Or is it in nodejs?
Search engines cannot infer the correct context because there are hundreds of correct answers. So we have to specify:
- nodejs file upload async (no need to talk to it like a human)
- html file upload input type
- php file upload tutorial
Most likely, the answer will be in the first few links.
Also, once they search they'll usually click the top link and if it doesn't work they'll just give up (instead of for example quickly opening the top 3 links in new tabs while you're scanning the results). Sometimes the answer might also be the result of 2-3 different pages each supplying a part of the answer to your context.
What you suggest is what us old school people do, since that's what worked best in the early years of search.
Another commenter suggested just searching for your error message. Try searching for "cannot read property of undefined" and scroll through the results. There are dozens of dodgy domains like asdfsdf.cornelius714.site that are just scrapes of stackoverflow or other forums.
We’re looking at this and students generally we look for the number of stages that need to be completed:
Identification of the need for new information
Searching and strategies for finding the needed information.
Assessment of the usefulness of the information
Evaluation of the credibility of the information
Use of the information to progress a project forward
Reflection on the process and identification of opportunities for improvement
And then of course there's always the problem of asking the wrong question. Like searching "how to read string between nested brackets" or something, when really the person is just trying to parse JSON but isn't aware of what JSON is.
Because of this, i normally try to google around for the product to see if I can get some information or a manual on it so I don't end up with something next to useless because I can't figure out how to use it. Unfortunately a lot of the time I get these sort of sites that are basically just archives of previous or current ebay listings.
Even weirder, I'll get some really strange URLS (I swear one or two I've found before didn't even look like the TLD's were real). The text below the link will often look like a keyword dump that just happens to have what I typed in plus all sorts of other random words and such. Clicking on them usually just leads to an unresolved link.
It‘s okay if you are familiar with a tech to look up how this or that can be solved idiomatically / differently / at all, but never taking the time to learn the basics (of Regexes, of Python, Ruby, Javascript and whatnot) will give you superficial knowledge where you can‘t assess a situation, go two steps on your own before you constantly consult stackoverflow.
If you succeed, what's the point of reading the entire thing then? If it still has something distinct from what you already achieved go the the specific page and read that.
With it I can avoid an additional search and go directly search the place I want to look whether that is python docs, rust docs, Wikipedia, reddit or Amazon. Heck I can forward myself directly to google too.
All of this with just a !w, !a, !python3, !rust, !g added to my query.
I understand why google doesn't support this, largely because they want people to stay on the google page and be subject to ads.
I just question the utility of showing advertisements for at least programming related queries where I think the direct to websites seems a lot more useful.
It has some neat features like the ability to search within the full text of your Google results, without ever leaving the page.
Would love feedback from anyone who's interested in this topic!
In comparison if I search for "array sort" in the Python doc directly, the first result is about "bisect" (vaguely related but too specific) and the second about "ctypes" (unrelated), the third is "Programming FAQ" (unrelated). Not one result is the generic "Sorting HOW TO" page, which Google links to first, and which is the most useful when you want to learn about sorting in Python.
Excellent advice for languages, but might trip a developer up who's working with libraries (especially web development libraries, which release quickly).
You can't find the right way to do something until you've read most of the docs, vs finding the way people do it by examples is quick.
I don't need to learn how to write a novel to order lunch in a new labguage
Reading local docs, perusing man pages, or just trying to deduce stuff alone gives a lot of deep understanding of some of the tools available to you.
Hot take: taking code form online tutorials is faster to get something working but can lead to low understanding & bad code. Trying to learn things alone is a very rewarding way to _supplement_ learning and I recommend people try it sometime.
In 1995/1996 when the internet for me was just a source for entertainment and intrigue - we had a Microsoft employee come visit our school after they installed curriculum and computers under some kind of grant program.
One of the most important points he emphasized was that by the time we grow up, the most important skill we will have is the ability to find and vet the source of information online using search engines. At the time dog pile and altavista were the tools of choice - Google did not yet exist.
He said something else similar to "You won't need to rote memory, you'll just be able to reference anything and everything online". It felt like this man knew Wikipedia was coming.
Using these guiding principles I definitely became the developer I am today.
Recently, I’ve mainly been working on a niche Clojure project and a personal C++ game+engine project. For Clojure, I get along best with clojuredocs, the readme for whatever library I’m using and just reading the code. I only really found google/SO useful for Clojure in the early days when I was still learning it, but I’ve been writing Clojure for ten years now.
For C++, I keep cppreference.org open and also the readme’s for the libraries I use (mostly header only libraries) and ill look at the headers too. The only library I’ve really spent a lot of time googling is the Bullet physics engine (it’s woefully underdocumented unless you’re using the python bindings). Any time I’ve tried googling for error messages, I’ve found it less than useful so instead I guess I’ve just gotten better at trying to understand obscure clang errors (usually template errors). I’ve also needed some help doing more advanced things with the EnTT library, but the author is very responsive on github and discord.
In my previous job, I was mainly working on automating various AWS service interaction with terraform and python and while I did occasionally google for things, I almost always ended back on the terraform and AWS official documentation pages anyway.
I also learned to program at a time when my internet access was irregular, so relied on offline copies of documentation for all my needs. Maybe that helped me rely less on quick fix searches, although I definitely went through a phase of that some years ago.
As for the article, besides quotes for exact matches, I don’t think I’ve ever bothered with any of the other tips, in years if ever. Got on just fine without it ;-)
For personal stuff, I finally started using manpages, and it's been great. Mostly very clear docs + convenient search with apropos.
1. "How do I do this?" The question often that can be resolved with a search. This person would rather wait for an answer than do the work of a simple search.
2. "Will this work?" along with some snippet of code.
I have to remind myself that they're often kids that have yet to learn how to learn. Still, these are basic skills (searching and experimenting) that should be taught as part of every HS programming class.
Then I have the horrifying thought that the people asking these questions are adults that I will either have to work with, or worse, be managed by.
Part of the things you learn to increase your power in various environments is how to achieve certain capabilities in certain environments. Now I know how to set up terraform modules to deploy services on VMs with zero downtime deploys, and plop in some lambdas for end to end monitoring with alerts going to the slack channel. I can implement all our new things we need to deploy without too much frame, I just can worry about the picture. It makes me correspondingly less interested in setting the same thing up on Mesos or EKS or whatever. But eventually you get calls to do some new thing three times and you have to respond.
Fortunatey, we have people that can deploy helloworld in fifty different frameworks (but don’t seem like they can actually write or debug complicated code). They are useful but it is a weird thing to master. All experiments and no new logic wrested into being to do things.
I've (unfortunately) met senior managers that equate googling with incompetence, because they've assumed that coders who rely too much on google (or other search engines) simply can't or don't want to learn languages enough to do stuff by memory.
But, it's just a tool, like any other. I've worked with people that simply could not look up things, and would grind to a halt if they could not find any clues in their regular literature.
How do these people expect developers to learn if not by searching for knowledge? There's a big difference between searching for information and blindly copy-pasting solutions from Stack Overflow.
Most of my programming career has been in Python/JS and as I've gotten a bit older, I've found bare metal computing a very rewarding hobby. I'm curious if - having done this to pay the bills as opposed to noodling around - you miss that era?
In the aggregate this is probably a good thing, but from one former google-strong developer it's diminished my competitive advantage.
It’s an app called Devbook [0].
Our goal is to build a search engine for developers. Currently, it allows you to search Stack Overflow and certain documentation. It’s fully controllable using just a keyboard and completely free to use. It works in a way that you don’t have to leave your coding editor.
How do you make money? Your privacy policy mentions serving ads but your website doesn't show ads in any of the screenshots.
We don't show any ads or resell any user information. The advertisement in our privacy policy is just a standard language for cookies when you gather basic usage data through analytics tool.
We're funded by Pioneer [0]. Currently Devbook is free. In the future, we will introduce premium plans for teams.
It feels to me as if everything has gone down hill in the last 10 years. I fear we're past peak technology.
To exclude giphy and friends, you can just type:
-giphy ...
at the end of the search query.Yahooing? Ducking? Dogpiling? Altavisting? Binging?
The ability for the word 'google' to be transformed to multiple use cases still impresses me.
You could just say 'Xerox these reports' and people knew what you meant, even if your office had a Ricoh copier.
1. Click the "Tools" link just under the search button and you get options for restricting your search to a specific time range and making it an exact match.
2. If a term isn't included in a result sometimes Google will show "Missing: <search term> | Must include: <search term>" just under the entry
A good example is if I ask a developer to write a MITM proxy server. You can search all day how to write one and you’ll find a few projects on Github. However not a lot of info on the whys and whats. This is because no one wants the responsibility of their work being used in an attack. To get all the whys and whats you need to read documentation for the protocols and language you’re using. Otherwise you will end up with a pretty hack-y solution.
Because there is no stackoverflow on this, a younger developer would spend the greater part of 3 months understanding something simpler than it appears to be.
Search hasn’t made me a better developer so it’s importance is minimal. Best practices have made me a better developer. Searching for solutions is not a best practice.
And which sites do you find this information on. Is it in the documentation? Wouldn’t it be quicker to just know what docs will tell you that info each time instead of searching for “Java function signature” or “JS pass-by-value” and going to the same place. You’re welcome to continuously search for stuff if that workflow is useful to you, but it’s not very efficient.
Over time I've gotten a feel for what sites have better answers for different questions. E.g. StackOverflow is great for explicit syntax questions because the answer is targeted to the question, unlike documentation which is trying to explain the whole syntax.
You're trying to find a hole in my logic, but you're ignoring what I'm saying:
Searching the web isn't an important skill, just as going to the library to research isn't an important skill. The skill is reading, research, and organizing research itself. Google just makes it easy to be lazy about research and gives you the impression that with a few keywords, the research is organized for you.
I think you're ignoring what everyone else is saying and that is that Googling is not about Googling, it's just a tool for researching. It's not all about Googling some random blog post about how to manage cache invalidation, it's shorthand of knowing how to use search engines to get you to the right page, documentation, scholarly article or yes, random blog, about cache invalidation.
Returning to my MITM proxy example, there is a python tool already called `mitmproxy`. A search will tell you that but the site will tell you how to use it. A quick search on how to use it will bring up too many resources with the actual documentation not really ranked as the top result. Even though it should be, it could reinforce stackoverflowing everything. Constantly using dated secondhand advice is not ideal in my opinion.
https://ahrefs.com/blog/google-advanced-search-operators/
"Google Dorking"
You Google bubble is the most important asset.
I was routinely ask to search the same thing as a colleague. And I regularly got better answers since I trained my bubble on technical queries. While the other person had more interests and Google returned varied results.
So, if you get a hobby in landscaping, don't ruin your search bubble by polluting it with that.
One of the major challenges was localizing error messages. Since the system was heterogeneous and packed with legacy code, there wasn't really a good way to get the org to adopt a framework for localizing the error strings that myriad backends would emit. So any localization we'd do would end up being some form of "heuristic-match the plain English representation of the error (the only representation we could assume every error supported) and transform it into a localized string."
But we eventually abandoned the task for a simple and very specific reason: someone brought us data that showed that most of our users figured out what to do about our error messages by querying StackOverflow, and we were therefore doing the users a disservice... Since SO can't language-translate one topic to another, we'd undesirably balkanize the aggregated knowledge space if we vended different users different error strings to plug in as search queries!
So for maximum usability, we settled on the surprising solution where much of our UI was localized, except for the error messages, which were intentionally kept in English for maximum concentration of search results.
If you want to avoid this problem in your org, my recommendation (from the position of pretending I was working in an ideal greenfield project with zero legacy code) would be to take the Microsoft-style approach of maintaining a global namespace of unique error code identifiers and emit those identifiers to the user along with ther plain-language error description. It's ugly and "computer-y," so you might get pushback from your UX team, but if you're going to support multiple languages, it provides a hook for services like StackOverflow (and other fora) to aggregate knowledge of an error across different human languages via a language-agnostic representation. At least until StackOverflow solves the hard problem of translating search queries so it can vend answers in a language-agnostic way, and I'm not going to hold my breath on that happening.
Probably the funniest anecdote: at my very first internship, an older engineer (50's) walked up to my desk and handed me a sheet of paper with a short description. He requested that I turn it into a SQL query and send him the results via email. I got the data back to him within 20 minutes and he was very impressed. Spoiler alert: I didn't know any SQL, I just copied and pasted something off of Stack Overflow. I think I was 19 years old at the time.
https://chrome.google.com/webstore/detail/searchmage/oldjnha...
https://addons.mozilla.org/firefox/addon/searchmage-search-e...
They are almost identical but if you use Tools one, it shows the date of each search results directly on listing, which is very helpful.
Just knowing how to search something is not enough, knowing what to search is even more important and what links to follow.
Google is like a huge personal notebook available to me so that I don't have to take notes and can look up easily when I forget something.
Article: https://web.eecs.utk.edu/~azh/blog/webappwithoutgoogling.htm...
Discussion: https://news.ycombinator.com/item?id=25961420
I've tried to make a habit of not telling people "just Google it!" when they ask me a question, and instead "Let's Google it" - to open up for an opportunity to help someone try to find an answer by "asking" in a different way.
This can be rephrased more generally: Effectively utilizing available sources of information is one of the most important skills for every engineer.
This was the first skill they taught us and they told us the exact same thing.
"You are in the business of learning, learning fast is going to be your greatest skill."
Another insightful principal that I am reminded of often.
"Businesses rarely fail because of a specific technical hurdle, more commonly they fail because the team fails."
This was back in 2013, he was spot on with almost everything he taught us.
It's funny that hiring for this skill it still uncommon.
You can't google yourself out of every situation. You must be willing to dive deep into a topic, read a lot, think and understand things well.
What googling often means is that you just open on the top 10 hits, scroll through, read two paragraphs, and if the solution is not immediately clear, you go to the next page...
I attended a user group presentation on Hadoop a while back (back when Hadoop was pretty new) and the guy giving the presentation was talking about how difficult troubleshooting was. One woman in the front said, "but whenever there's a problem, why don't you just google the error message?" The presenter (and most of us in the audience) were struck by the horrifying realization that not only had she never had to resolve a problem that "googling the error message" couldn't fix, it literally didn't occur to her that that could happen. (And yes, she was a project manager).
Googling is part of the skill, actually digging into results is another one that is just as valuable.
I've done a lot of work in air-gapped secure facilities where no Internet is available. Whenever we get a new-hire, they must adapt to not having Google as an instant resource. About half of them cannot cope, and they move on within a few months. The half that stay actually become much more competent because they no longer use Google as a crutch.
Which is the same thing as Google, only exponentially smaller and slower.
I dunno about everyone else, but a lot of my Googling that couldn't be replaced by a simple reference manual for the language(s) I'm using is environment bullshit. It's a result of using a giant, complex, mostly-free build & deployment toolchain held together by duct tape. It's because in a given day I might interact with dozens of programs, services, config tools, and daemons, all in a constant state of flux, and for many of which I have no paid support channel. A good percentage of my Googling is just confirming or disconfirming that the thing I'm using is actually broken (per se or in its interaction, at version X, with version Y of some other thing) in some way that it appears to be broken. This kind of stuff is only documented in bug trackers and forum (Stackoverflow) posts.
If you're developing mainframe software in 1985, or a Turbo Pascal desktop program in 1995, that's a whole different story. Slower-moving, fewer pieces, and you've got someone to call (because you're paying them, or you already paid them and they want to keep your future business) for damn near every piece of hardware or software you use every day.
Nowadays, I don't hit StackOverflow, but go to GitHub to look at what the best Software Engineers I know did to solve a problem. For each topic, there is somebody that comes to mind that I think is better than everybody else, and I look to them for direction.
I also notice Google is great for searches on stuff they care about. R Lang, go Lang Python, fantastic. It as much with things they don’t care about.
The core skill is to know how to acquire information and filter the noise from the signal.
Today yesterday it was the user manual, today its google, tomorrow its stackoverflow. And beyond that, who knows !
Now google completely ignores that. It seems like searching gets dumbed-down by the year
Example: "javascript split keep delimiters site:stackoverflow.com"
I know I'm being pedantic, but it's just free advertisement when we use a name brand to describe something instead of a brand-neutral word.
I also like to use the timeframe limiter under tools to narrow down to the past year, month, etc., to get more recent results.
html AND css
This is new to me. So what is the difference between searching html css and html AND css?
Using Google "like a pro" may have been a possibility in the past but they stopped being a reliable professional tool a long vulgarized time ago.
These days Google serves up garbage search results for babies.
whatever-you're-searching-for -site:pinterest.* ...
Nowadays when you add a particular word to make the search specific (otherwise it's too general), Google decides for you, there aren't many results with that keyword, so it excludes the word and gives you a list of irrelevant things.
Yeah I know to put the words I want in quotes, but why doesn't it do that by default?
That also doesn't work reliably anymore. Somewhere along the line Google changed it from "exact words" to "exact words and synonyms", with its definition of a synonym being pretty dumb.
Search for something obscure to do with "nginx" and Google shows you results for apache2, even bolding apache2 to indicate a match.
Using DDG's !bangs is far superior.
As for the last sentence, I was using the said example to generalise that it's far better to learn which website is right for the query and add a bang. In this case "<something obscure> nginx !sf", which will return serverfault.com results, which also won't do this stupid thing of equating apache2 and nginx.
A time or two I have even seen it admit that no results matched my query (for those who wonder: this is a good thing! Knowning there are no known results is a valid and useful result in its own right!)
It is still not consistent but now it is at least not consistently annoying.
Sadly this means it is now marginally better than DuckDuckGo.com who more or less consistently thinks it knows better than me if I search for something unusual.
I'll still use DDG first and only fall back to Google.
I remember when half of search results would be pages literally filled with nothing but keywords to get hits. I remember getting a ton of programming results from forums that couldn't even format code snippets properly.
Not to be dismissive of other people's subjective experience but it seems to be like nostalgia glasses remembering things in a more favorable way from the past.
Yeah, why should anyone else but Google be able to monetize a website? If you click through to anywhere else but Google, you risk diverting some ad money to someone else than Google! The horror! Naah, much better to read the Google-approved cooypasta...
Also, ~90% of those "immediate answers" are directly copied from Wikipedia anyway; if those are what your after, why not just go directly there and see the whole article in stead of just Google's snip of the intro? (Furthermore, ISTR reading somewhere that WP isn't all that enthusiastic about that "magic".)
Do you think concert pianists bother to pull up lists of scales on google after the 10,000th hour of practice?
At the office, I get much better work related searches than at home. This has the benefit of profiling my coworkers and not just me, and the searches/ sites visited are generally work related.
Edit: I don't like Google's intrusiveness either. I do not use it much at home. The searches are better when you teach it with better data. Searching in a a place that others have taught it with similar good results (work) will yield better results than if it was learned at places searching for terms that are similar but in different fields.
I really wish people would just read the docs instead of just googling. I am working on a large typescript solution and almost every error in the application is due to the original developers not reading the docs and instead just googling stuff from stack overflow.
Also I am against the promotion of google generally. The search engine isn't that much better than Duck Duck Go anymore (especially for dev stuff). Also we should all know the problems with Google's defacto monopoly on search.
For instance, searching for "Java read a file", I find a bunch of examples. And they mostly are good enough, call out when they aren't, and provide useful links.
Meanwhile, navigating Oracle's website is a nightmare. https://docs.oracle.com/javase/tutorial/essential/io/file.ht... exists, and is actually pretty helpful, but the only way I was able to find it was by Googling "oracle java read a file". Searching Oracle's own doc site (itself hard to find for a given version of Java) with the same string (i.e., 'read a file') turned up nothing useful ( https://docs.oracle.com/search/?q=read+a+file&category=java&... )
I do a lot of GCP work anymore, and the amount of devs who make service authentication way more complicated than it needs to be is really freaking high. It's clear that the people who kicked off the project are pulling blocks from SO rather than RTFM because the FM has a simple decision tree for how to use authentication. Reading through the docs could have saved these projects each hours of time, simplified deployment and reduced the security risks associated with passing around json auth tokens (or worse: checking them into VCS.
- Beginners do not understand doc's jargon, or they need to learn too much stuffs to understand it that they'd rather quit. So they end up relying on third party sources/implementations
- No English knowledge and no translations
I have a spanish-speaking group where me and others teach beginners programming, and many of them cannot use the docs, whether because of a language barrier, or a lack of foundational knowledge, and all they care is to get things done, otherwise they'd get discouraged and abandon it before even starting
People generally just want to cut corners and 'be done with it' which simply results in lower quality.
Everyone of your users will start off as a beginner, it behooves project creators to ensure that beginner documentation is great.
“But the docs are poorly written” you say
“But the docs aren’t maintained well” you say
Read the docs. Sometimes it isn’t supposed to be easy. Or fun. Or fit together well. But that’s the job.
RTFM is the best technical advice I’ve been given and can give.
In practice, difference between it and Oracle docs was negligible. Hell. Their auto-gen code was more self explanatory than Oracle Java Docs.
new Doer(UnrelatedFactory.create("foo", new WTFBar(), 5, null, null), RandomEnumFromADifferentPackage.MEANINGLESS_VALUE, true).do()
But I'm not really convinced such documents are helpful. I mean, technically they're better than nothing (as in, literally better than nothing), but the difference between nothing and those docs is so small it approaches nothing ('as the worthlessness of the documentation approaches infinity the value of reading them approaches nothing', as it were)
It's a bit more complicated than that. I do read the docs, but using the web is essential for me, for a few reasons:
- nowadays, a dev doesn't work on an area that can be included in a single book; one touches several different frameworks, and reading that docs for all of them can be just unfeasible
- the docs may not be good; you may be surprised that even the Linux API doc can be really bad
- there may be issues that require workarounds that are not described in the docs
- best practices may not be obvious even when reading the docs
- one can't assume that in a big doc, it's obvious where the solution for a problem is, which may force to read way more than expected
I think a dev can "google more than RTFM'ing" and still produce a good solution, if they intend to - that is, to process the information rather than blindly copy/pasting.
Thinking about it, the major problem seem to me unprocessed copy/paste, rather than "googling instead of RTFM'ing".
> nowadays, a dev doesn't work on an area that can be included in a single book
Which is terrible because it means that there is less specialization and its benefits for productivity.
> the docs may not be good
You get what you pay for.
> there may be issues that require workarounds that are not described in the docs
You get what you pay for.
> best practices may not be obvious even when reading the docs
You get what you pay for.
Don't get me wrong, OSS is amazing, but in commercial software, you also pay for support & documentation. But since nobody wants to pay for the software anymore, we end up with using Google instead of reading the documentation. And this becomes self-fulfilling prophecy, why provide good documentation if nobody is gonna read it?
It would be ridiculous if somebody wrote an article stating that "googling it" is the most important skill for a mechanical engineer or a doctor. But for software engineering, it is acceptable. Looks like software engineering is becoming less and less about engineering every day.
Addendum: SW developers also seem to write less, comments or other human-readable explanations. This might also contribute to less appreciation of good SW documentation, and contributes to a worrying trend of being less literate.
I am right now working on a project because of the googling stuff has led to the worst practices at the moment. I have worked on many projects where people haven't bothered reading the docs and I have seen the same pattern for over a decade.
Whereas if they had read the docs the best practices would have been immediately apparent. So that argument hold no water with me.
> one can't assume that in a big doc, it's obvious where the solution for a problem is, which may force to read way more than expected
I want people reading more. Which was part of my overall point. People don't read enough. They go for the quick solution (which is copy and paste from stack overflow) produce something which is usually quite bad and then you normally have to redo that work because the moment you try to change something (due to changing requirements) the whole thing falls to pieces.
I've been guilty of it too. It is a bad habit that is produced through laziness.
I literally wrote docs at a previous place and people kept on asking for help on IM. I wrote the document so I wouldn't have to answer the same questions many times. People getting into bad habits and not looking for or writing docs literally causes a hell of a lot more issues that you would see at first glance.
> Thinking about it, the major problem seem to me unprocessed copy/paste, rather than "googling instead of RTFM'ing".
I would rather have a unprocessed copy and paste then what you get in reality which is a "copy pasta". There are minor bits changed which make it difficult to recognise where it may have originally come from, which makes it difficult to know the original developer's intent.
For example. If you are using the babel compiler and its plugins you will fine lots of answers that are wrong on Stack overflow because they were written when Babel 6 was the major version was popular. Whereas reading the docs (the doc site is quite good IMO) will get you the correct answer every time but comes much lower in search results. Using the babel 6 suggestions can lead you to into some sort of NPM hell.
Yes, a large portion of developers just copy/paste from SO. However, many people also use the results of what they find on Google to learn concepts that the actual docs for just aren't that good.
Sometimes when you need to get something done and you find something that works as is, it is easier to test it and move on to something more important.
We don't have infinite time.
But on the second point, I find myself having to use the g! Operator of ddg to get the result I need.
Recently it was looking for a workaround I knew existed for a documented defect. ( weirdly not documented on the bug tracker of the library ... go figure )
Google gave me the result, Duck Duck go was serving me the doc or the bug tracker.
Hmm. Actually maybe Google just remembered that from my previous search.
I cannot offer that to the users of my own docs, because I know how outdated it was...
For you.
If you can't keep your docs up to date, how up to date do you think Google's results are?
If you know any other tips & tricks, send me a DM on twitter @denicmarko. DMs open.