DuckDuckGo.com is a web search engine. The superior value of DuckDuckGo comes from its ability of doing specialized searches. For non-specialized searches it uses Bing as the generic web search backend. In this blog post I describe how you can optimize your web and software development workflow with DuckDuckGo and its specialized searches.
Bing is almost on par with Google for English search results. However, it still leaves much improvement for non-English search results like ones with my native language Finnish. Thus, one cannot use DuckDuckGo for your everyday searches, like for shopping in Finland. You still need to go to Google for those. To work around this issue I have dual search engine configuration in my Firefox.
- If I want to search from Google I type the search on the address bar (left side).
- If I want a specialized search I type into the DuckDuckGo search box. (right side) You can install it for your browser from a button on the bottom right corner of duckduckgo.com.
- Please note that this setup does not work with Safari which cannot do address bar searches. Chrome also lacks the search box widget out of the box. There is something called Search Box for Chrome, but I have not tried to configure it for DuckDuckGo on Chrome (I use Chrome only as the web development browser).
1. Specialized searches
DuckDuckGo provides something called !bang syntax. You start your search query with a bang (!) and a keyword. In this case DuckDuckGo performs a special search, not a generic web search. Usually this means DuckDuckGo uses a site specific search engine skipping the web search altogether. Here are example queries which you will find very useful.
Example what happens when you search !mdn iframe in duckduckgo.com search box
!python socket – Search “socket” on docs.python.org for Python documentation. (no one remembers Python APIs)
!pypi vvv - Search a package named vvv on pypi.python.org (a validation and linting integration for your software development projects)
!jq offset - Search offset function in jQuery documentation
!gh sevabot – Search Github for projects called “sevabot” (It’s a very handy Skype bot with HTTP interface)
!so video canvas – Search stackoverflow.com questions related to “video” and “canvas” (how to draw HTML5 video frames on <canvas>)
!php open – Try to figure out how to open a file in PHP (there are always open positions in non-PHP related software development jobs if you feel your life is misery)
!ubuntuforums zsh – Search ubuntuforums.com for threads related to ZSH
!yt wesibussi – Search YouTube videos called “wesibussi” (I was young and it was fun)
As you can see, you can also copy-paste the DuckDuckGo.com search link in chat (IRC) easily for less experienced peers to educate them how to do power searches.
For the full bang queries list see the official duckduckgo.com source. You will find useful pointers for other programming languages (Perl, Ruby, Java, C#, etc).