Hacker News new | past | comments | ask | show | jobs | submit login
Get better at Googling (markodenic.com)
678 points by sudo_overflow on April 23, 2021 | hide | past | favorite | 289 comments



The article is missing several operators that are useful. Like inurl:, intitle:, allintitle:, etc.

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.


From the linked article:

> “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.


Try opening the “Search tools” menu in the results page and selecting “Verbatim”... I think that makes “literal” searches work, because otherwise Google uses synonyms and language analysis to attempt to match your search to results.


The query parameter google adds for verbatim matches is tbs=li, so you can append that to the url, like

  https://www.google.com/search?q="somestring"&tbs=li
Some other uses of "tbs": https://stenevang.wordpress.com/2013/02/22/google-advanced-p...


That too has consistently failed between 2007 and late 2020.

Now it just fails inconsistently (i.e. it sometimes works).


Google the company, runs on an algorithm of arbitrary complexity.


I've found the "around" proximity search to be one of the most useful, if not THE most useful operators. It's SUPER useful if you're looking for something you just know someone must've already posted somewhere but you just can't find it!

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 :-)


AltaVista had this 25 years ago as the "near" operator. Early Google was relatively gimped in comparison with it's limited search syntax in comparison to the main incumbents.


The inurl: keyword is extremely useful when combined with the site: keyword, e.g.,

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.duckduckgo.com/?q=\rebecca+black+friday+lyrics


You can just do site:reddit.com/r/programming :)


Of course, for Reddit that's definitely better. But there are cases where the inurl + site solution is the only possible one -- I'm a physicist and I often want to find papers from a specific journal, e.g., the Physical Review Letters. Now, I could use the search function on the journal's page, but in my experience that doesn't often give you good results. So I search PRL using the site:link.aps.org+inurl:PhysRevLett keyword, e.g.,

https://www.google.com/search?q=site:link.aps.org+inurl:Phys...


I saw this a few days ago on the front page of HN. Thought it was pretty good. https://www.gwern.net/Search


Wow had no idea most of these operators existed. Thanks for sharing (and to the original post too, I didn't know a couple of those e.g. before:)


Same here, thought I was a master of Googling already, but good to learn something new.


Sadly, every time I try to get technical with these when I'm trying to Google with precision, after two or three searches I start getting blocked by really hard Captchas, and messages saying I might be either a bot or a hacker. It's really annoying.


Obviously a human user would never use such cryptic and complex search terms. /s


The first two results for "bootstrap AROUND(6) cpu" are about bootstrap though.

"bootstrap cpu" gives far higher quality results.


Yes, it's a difficult term. Even "bootstrap compiler" returns JS library results. I'm not claiming my example was the best one for demonstrating AROUND(N).


You can always try excluding JS-related hits: `bootstrap AROUND(6) cpu -js -javascript`


This used to be in Altavista but I think it was NEAR. It was even more useful then when the default algorithms weren't great.


I didn't know about AROUND(N), thanks.


> 1. Use quotes to force an exact-match search

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'm struck by the profundity of this loss. It's almost as bad as if something like archive.org were to just disappear. SaaS is so ephemeral. One day, you have access to a version of Google that works absurdly well. The next, it's gone forever.

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.


It's really sad. There used to be a time when I'd try to recall a specific page on the internet and I'd be able to use a zillion search operators to narrow in to the page that I was looking for. Now, that's impossible.

I've noticed search for everything kind of sucks now as every platform has tried to become curators.


Every platform only wants to return links to sites that run ads or commerce sites that buy ads. Providing useful information is a loss leader that needs to be optimized out of existence so that the C levels get a bonus for a job well done.


Providing useful information for free is a loss leader. Information may want to be free, but its creation is still expensive.


And there's absolutely no way to talk to the company in question. Both Google and Facebook have become, we will do whatever we want, no you can't talk to a human, no you can't dispute our decisions, no you can't have any control over your life


You can not use Google. The real problem is when you have to do tax or you go to jail and it has to be done with some smartphone garbage (not sure if we're there yet, my country still has paper filing).


It’s nuts how every search comes up with covid results now. I search for some type of food? Covid. A supplement? Covid. GDP over time for a country? Covid.

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.


This is _exactly_ what I'm talking about. You type "directions to adelaide", and you get something about Adele. I don't agree with the sentiment that it seems conspiracyish or "dystopian", though.

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.


I believe Google is more concerned with combating the apparent world-ending risk of someone discovering misinformation and parsing that information themselves (gasp), than providing a useful search engine to the majority who are using it with good intentions, as you described.


You jest but USA elected Donald Trump to lead them, proving once and for all that misinformation spread by the internet is potentially world-ending.

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 wholeheartedly disagree with just about everything you said (much of it is misinformation and/or hysterics), but I appreciate you sharing your thoughts. :)


Heh, I wholeheartedly agree with most of what gp said and I still wouldn’t trust google to protect people from misinformation. But I also disagree with ggp, as I don’t see google doing anything other than push ads.


I probably was a bit hysterical there, but I think the underlying point that an uneducated populace just can't cope in the modern world centered around information on the internet.

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.


I've never studied logic and yet I have never agreed with any conspiracy theory (the logical flaws are still obvious even if I can't name them).

If you want people to think logically about topics, the first step is making them not be taboo.


Whatever problem your describing, the answer isn't to control people


Putting a lid on propaganda isn't "controlling people". When propaganda is thrown at you from foreign states, those states are the ones attempting to control your population. Fighting that is defending your citizens.

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.


In USAs case I'm hardly allne in thinking that it definitely wasn't foreign states who got Trump elected. If so they must have been insanely clever because the Democrats outspent them by orders of magnitude AFAIK.

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.


I don't know why you're replying to my post with something unrelated to it.


I might have misread or misunderstood.

In that case, sorry for that.


Not people, just lies and propaganda.


So google search got Trump elected?


Most of these statements are just patently false, right? It's the top comment on HN, but I'm pretty I've successfully used all of the features mentioned in the just month with no issue at all. I don't understand how these are getting rated so highly?


Because it happens to people? It happens to me, that's why I have a bookmark folder with a bunch of search engines. Do you think that I'll put that much effort on searching in several engines if it wasn't because it happend to me time and time again.


It is sadly very true. See my comment here or what a lit of others write: https://news.ycombinator.com/item?id=26926309

Also I'd like to know what I should do to get your experience.


Likely there's some a/b testing and google has decided that you're more profitable without access to those tools


But on different machines, under different accounts, logged in or logged out?

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.


It's been happening since before 2010, but sure.


There was a time when I disliked bing and Bing-based engines because Google was just always superior. Nowadays, Google is so often trying to decide what it thinks I actually mean (e.g. Straight out removing search terms and asking if I really want to stick to them), that I feel Bing is often more straightforward and more successful...


Exactly. Google should get better at googling.


Yeah, it seems that you now have to go into Tools > All Results > Exact Match to get this behavior. Double quotes doesn't cut it anymore.


This. Sadly it works poorly in other search engines too. I have a bookmark folder with a bunch of search engines, and use it like that.


  "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/


Not really. Try asking it "how long does water take to freeze 300m above sea level" or "how much time does water take to freeze when 300m above sea level"

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.


Water only freezes when it is cold, it isn't time dependent.


The time it takes to become cold enough to freeze is pressure-dependent. "Room temperature" can be assumed in the case, or hell, I could have told it it was 21°C. I only wanted a ballpark figure to base a rough plan around ("This will take around this long, so I have this much time before I can do X"), which was certainly within the power of Wolfram Alpha to give me.

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.


>Google also has blocked Tor and VPNs since 2006 or so.

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.


works with some, breaks with other

on one vpn i use sometimes it doesnt work


> 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.

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.


> 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.


Can you offer a concrete example?


Here you are, that is unless Google has misspelled their own name a bunch of times on their own pages in a tiny font, white on white or otherwise unreadable:

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.


Hi again leoh. Did you try searching for "goolge" like I suggested yesterday?

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.


Give me access to a machine that isn't blocked from Google, and I will.


Google also has verbatim search, which works a lot better than quotes, but still fails with some symbol keys.


Which you cannot seem to be able to set as default.


Everything in this comment is verifiably false. Like, easily.


Much of it verifiable true. As in: I've sadly verified it myself for over a decade. The doublequotes thing for example has just been a habit for me, it hardly worked.

Getting captchas for inurl (or similar "advanced" techniques has also happened to me, but only two times that I can think of now.


This is great list, but what is the most important in search is not operators. It is context.

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.


I find the same thing with non-technical people at work. They're highly intelligent, but when faced with a problem they don't know how to solve they are unable to effectively use google. Invariably they can't supply the keywords that will bridge their problem to a solution.

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.


Aren't Gen Z and Boomers searching in a conversational style more and more, due to speech interfaces etc.? Both SEO folks and search engines seem to nowadays optimise for that kind of query. Stack Exchange is also question and answer - so often you can just Google whatever you think a stack exchange user would have asked, in a natural question format.

What you suggest is what us old school people do, since that's what worked best in the early years of search.


If I walked up to a colleague and asked him "how do I upload an image", they would also expect a bit more context.


What's often overlooked and omitted from this sort of guide is a person's ability to identify the trustworthiness and usefulness of a website that shows up in search results. It's not enough to juggle operands and search hacks. You also need to know which result to click.

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.


The academic and scholarly field you are referencing in your first paragraph is referred to as “information literacy“

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


That's a nice concise list. Even moreso: "You can think of information literacy as having five components: identify, find, evaluate, apply, and acknowledge sources of information" - via https://libguides.seminolestate.edu/researchfoundations/info...


Yup!


Totally, and even on a good website, the real best answer isn't always obvious. I feel like on 30% of answers on StackOverflow the highlighted answer is either flat-out incorrect or out of date by 10 years and one of the answers further down will have 10x the upvotes and be more correct.

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.


I buy a lot of obscure stuff off ebay. Mostly old computers / engineering equipment build for a specific purpose.

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.


For me those google hacks seem a bit of micro optimization. I use some and there are helpful, but more importantly are things like what sources are trustworthy, how to read error messages and stacktraces, being able to formulate your problem, etc.


There are so many devs who can‘t properly Google, but there are equally many devs who can‘t get a couple of books about a subject (that alone is a skill not many devs have mastered), dive into it and take the time to understand. Either they never learned how to properly read or they don‘t have the patience, and thus look for a shortcut.

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.


Yeah, absolutely. I've become so accustomed to the instant gratification loop of "how do I do this -> internet for 2 minutes -> okay got it" that having to actually read papers or docs on something to build an understanding is a real slog for me lately. I think neural plasticity goes both ways and it's a skill that can be built up again, but getting yourself weaned off of immediate answers is pretty tough.


Work on problems that are too hard for Google to easily answer and you stop googling real quick.


Try to solve the problem described by the book or research using your Google skills and once you fail you'll appreciate the resource that gives more insight more. Giving yourself more context to the subject makes things interesting.

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.


Books feel like a really inefficient way to learn how to do a skill imo.


So far the most useful thing I have found has been the bangs from duckduckgo.

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.


https://mosermichael.github.io/duckduckbang/html/main.html - all the bang operators on one page, in accessible form. (here is the code that builds the search page https://github.com/MoserMichael/duckduckbang )


You can drop the "3" from !python3, it has the same result.


We've actually been working on an app for a while now to make Googling a lot more productive. It's not publicly available in the Chrome store yet, but you can access the unlisted version here: https://chrome.google.com/webstore/detail/waldo-%E2%80%93-se...

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!


Not sure how is this related to the SW development, this is just a general set of Google keywords. I might sound like an old fart, but I feel like it is much more helpful to learn your way around the docs as a developer. I regularly see people googling all kinds of basic language knowledge that can be found in documentation. However, googling might lead to outdated or incorrect information, especially when people just copy the first result from Stack Overflow. My advice for the junior Python programmers is to learn using the `help` keyword and python console to quickly check how things work.


The problem is that each documentation has its own search function, more or less efficient, each with its own quirks. Search engines are much better at finding information and they provide a consistent UI. You can search "php array sort", or "python array sort" and you'll get a link to the relevant page of the documentation.

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.


This 100%


That depends on the framework and docs. I just finished a project where the docs are actually decent. But for a particular feature it was smeared across 40 different pages in random snippets. It was not like this was some obscure feature either it was one advertised to work 'out of the box'.


This works until you find yourself developing in an environment that moves so quickly that any given archive of docs you have is out of date within a week.

Excellent advice for languages, but might trip a developer up who's working with libraries (especially web development libraries, which release quickly).


I find documentation tends to not tell you about alternative ways to do something similar.

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


I was on a 6+ hr plane ride over open water and therefore had no internet. I had my laptop and some work I wanted to complete, and it was an enlightening experience trying to program without internet connectivity.

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.


It is no longer possible to use Google well. Once it searched strictly the pages that contained all the words you listed: after some practice, you were able to imagine what a page with the thing you were searching for could contain: that was really a superpower, you could find things that others really had issues finding, and then you could tell other people how to do it. But Google reasons about 90% of users, not 10%. So ti started to introduce semantical inspection of the query. This made many people able to find things more easily, but the top users were left in pain: in some way even using the operators to force matches, it is no longer possible to force google to really do what it did before, find pages having all the listed words, exactly.


Dinosaur warning.

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.


Just as I use StackOverflow less and less, I also use google (search in general) less and less for development work. Sure every so often I get a weird error and search for it, but I’ve been finding that less and less useful. A big part of it is that I don’t really use any hyper popular frameworks and libraries so there just aren’t many answers out there for what I do use. I’ve also grown accustomed to reading the language and library documentation and reference material, example code or the code I’m using itself.

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 ;-)


+1 for clojuredocs. I'm at a company that uses Clojure now, and I've found that stackoverflow just isn't the place for Clojure, so I've been sticking to clojuredocs, which is great.

For personal stuff, I finally started using manpages, and it's been great. Mostly very clear docs + convenient search with apropos.


I follow and sometimes advise on /r/learnpython. There are two types of questions on there that make me shake my head.

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.


That is a really interesting point. Experimentation could be taught. There are the various “REPL based dev” rants but experimenting is more general. Although the barriers to entry to each new piece of modern technology seem a little higher. Hello world in Python REPL is a bit easier than a hello world container in a k8s container. I often don’t bother to try out new stuff when I first hear about it because generally the process of getting it to work in the trivial case is 90% of the effort and 90% of the googling

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.


To abstract it a bit more - the core skill is being able to learn search engine syntax and search operators. Much in the same way that learning regex can be incredibly rewarding.

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.


> 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.

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.


I've worked with older engineers that only used manuals / man pages, but with that said, they are part of a small minority these days. But with age / seniority, they're often in senior positions.


One of the things to teach new people is when to try an experiment and when to Google. You need something (error msg whatever) specific enough to Google.


My first job was writing 68000 asm for the yet to be released Macintosh. I had a list of opcodes and a register list for the chip. I had sparse, unfinished documentation of the Mac ROM. You will never hear me complain about developers using search engines to help them code.


Do you ever get nostalgic for it?

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?


Not really. I like asm coding but it gets tedious on large projects and I don't miss dealing with bugs that bring the whole machine down.


Googling used to be a developer super power but I don't think it is any longer. We've seen massive consolidation in the sources of information and google focuses on them, so (a) everyone can find the same answers with pretty vague queries, and (b) your odds of finding "that hidden gem" because you used a highly optimized query are dramatically lower.

In the aggregate this is probably a good thing, but from one former google-strong developer it's diminished my competitive advantage.


Given what the post is about, I wanted to share what my friend and I are working on.

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.

[0] https://usedevbook.com


Why is it an app instead of a website?

How do you make money? Your privacy policy mentions serving ads but your website doesn't show ads in any of the screenshots.


It's an app because we believe this way we can offer better user experience than a website. Devbook works similarly to Spotlight on macOS. You hit a global shortcut and Devbook appears as an overlay over the currently active application. We couldn't do this with a website.

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.

[0] https://pioneer.app


Discussion on a far more comprehensive article (though perhaps aimed at more in-depth needs) the other day:

https://news.ycombinator.com/item?id=26847596

https://www.gwern.net/Search


There are multiple comments that double quotes to force exact matches don't work anymore on Google. But I'm puzzled because I use quotes all the time to find really, really obscure documents and never have problems. Are different people getting different results, or are people messing up somehow, or am I just lucky?


I've noticed filetype:pdf no longer really works - tons of sites that require you to sign up for an account before seeing the file. Used to be a great method to find pdfs of textbooks / other resources.


Back in the good old days, filetype:exe would actually work.


These might be shitty websites which employ black hat seo techniques of serving the pdf to google and a paywall to users.


I feel like Google has been gaslighting me. It used to be an absolutely amazing tool, but in the past year it stopped working correctly and started treating queries as questions instead... but intermittently

It feels to me as if everything has gone down hill in the last 10 years. I fear we're past peak technology.


This is more useful than I thought it was going to be. Specially the "-" for exclusion is new to me, and I can recollect a few times where that would have been handy to know.


It's funny how this knowledge seems to get lost these days because they try to make the interface less complex. I remember these modifiers supported by the most common search engines were even discussed in magazines aimed at children here in the early 2000s! These days it's almost expert knowledge...


Especially excluding Pinterest results while searching for images ;)


Is there a animated gif search anywhere that excludes results that don't actually give you a damn gif when you follow the link? Giphy and friends have made it impossible to find actual gifs.


Sorry for the late response. You can try Google advanced image search to find image files of a particular format. I have used it in the past to find SVGs.

To exclude giphy and friends, you can just type:

  -giphy ...
at the end of the search query.


I know it was not the most important thing by a long shot, but having a named that is verbifiable was/is still handy. "Just google it". You can't do the same with other search tools. "Just bing it" is the closest, but "binging" is not only not an important skill, it's something they do on Netflix.

Yahooing? Ducking? Dogpiling? Altavisting? Binging?

The ability for the word 'google' to be transformed to multiple use cases still impresses me.


When people started using “google” as a verb, there was the same reaction. You probably feel more comfortable with “google” just because you’ve been using it longer (and depending on your age, you may not remember a time before google).


it's not just familiarity though - it was a word able to be verbified at the start. it didn't sound or feel wrong - certainly 'different' or 'new' up front, but few tools have names that are this malleable up front.


"Searching"?


sure, but google had the ability to be commoditized - people "google" even when they're just 'searching' (and the browser is set to default to DDG, for example). "googling=searching" for a sizable portion of the population, much like "kleenex=tissue" or "Xerox=copy" (back in the day).

You could just say 'Xerox these reports' and people knew what you meant, even if your office had a Ricoh copier.


While not nearly as discoverable or convenient there is some google UI built around a few of these.

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


This is only true really for younger developers who haven’t understood the value of RTFM for software. Web search is less valuable to me as I get older due to experience. It is more valuable to those that don’t have experience and want a playground to say: “if I do this, how can I do it, who else has done it?”

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.


I'm an older developer and I google constantly. I deal with Java, Typescript, Scala, Ruby, Python, and bash on a regular basis and sometimes I forget the syntax or method for an operation. I can usually find it within seconds.


I see older developers do it too.

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.


I have hotkeys and chrome/firefox extensions to make it very fast to start and navigate a Google search. I don't have to remember all the different docs; I can use the same key-based workflow for all my searches.

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.


Honestly, the documentation builtin search engine is usually way worse than google's. If I type something like "python 3.4 queue docs" I'm at the right docs page for that exact module and version in seconds.


How do you find the docs? Do you just keep a giant list of bookmarks for every project and sdk you might use? Or, do you Google the docs?


DDG might has a helpful !bang[0] available or zeal[1] (or dash[2] for macOS) can also be of help

[0]: https://duckduckgo.com/bang?q=

[1]: https://zealdocs.org/

[2]: https://kapeli.com/dash


Yes I keep bookmarks or often document the links in my brief of the project. Or I've used the links so much I know the site path to get to a doc.

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.


You're right that the real skill is not googling, but it seems like you're doing the same thing as everyone else. You don't have all the syntax and functions memorized, so you have to look things up occasionally, ya? You just skip Google and go straight to the docs. Googling is so quick though, any efficiency lost over clicking a few links seems minimal and not worth arguing about.


> You're trying to find a hole in my logic, but you're ignoring what I'm saying

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.


...that’s what I’m saying.


But even after it was explicitly spelled out to you, you still don't get that it's what everyone else was saying too?


Yeah, sure that’s what happened.


Disagree completely. So much documentation is written poorly and will lead to confused implementations.


Sure, but poorly written documentation isn’t what I’m talking about. For every bit of poorly written documentation there’s probably already a tool with great documentation that’s been doing it better for much longer than whatever you may be working on.

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.


Your point is wrong if poor documentation exists.



No, that's not it.

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.


In a past life, I was tasked with localization support for a product we were working on.

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.


Perhaps someone could add some clarity but isn't it true that Google has, over time, begun to ignore the specific operators? Double quotes used to work but I now find that Google ignores these. For me at least, this has made Google less useful over time.


For those who don't know about Google it is just like DuckDuckGo with ads and trackers.


DuckDuckGo also has ads.


That aren't personalized or track you.


Somewhat of a hot take, but - I think using a search engine is a basic part of computer literacy and should be taught in schools. The number of times an older person has asked me a question I could just google is crazy.

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.


Agreed! By the way, with SearchMage WebExtension you can enhance google and other search engines so that you get useful features like easier navigation, easier filtering, search profiles, removal of spam domains, optional infinite scroll etc.

https://chrome.google.com/webstore/detail/searchmage/oldjnha...

https://addons.mozilla.org/firefox/addon/searchmage-search-e...


Is this yours? Btw, what tip did you like the most?


If date info is critical in your search, I suggest to use the Tools->Custom range instead of `before:`/`after:`.

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.


Didn’t Google disable the "exact match" quoted search a while ago?


I think google does a great job of organizing information, that's why it's useful. As I've used google for as long as I had access to internet I've built up a mental network of things in the internet and also skills associated with finding reliable information in the web.

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.


I agree! In fact, I recently wrote a blog post titled, "Can you make a basic web app without Googling? I can't". It got a bunch of discussion here too.

Article: https://web.eecs.utk.edu/~azh/blog/webappwithoutgoogling.htm...

Discussion: https://news.ycombinator.com/item?id=25961420


I suspect that testing job candidates for Google-fu would be much more productive that trying to find out whether they remember off the top of their head how some obscure algorithm works.


I watched a coworker Google the syntax for ElasticSearch the other day. He found stuff I never saw while reading the docs, intuited how the library should work while barely skimming the search results, and finished while I still would have been reading the documentation. I would have hired that guy to senior developer based on that one demonstration. He brought so much experience and context to everything he searched for that he finished 3x as fast as I would have.


Using search engines effectively is such a great, often overlooked skill. It's something that folks often think as a given, but being able to quickly find an answer or resource can appear as "techno voodoo" to some.

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.


Well said. What tip did you like the most?


I go for the man page first, then to a book on the language, then to the web. I work with many people (who are by far my senior) who never never check man pages and never search the web but go around bugging others for very simple things. Just this week I was asked how to find and replace text in a document and told to email them instructions.

This can be rephrased more generally: Effectively utilizing available sources of information is one of the most important skills for every engineer.


I was one of the first few cohorts at the first "coding bootcamp" by Shereef Bishay called Dev Bootcamp.

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.


When I started my professional career in 2000, Google was my secret weapon. It's also one of the things that kept in the areas where I've specialized, as my personal ability to find information on the internet is much better than dealing with intra-corporate dreck.


It's 100% a competitive edge to be able to adopt new technology faster than others. "The future is here it's just not widely distributed yet". Kudos to you for recognize that early on.

It's funny that hiring for this skill it still uncommon.


Googling is important, and I hear it everywhere, but in my opinion "deep work", learning the basics, and focus is just as important.

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...


> You can't google yourself out of every situation.

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).


Right. Often I find myself moving away from pages that actually have the content that I need. I just have not read them fully or actually understood the information.

Googling is part of the skill, actually digging into results is another one that is just as valuable.


Back before Google, developers actually had to know what they were doing. Most kept textbooks on their bookshelves and cheat-sheets in their notebooks.

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.


And back before then, the developers were REALLY hardcore, having stacks of cuniform etched clay tablets strewn about their caves. Occasionally a stack was knocked over, and a developer was crushed. Yes, development has become not only easier over the years, but safer as well.


I started programming before Google but honestly don't see a huge difference. The type of programming I did in 90s (windows networking stuff) was much simpler to grasp than the programming I do today. Back then you could get one out of 100 error codes when dealing with sockets, now I can get a billion error code and that's before node has even loaded a file from disk.


>>Most kept textbooks on their bookshelves and cheat-sheets in their notebooks.>>

Which is the same thing as Google, only exponentially smaller and slower.


Before google vendors supplied printed documentation.


Also, more of your software was likely to be from a vendor, not FOSS you paid $0 for. That means phone or even in-person support, in addition to a real manual, for stuff like your IDE, OS, and compiler.

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.


I agree with you. You are first person among commenters here that see this. Using free software is hard. There is a little of packages well documented. Plenty of packages has multiple versions not compatible with themselves. Sometimes reading documentations reveals that package API is not providing. Among worst things is minimum reproducible repository when one is working on a proprietary software based on Foss. I never could prepare such example to show reported bug because I could not share code or the bug related on such big part of code that it was impossible to me. That is why I really start to hate JavaScript environment and the business model based on opensource... If owner has no money to buy ready solutions it's gets hard after few years of development to be content of code base one is developing (that is how I feel now, and I'm looking for another job)


I do all of the above. I can cope without it, but I don't consider Google a crutch. Why not use every tool at your disposal?


Long-term, more important than Googling, is building a mental picture of 'who can be trusted to give solid advice or write great code'.

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.


The GitHub Code Search feature is really useful. If I run into a weird problem that's somewhat outside "mainstream" programming (e.g. 2D Line Arrangements with CGAL), I'll often use Code Search to try to find repos that are using the API I'm using to see how they used it.


Is that really better or faster than adding GitHub to your Google search terms? (Real question)


Hmmmmm that’s an interesting question! I think the GitHub search has a better semantic understanding of what I’m looking for, but I’m going to have to try it out!


I'll take this further - being able to frame and define a question well enough to get the right answer is a key skill in many walks of life.


A lot of it comes down to learn vocabulary quickly. You get much better Google results when you use the argot of the people that know the answers. Don’t say boilerplate code say design patterns. Don’t say function for terraform say terraform module. If you are searching for Tesla related stuff, use the words that are disproportionately popular with Tesla drivers.

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.


If you work in a large organisation and use Slack, I think that Slack search is overlooked by people. Most forget that it's even there, but I've found it has saved me a lot of time for getting answers to any organisation specific issues that I cannot google. "query in:#channel" and "query from:@person" are very useful.


Funny how this is overlooked while slack stands for "Searchable log of all conversation and knowledge"


Cause you now have to pay for that luxury... otherwise you only get 3 days worth of history :)


I don't use slack a lot so this was new to me. Wow, kinda defeats the whole selling point.


Web searching is one of the most important skills for everyone. The world today seems to me like a place with abundance of tools. More tools than one can imagine. Seems like the frontier separating one from solving any problem, is search. Search for the right tools that surely exist. So tool-searching tool would be a heck of a tool


Not only developers, literally anyone. I am shocked at the amount of time an average individual spends looking for solutions to everyday-life problems when I can find answers in seconds, it's crazy, and sad. I taught my family some more advanced queries and they're loving it.


It is googling in this generation, might be different for the next generation.

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 !


I remember when adding + to a keyword forced it to be present in the results. Then they changed that because of google+ to be keywords in double quotes.

Now google completely ignores that. It seems like searching gets dumbed-down by the year


I find the syntax to negate a term with a "-" prefix quite annoying. If you search for some problem with a command line statement, it will exclude results where the, also "-" prefixed, parameters occur.


I always use google to search Stackoverflow, because Stackoverflow's search functionality sucks. Just add "site:stackoverflow.com" to your search.

Example: "javascript split keep delimiters site:stackoverflow.com"


"Googling" is a subset of "querying" or "searching"

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.


It's actually brand destroying. As the name becomes synonymous with searching, google stops having a trademark on the word.


Amen!


I was waiting for this article for so long. Yes, it is incredible, how many people do not know how to use properly Google, they are asking questions on forums, while a simple search would give them the response


If nobody asks the questions on fora, google doesn't have an answer to show


Google Search and Ads must be split apart. Their incentive to serve you ads is just way too high. Their search results became completely irrelevant over time. But still can screw any competition.


I didn't know about the wildcard (*) operator. That will come in handy.

I also like to use the timeframe limiter under tools to narrow down to the past year, month, etc., to get more recent results.


I used to be a pro at using Alta Vista. Google was so much better, enabling me to get much better results without the tricks that I never mastered it to the same extent.


Same here. One could argue that the “arcane” query languages are just stepping stones towards our machines really understanding what we want. But I still cringe when I catch myself writing prose in the google search box “like some noob”


I recall that Google turned off filetype:mp3 at the height of the Napster / Limeware days to stop music sharing. It looks like it is ignored still.


I'd be interested to have an article like this for slightly less popular search-heavy sites like Amazon, Facebook, Craiglist, Ebay, etc.


These special characters always seem to clash with my desire to copy and paste an error message from the terminal and have google find it for me.


>AND operator will return only results related to both terms:

html AND css

This is new to me. So what is the difference between searching html css and html AND css?


I just tried it. Searching html AND css shows pages with the words together (like "html & css" and "html, css, ...")


Would that be the same as "HTML CSS"?


It's not about knowing the information, it's about knowing how/where to find it AND how to apply it in a given situation.


For posterity, original title of this was "Googling is one of the most important skills for every developer"


I remember before google using altavista. And before the web, searching usenet news with WAIS.


after: is my favorite so far. Almost every search I do these days brings up results using very old versions of the JS/CSS libraries involved in my search, and adding "after:2019" or "after:2020" helps bring more relevant results.


Googling is an essential skill but What was it like back then when there was no Google at all?


After frontend/backend engineers, we see the rise of the full stack..overflow developer.


This is why monopolies are no good. With each passing day the search results get worse.


I don't "google," I "web search." And I don't use big G as my initial, primary search engine.

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.


And extremely ironically you won't see it as a requirement on a single job ad.


Also just Google any error messages (minus your specific bits)...


That, and knowing how to ask questions on StackOverflow or in IRC/Discord/Slack/Matrix.


Man, I really wish SO had a "Close question because answer is in the documentation" option. They'd see their traffic halve overnight.


It's the other way as well, if a question gets asked/answered on SO, it may be a great addition to the documentation.


Sometimes searching StackOverflow is quicker than reading the documentation/manual.


Sometimes Stackoverflow own's search is better than Google.


Grep is one of the most important tools for every developer.


that's basically how i look up non-existent terraform documentation "intext:google_pubsub_topic (site:github.com OR site:gist.github.com)"


not for every developer. for every human. I've had so many questions asked to me about people's computers that they could google in 2 mins


combine '-' and 'site:' and '*' to exclude sites. E.g.:

whatever-you're-searching-for -site:pinterest.* ...


Googling, stackoverflowing and copypasting.


A useful cue sheet thank you.


My pleasure. What tip did you like the most?


Can we have a GUI for that?


For those who aren't aware: Google is a lesser-known competitor of the recommended search engine DuckDuckGo.


People could just duck for 'google' to find out about it.


Brilliant! You put a big smile on my Friday face :-)


It's the official terminology! Hover over the duck on their minimal start page:

https://start.duckduckgo.com/


Google used to be better, I feel.

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?


> Yeah I know to put the words I want in quotes

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.


Bang for what engines? DDG has a similar problem with the usage of “-dogs“. This just means fewer dogs in results, not excluding all results with dogs. If you want more dogs you can actually do “+dogs” which somehow changes the weighting of terms.


Using "nginx" in DDG will never return websites that have apache2 (and not a single mention of nginx) as a match, Google will.

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.


Lately I've actually been getting better results and I have complained about search quality for over a decade: first time I wrote about it must have been around 2008 I think.

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've read similar comments so many times. Am I the only one who thinks Google has become way way better than it used to? Very often I get immediate answers even without needing to click on any site. It's truly magical.


I agree with you. There are way too many "X used to be better" for all of them to be true, most likely you don't remember all the bad parts.

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.


> Very often I get immediate answers even without needing to click on any site. It's truly magical.

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".)


I noticed this effect too, but then I considered it might be something related to actually becoming competent.

Do you think concert pianists bother to pull up lists of scales on google after the 10,000th hour of practice?


Google works much better when you use the information they know about you.

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.


On the topic of profiling, I remember starting at a new company and getting ads for surface-to-air missiles. Then I learnt the imprecise geo-location "located" my computer in the town a few miles away where there's a helicopter manufacturer which is part of a defense contractor..


I think that’s part of the problem, their new algorithm essentially railroads you into the same results that you’ve looked at before which becomes self reinforcing. Part of the magic that’s missing now is the kismet of searching for something and finding a tangentially related result that happens to be better than the thing you were looking for. Now you have to be aware that your results are being filtered by your past behaviour and that of your cohort and actively fight against it which is terrible user experience.


There's an idea: you get better results based on the corporate IP you're coming from. :(


Does this apply to Google Scholar as well.


I'd suggest to change the editorialized submission title, as it predisposes people to share opinions that can easily be unrelated to the article's contents in question.


Changed now. Submitted title was "Googling is one of the most important skills for every developer". It wasn't exactly editorialized, since it's the first sentence of the article (which is often an ok fallback for an HN title) - but I agree with you that it's misleading here, and also still too baity.


Agreed - the article is tips and tricks to use google effectively, not an editorial about the value of googling


Google is okay for research on how other people have achieved something. But generally these days I am of the opinion it just teaches you bad habits.

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.


"Just read the docs" depends on how good the docs are, and how discoverable they are.

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&... )


A developer who is new to a technology absolutely needs to read the documents. No matter how good or bad, it's important because it probably tells you a lot of stuff you wouldn't learn on your own (or that someone else will teach you wrong).

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.


Cases where docs are not enough:

- 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 agree with the criticisms, my point is that there are many beginners in a state where the most rational or practical choice is to sacrifice quality by following third party resources.

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


On the other hand: if you are developing software, you're going to have to be able to at least read English, and if you don't understand the jargon, that just means that your starting point isn't just the docs, but also a jargon lookup.

People generally just want to cut corners and 'be done with it' which simply results in lower quality.


I'd be surprised if the documents for any sufficiently large project did not include a "Getting started" section designed for beginners.

Everyone of your users will start off as a beginner, it behooves project creators to ensure that beginner documentation is great.


Lacking ability to read books.


Not be harsh. But if someone is going to just quit because of jargon (which everyone has to learn btw) then Sayōnara.


Sometimes you have to read the docs

“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.


I've often found "read the docs" leaves you with too many options for many libraries. A lot of libraries have community preferences that aren't captured in the docs. If you pick the non-standard implementation, you may paint yourself into a corner with plugins and maintenance - even though the way you choose is completely sufficient.


Ever heard of an high technology with durable storage longer than most digital mediums called books?


Obviously. If the docs are garbage then you are going to have to find alternatives. However these days devs have never had it better.


Laughs in shitty Oracle docs.


I've worked in a lot of places where there were no docs and nobody knew how any worked. So be thankful that you have some docs.


And I've worked with auto generated meta code in Java 1.3.

In practice, difference between it and Oracle docs was negligible. Hell. Their auto-gen code was more self explanatory than Oracle Java Docs.


I personally enjoy the Javadocs that tell me nothing about how to use the damn thing. Spending hours poring over it, with no examples, just a generated Javaoc version of the static types my IDE would have told me, and through much trial and error, I eventually figure out that I need -

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)


> 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.

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".


No, it's actually pretty simple. Software industry faces the similar problem that journalism faces, we increasingly skip on quality, in a race to the bottom. We hope to fix this by technology, but in the end we just create more work for ourselves.

> 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.


> best practices may not be obvious even when reading the docs

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.


Google/DDG is usually the fastest way to find the docs. Documentation sites are usually terrible for discovery.


It is fine for finding the docs. However people use it to find quick, frequently out of date or just wrong solutions on the net.

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.


Indeed, the older SO gets the less helpful it becomes. I'm not sure what they can do about it.


As with anything, everyone has their own style of learning.

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.


I wish I had the time to learn everything I copy from SO/SE.

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.


Often it is much faster to learn things properly and get it right rather than trying to figure out why the stuff you copy pasted doesn't work together.


If you don't understand how something works you shouldn't be including it in your project. I regularly reject PRs because of this.


I agree on the first point, allocating time to design the expected outcome is also key.

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 was thought about creating a documentation search engine for the everyday frameworks. It uses the natural language to match the pattern in the docs to give the best results immediately.


I came here to say this. After so much experience, I just learn the technology. It saves so much time.


DDG uses Bing.


Reading the docs...

I cannot offer that to the users of my own docs, because I know how outdated it was...


Sounds like a problem...

For you.

If you can't keep your docs up to date, how up to date do you think Google's results are?


Two more tips added to the article. `before` and `after` operators.

If you know any other tips & tricks, send me a DM on twitter @denicmarko. DMs open.


Can the title be updated? This is more “10 tips for using Google”. It says nothing about why it’s an important skill for developers.




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

Search: