[HN Gopher] Show HN: All duckduckgo bang operators on one page (...
       ___________________________________________________________________
        
       Show HN: All duckduckgo bang operators on one page (metasearch
       tool)
        
       Author : MichaelMoser123
       Score  : 157 points
       Date   : 2020-09-28 16:34 UTC (6 hours ago)
        
 (HTM) web link (mosermichael.github.io)
 (TXT) w3m dump (mosermichael.github.io)
        
       | svrb wrote:
       | What's the value of this over using !bang to search them directly
       | on ddg?
        
       | speek wrote:
       | I run https://duckduckgoog.com (written
       | https://twitter.com/mcrittenden) for those of you who want a
       | default search engine of google but with the magic of !bangs
        
         | gilrain wrote:
         | Excellent idea, but I worry that name is a trademark issue if
         | you ever want to monetize.
        
       | sakjdlask wrote:
       | I did not know there is so many of them. They should advertise it
       | much more as I think this feature could be quite attractive to a
       | lot of people.
        
       | andrewzah wrote:
       | This is really nice! I frequently use
       | 
       | !w - wikipedia
       | 
       | !drs - docs.rs
       | 
       | !http - http status codes
       | 
       | !a - amazon
       | 
       | !yt - youtube
       | 
       | !usps
       | 
       | !fedex
        
         | notRobot wrote:
         | Adding a few that I find handy:
         | 
         | !so - stackoverflow.com
         | 
         | !su - superuser.com
         | 
         | !hn - HN :)
         | 
         | !php - PHP manual
         | 
         | !ss64 - ss64.com (CLI reference)
         | 
         | !g - Google
         | 
         | !i - DDG images
         | 
         | !gi - Google images
         | 
         | !imdb - IMDb
         | 
         | !rt - Rotten Tomatoes
        
         | FabHK wrote:
         | Maybe useful: for Amazon and Wikipedia at least (probably
         | others), you can get country/language specific versions by
         | appending the 2-letter ISO code:
         | 
         | !wde - German wikipedia
         | 
         | !wes - Spanish wikipedia
         | 
         | !ade - search on amazon.de
         | 
         | !auk - search on amazon.co.uk
         | 
         | etc.
        
         | ectoplasmaboiii wrote:
         | The ones that I find myself using a lot
         | 
         | !gm - google maps
         | 
         | !sr/!sro - type in subreddit (add o for old reddit)
         | 
         | !so - stack overflow (i usually use it with [tag])
        
           | FabHK wrote:
           | > !gm - google maps
           | 
           | !m will save you over 33% of typing... :-)
        
             | ectoplasmaboiii wrote:
             | Well now I feel like an idiot. Thanks!
        
       | DyslexicAtheist wrote:
       | those bangs are really a nice feature. my most often used bang in
       | 2020 unfortunately still remains _!g_ for every time I search
       | something that is related to finding solutions for code  /
       | software engineering (or copy paste a problem line from syslog
       | etc). ddg is in almost every case not showing me the most
       | relevant result I want.
        
         | test1235 wrote:
         | I gave up on DDG after giving it a go for a year or so ... I
         | don't know if Google prioritises Stack Overflow or what, but
         | that's what I'm after, most of the time, and DDG just doesn't
         | give me that.
        
           | chris_f wrote:
           | Try Runnaroo.
           | 
           | Stack Overflow search results are directly included on the
           | SERP (in addition to organic web results) for programming
           | queries. Plus the privacy aspect.
           | 
           | Example for "python string match":
           | https://www.runnaroo.com/search?term=python%20string%20match
           | 
           | I'm the creator of Runnaroo.
        
       | zzyzxd wrote:
       | The only operator I use is "!", which is DDG's version of "I am
       | feeling lucky". And I only use this because Google's silently
       | phasing out the functionality[1].
       | 
       | 1. https://support.google.com/websearch/thread/15794018
        
         | glouwbug wrote:
         | Goddamn, thats fun! I didn't know this was a thing.
        
         | jchook wrote:
         | I filed a support request with StartPage.com to offer the "I'm
         | Feeling Lucky" functionality and never got a response. Maybe if
         | more people ask...
        
       | amelius wrote:
       | DDG should show them at the bottom of their first search result
       | page.
       | 
       | That way, starting a new search with a bang operator wouldn't be
       | such a hassle, e.g. on mobile, where it takes like 7 screen-taps
       | to restart a search with e.g. "!g" appended to it.
       | 
       | I might actually switch to DDG if they had that.
        
         | franczesko wrote:
         | You can add "!g" to your dictionary and initiate it with a
         | quick swipe (e.g. I use "bang" to add it). Cool thing is, that
         | you can add it anywhere in your query - DDG will pick it up
        
           | amelius wrote:
           | Cool, but I assume you still need to select the query and
           | click it again to place the cursor, and possibly add a space,
           | and then finally press enter (?)
        
       | Rompect wrote:
       | I use `!4_b` a lot
        
         | [deleted]
        
       | zmix wrote:
       | Woah! I. Did. Not. Know!
       | 
       | Seriously, that's a lot!
        
       | henil2911 wrote:
       | Woah. I use bang all the time, but never knew there where this
       | many bang's available!
        
       | dredmorbius wrote:
       | This is interesting, but raises the metaquestion of when compiled
       | listings or search are appropriate.
       | 
       | DDG at this writing advertises 13,564 bangs:
       | https://duckduckgo.com/bang?q=
       | 
       | This page, as with the Show HN, groups bangs by category
       | (Entertainment Multimedia News Online Services Research Shopping
       | Tech Translation).
       | 
       | There is a search feature (match on bang _or_ URL) as well, with,
       | of course, its own bang: !bang
       | 
       | In my experience, it's possible to, very roughly, define bounds
       | to search results and usefulness or approach:
       | 
       | - 0 results is the null set. Obvious but worth noting.
       | 
       | - 1 result is an identity. That is, a search returning precisely
       | one entity _identifies_ that entity. (This relationship may not
       | be persistent over time).
       | 
       | - To 10 results is a _near universally useful set_. SERPs, news
       | sites, and many other interfaces focus on this scale. Ontologies
       | typically branch to about 2-30 items. HN 's front page lists 30
       | items. The Presidential Daily Brief runs about ten items. This
       | apparently taxes the attention of some incumbents.
       | 
       | - To 100 results remains _tractable to the determined user_. This
       | means a capacity to identify specific item(s) of interest without
       | necessarily resorting to recordkeeping. More detailed news sites
       | might include as many articles. A print newspaper typically runs
       | 100-250 individual stories per day.
       | 
       | - To 1,000 results is _methodologically tractable_ , though some
       | recording and filtering system is all but certainly required.
       | These need not be programmatic or algorithmic though often are.
       | News wires (AP, AFP, Reuters, UPI) typically run 1,000--5,000
       | items/day.
       | 
       | - To 1,000,000 results, jumping a few orders of magnitude,
       | typically requires some _technical searching or sorting_
       | capacity. Again, not necessarily algorithmic (a large print
       | library collection of a million or more volumes _can_ be managed
       | through paper based systems, though seldom is now, and requires
       | extensive structure of stacks, index, circulation, and
       | reshelving).
       | 
       | - To ~1 billion items is all but certainly programmatic.
       | 
       | - Greater thaan a trilliion items enters the realm of
       | probabalistic matches, relevance, and AI.
       | 
       | I'm not aware of specific research in this area but would be
       | quite interested in references.
       | 
       | The classification would suggest bang search rather than
       | comprehensive listing as being of interest to most peoople
       | though.
       | 
       | Sources: Seveeral of the values above are discussed here:
       | 
       | https://old.reddit.com/r/dredmorbius/comments/6c220n/media_a...
       | 
       | https://old.reddit.com/r/dredmorbius/comments/7qya12/informa...
        
       | grimgrin wrote:
       | Heck yeah! Some ideas for ya:
       | 
       | 1) We can ctrl-f to search obv, but add a filter up top that just
       | fuzzies anything matching
       | 
       | 2) Let me condense the header of a category, like how comments
       | can hide their children in here
       | 
       | 3) Both of the links in an entry go to the same thing, ala:
       | `discworld` and `!discworld` can be clicked to do the same thing,
       | populate the box up top, which _does_ let you click & press
       | return. But it might be cool if one populated, and the other just
       | took you to the !bang in ddg. Not in a new tab! The user can
       | force it in a new tab if they want
       | 
       | edit: I know #3 basically says "so just take the user to
       | duckduckgo.com?q=!discworld which'll take 'em to whatever site
       | that resolves to?" yeah pr much that, heh
        
         | MichaelMoser123 wrote:
         | thanks for the suggestions! (unfortunately I am not a big
         | expert in frontend stuff, i usually copy stuff from stack
         | overflow)
        
           | grimgrin wrote:
           | shoot an email to jared@smell.flowers and i'll tell ya some
           | thoughts in richer detail if it helps or is interesting to
           | you :)
        
         | boomboomsubban wrote:
         | With 1 and 2, isn't that basically how !bang is set up? You
         | need to expand before you can collapse there I guess.
        
       | K2h wrote:
       | !02faq = BMW 2002 FAQ
       | 
       | first thing that caught my eye how can we have a such a specific
       | car FAQ for vintage BMW and not have a corresponding bang for
       | 
       | https://www.tdiclub.com/ - the bible in diesel VW.
        
         | vzqx wrote:
         | Most bangs are user submitted. Feel free to make one yourself:
         | 
         | https://duckduckgo.com/newbang
        
       | severine wrote:
       | It would add to discoverability if a reminder of the bang
       | appeared besides the search results (could be under a config
       | setting), that way one could learn the bangs associated with
       | their most used sites easily.
        
         | cpeterso wrote:
         | That's a good suggestion, though DDG has a financial incentive
         | to keep users going through DDG's search page. OTOH, DDG
         | created and supports bang shortcuts so they want people to use
         | them. :)
         | 
         | DDG could show a bang suggestion if any of the top search
         | results are for sites that have bang shortcuts. Or suggest
         | "Didn't find what you're looking for? Try !g" if the number of
         | results found is small.
        
         | MichaelMoser123 wrote:
         | you get a help text in a tooltip (hover text) with the URL of
         | the search engine - when the mouse hovers over the link; I
         | think that adding the url directly to the table entry might
         | clutter up the page.
        
           | severine wrote:
           | Sorry, I was talking about DDG itself, not your site, which
           | has great discoverability ;)
        
       | frabert wrote:
       | I much prefer Firefox's "keyword" favourites. For example, I have
       | a "cpp ..." search that automatically searched cppreference,
       | another one "cmake ..." that searches CMake's documentation, and
       | so on and so forth
        
         | toyg wrote:
         | Yeah those are basically the same (and came first), but you
         | have to define and maintain them yourself.
        
           | ufo wrote:
           | Is there some way to add a big list of search keywords to
           | Firefox without having to type them one by one in the
           | settings screen?
           | 
           | I've been trying to figure out how to do this for years now
           | with no luck.
        
             | chrismorgan wrote:
             | 1. Open the bookmarks view (probably Menu - Library -
             | Bookmarks or Ctrl+Shift+B; not sure on macOS).
             | 
             | 2. In the toolbar, within the _Import & Backup_ menu
             | button, use _Backup..._ or _Export Bookmarks to HTML..._.
             | 
             | 3. Observe the file format (JSON for one, HTML for the
             | other) and replicate its effects for all the items you wish
             | to add.
             | 
             | 4. Restore or import your new bookmarks.
             | 
             | I haven't actually done this for over a decade. I suspect
             | the backup/restore route might replace all bookmarks and
             | the export/import route might just add new bookmarks, but I
             | don't know.
             | 
             | What I'd really like is an extension that could _manage_
             | all of these (sync with DuckDuckGo's bangs, allow enabling
             | and disabling individually, by group, _& c._, renaming
             | bangs), but Mozilla have said "We have no plans to allow
             | adding search engine dynamically via WebExtensions. We've
             | had too many problems with hijacking."
             | (https://bugzilla.mozilla.org/show_bug.cgi?id=1268401#c37.)
             | So anything like this would need to be a program that could
             | run locally and either mess with Firefox's databases
             | directly (places.sqlite, I think), or provide you with the
             | relevant files for you to import manually. I've thought of
             | making such a thing, but I've not done it yet. Part of the
             | reason is lack of a good data source: for using DuckDuckGo
             | bangs, you need a list that includes the destination of
             | each bang, which I don't _think_ they provide in any
             | principled way, so you'd be left just polling them.
        
               | ufo wrote:
               | I hadn't thought about the search highjacking problem but
               | it does help explain why Mozilla is intentionally making
               | it harder to mess with the search engine settings. It
               | does sound like an external program would be the only way
               | to do it...
        
       | AlphaWeaver wrote:
       | For ages I've wanted DuckDuckGo to add a "!copy" bang, which acts
       | like the "!" operator (automatically navigates to the first
       | search result) but instead of going to the page, it copies the
       | link to my clipboard.
       | 
       | There are plenty of projects I'm familiar with but don't know the
       | canonical URL off the top of my head - when I link someone else
       | to them I have to look up their homepage. This would make this
       | process much faster.
        
         | jchook wrote:
         | I built a simple node JS server to use as my default search
         | engine. What you describe could be a 2-line change to my code.
         | 
         | My motivation was using Google "I'm Feeling Lucky" without JS.
         | The node app detects the "!lucky" bang, downloads the search
         | results, finds the first link, and redirects to it.
         | 
         | Let me know if it interests you.
        
           | glouwbug wrote:
           | I'm not perfectly understanding of such legalities, so
           | correct me if I am wrong, but wouldn't this be infringing on
           | scraping territory?
        
             | jchook wrote:
             | Scraping may violate of Google's own acceptable use policy,
             | but it's not illegal.
        
               | dylan604 wrote:
               | Sure, it's only okay for Google to scrape all websites,
               | but not you scraping it. Got it.
        
           | ebfe1 wrote:
           | Hi jchook, i would love to play with it and might try to port
           | it to cloudflare worker for personal use :) I was thinking of
           | exact same thing before bed last night when someone at work
           | commented on how much revenue from Ad Google loses from "Im
           | feeling lucky" feature which bypass all Ads
        
         | yewenjie wrote:
         | I just realized I need this for myself and quickly cooked up a
         | solution using tridactyl, ddgr, and jq that fits perfectly in
         | my workflow. Everything is reduced to just typing `:cp <SEARCH
         | QUERY>` without moving to a new tab or losing flow.
         | 
         | The entire function is basically this (requires Tridactyl
         | native messenger).                 command cp js -p
         | tri.native.run('cd ~ && ddgr --json -n 1 ' +JS_ARG + '| jq -r
         | ".[0].url" | xclip -sel clip')
         | 
         | [1] https://github.com/tridactyl/tridactyl
         | 
         | [2] https://github.com/jarun/ddgr
         | 
         | [3] https://stedolan.github.io/jq/
         | 
         | PS: I used this tool itself to find the links for the three
         | projects mentioned above.
        
           | AlphaWeaver wrote:
           | Didn't know about Tridactyl, thanks! This is a really cool
           | extension!
        
           | freeqaz wrote:
           | Is this dangerous if the link is able to inject Bash commands
           | as the value of JS_ARG? If so, that's RCE and that's bad.
           | 
           | Is it possible to do this using the HTML5 clipboard functions
           | instead?
        
       | djsumdog wrote:
       | I wonder how they choose what is worth of a bang and what's not.
       | Are any of the bang operators paid placements?
        
         | samhh wrote:
         | That's one of my motivations for writing bangin. There are some
         | sites I want to use bangs with which are either too niche or
         | otherwise fall foul of DuckDuckGo's rules.
         | 
         | https://github.com/samhh/bangin
        
       | MichaelMoser123 wrote:
       | The page lists all !bang search operators on one page, i think
       | the feature is easier to use when you have all of them in one
       | page; The page is kept in sync with all duckduckgo search
       | operators by a nightly build process. The build script/motivation
       | for the project is here
       | https://github.com/MoserMichael/duckduckbang (my previous
       | submission got ShowHN in the title instead of Show HN, so
       | submitting a second time)
        
       | pkamb wrote:
       | So these all just directly search for that term on the (usually
       | substandard) internal website search box?
       | 
       | I don't get the appeal. I want the bang to show a good/filtered
       | SERP, not load some other site directly. (similar to a `site:x`
       | search on Google I guess.)
       | 
       | What I'd really like to use is a search engine that had custom
       | ranking of domains. I'd _heavily_ weigh it to only show Stack
       | Exchange, Reddit, and forum posts.
       | 
       | Or a `!discussions` bang operator that filtered DDG results into
       | that set.
        
         | jtolmar wrote:
         | > I don't get the appeal.
         | 
         | Bangs are nice as a quick shortcut to specialized search
         | engines like etymology online, google image search, wikipedia,
         | or whatever.
         | 
         | You can set up your browser to do this (some keyword changes
         | the search), but it's convenient that DDG already has it built
         | in, so the only setup needs to be switching your default search
         | engine.
         | 
         | I don't know why anyone would ever use DDG's bangs feature if
         | it wasn't their default search engine. That's just a weird
         | extra step.
        
         | jacksnipe wrote:
         | This is niche, but honestly I search for a lot of magic cards.
         | I get a lot of use out of `!mtg`
        
           | pkamb wrote:
           | That's a good example where I get zero results if I misspell
           | the search term:
           | 
           | https://scryfall.com/search?q=black%20lotuss
           | 
           | Whereas I Google or Duck for "mtg black lotuss" I'll almost
           | certainly get the correct results. I feel like I'd just get
           | frustrated with the much worse text parsing of each site's
           | search field.
           | 
           | Although it is interesting that this "Scryfall" site that
           | owns "!mtg" isn't on the first SERP for Google or DDG.
        
         | makeworld wrote:
         | Personally I use !yt (YouTube), !py3 (Python 3 docs), and !w
         | (Wikipedia) very often, and !g (Google) sometimes.
        
           | lozf wrote:
           | These, plus !gm and !gi (for Googles Maps, and Images
           | respectively) feature often in my use.
        
         | marcosdumay wrote:
         | Well, the appeal is that you can set your searchbox for DDG,
         | and easily search all those others site when you want, no need
         | to load search pages or change search providers.
         | 
         | And it's appealing to me, so I do that. Most people won't
         | agree, most people don't even mess with search providers, but
         | it's doesn't harm them either.
        
         | whelming_wave wrote:
         | I use `!rust` all the time when I just want to pull up the rust
         | docs quickly, since their search is much more effective when I
         | just want to know about the API for a File or something, though
         | I don't get much more value out of them than that.
         | 
         | And I've just learned I can use `!posix` to search the open
         | group, which I'll probably use whenever I get upset with
         | macOS's man pages again.
        
           | scns wrote:
           | there is a nice plugin for rust https://rust.extension.sh/
           | 
           | not affiliated
        
         | intotheabyss wrote:
         | I use boardreader.com when I'm searching discussion boards.
         | Maybe there's a bang for boardreader?
         | 
         | edit: Actually there is !brd
        
         | neetfreek wrote:
         | I agree for many many sites, but do sometimes find it useful -
         | specifically when you know exactly what you want from a
         | particular site, but don't know the URL. Example: !deb for
         | debian package information.
        
         | tshaddox wrote:
         | I've always been in the "I don't get it" boat with DDG bang
         | operators. When I last tried switching it to my default search
         | engine, I felt like any time I needed to search DDG for
         | "!{bang} {query}" I could have just searched Google for
         | "{query}" and gotten the result I was looking for. In many
         | cases, Google will give even better results for siteX than
         | siteX's own search, because Google is likely to correct for
         | things like common spelling errors or word substitutions.
         | 
         | Granted, I haven't given DDG an earnest try in a couple of
         | years, so the DDG non-bang search results may have gotten
         | better, but the fact that their bangs are still heavily touted
         | as a killer feature doesn't give me much faith.
        
           | 0xCMP wrote:
           | The most obvious reason why you'd use DDG is for the privacy
           | aspects and the bang operators make it super easy to quickly
           | use Google for those times you need it which limits the
           | amount of information they have.
        
           | ta8964586 wrote:
           | I would call my use of bangs getting to a specific page on
           | another site rather that searching another site. For
           | instance, I get a lot of use out of the wolfram alpha bang,
           | !wa, in those uses I'm not searching as much as I'm inputting
           | a calculation for wolfram alpha to perform and the bang let's
           | me skip a step by typing "!wa {quety/calculation}" into my
           | address bar. Similarly, if ddg is your default search engine,
           | you can lookup a url on archive.is just by prepending it with
           | "!archiveis " in the address bar.
        
             | sakjdlask wrote:
             | I have a similar use case with wordreference. I type '!wr
             | wordtodefine' to get the definition of a word.
        
               | tshaddox wrote:
               | On Google I just search for "define wordtodefine" (which
               | isn't must longer and might even be faster to type) or
               | even just "wordtodefine" (Google seems to be pretty good
               | at knowing whether a single-word search is likely to be
               | looking for the definition).
        
       | varbhat wrote:
       | How many bangs do you really remember ?
       | 
       | Bangs are cool but i don't think one can remember many bangs.
       | 
       | This site is also very good. But, it's unfortunately not much use
       | to me as i would directly search the term with 'site:' during the
       | time i would take to search for specific bang.
       | 
       | Also, if i wanted to search specific site, i would add it in
       | search engines of my browser.
        
         | boomboomsubban wrote:
         | For many sites, you can probably just guess the bang without
         | much hassle. The easiest example is IMDb, but my success rate
         | guessing is pretty high.
         | 
         | Plus, most people tend to spend most of their time on just a
         | few sites. Knowing one or two bangs is useful enough.
        
           | ehsankia wrote:
           | I don't use this, but looking at that list, I would disagree.
           | I just looked up some of the top sites I'd want to use and I
           | wouldn't have guessed any of them
           | 
           | Wikipedia -> !w
           | 
           | Youtube -> !you
           | 
           | reddit user -> !reu
           | 
           | subreddit -> !reddits
           | 
           | also !reddit points to new version, I'd want !redditold
           | 
           | Twitter -> !tweet
           | 
           | Steam -> !steme (???)
           | 
           | Twitch -> !ttv
           | 
           | That being said, if you're on DDG, there's pretty good auto
           | complete on bangs so you can find it by typing the name and
           | looking at the favicons.
        
             | chrisparsons wrote:
             | There are multiple aliases. For instance, I use !yt for
             | YouTube (just checked and !youtube also works), and !twitch
             | for Twitch. I'll agree with the parent in that it's very
             | rare that I'm unable to guess the bang that I want.
        
               | joshmanders wrote:
               | Yup, throwing my hat into this ring of agreement. I used
               | to have tons of special search engines in Chrome to do
               | this, often aliased as name or something, and I switched
               | to DDG and started using their Bang's just to realize
               | that most of my custom search engines were obsolete and
               | like 2-3 needed to be retrained in my head.
        
             | ufo wrote:
             | In many of these the full name is also a valid bang. For
             | example: !wikipedia !youtube !twitter !steam !twitch.
        
             | boomboomsubban wrote:
             | As others mentioned, many sites have multiple bangs.
             | Twitter for example, my guess would be "!tw" and it is
             | correct.
             | 
             | Also, if you want to know one of the bangs, "!bang twitter"
             | lists all if the ones involving Twitter.
        
         | marcosdumay wrote:
         | I do remember some 4 of them. Those are the ones that I use
         | reasonable frequently. A page like this is nice because you can
         | look in that and see some new operator that would be very
         | useful, but you didn't know of it.
         | 
         | I use those operators instead of setting a new search provider
         | because switching providers is a mouse action, while adding the
         | operator is just some few more key presses.
        
         | MichaelMoser123 wrote:
         | author here, i find myself using more specialized search
         | engines like github search (the best code search engine right
         | now https://docs.github.com/en/free-pro-
         | team@latest/github/searc... ); so specialized search engines
         | might be the place to go when the big guys fail to find
         | something. So it's not always the same as searching with site:
         | ...
        
       ___________________________________________________________________
       (page generated 2020-09-28 23:00 UTC)