This website has been patiently waiting for me to produce content for it. When confronted with a decision to post something on the web, I am very conservative. I can’t help but feel the content on the web has sunk extremely low since the days I first plugged in my US Robotics 56k modem and joined the tail end of the hacker culture’s golden age. When reading the words of another individual back then, the content felt complete and often thought out. This is very unlike our current web environment where expressed thoughts feel like fragments instead of well thought out and complete ideas.

This brings me to the purpose of this post. Often when I’m searching the web through a search engine such as DuckDuckGo or StartPage, I’m unsatisfied with the results and would like to filter out some of the noise by doing something such as:

example

The problem is I’d like to do this by default. Every time I search for something, I’d like entire domains (such as facebook.com) filtered out. Copying and pasting the filtering arguments each time I want to search for something isn’t pleasant. Therefore, I did this little hack for Firefox.

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>DuckList</ShortName>

  <InputEncoding>UTF-8</InputEncoding>
  <Url type="text/html" method="POST" template="https://duckduckgo.com/">
    <Param name="q" value="{searchTerms} -site:reddit.com -site:facebook.com -site:linkedin.com -site:youtube.com -site:wikipedia.org -site:quora.com -site:amazon.com -site:chegg.com -site:twitter.com -site:usnews.com -site:forbes.com"/>
  </Url>

</OpenSearchDescription>

This snippet of XML provides the DuckDuckGo search engine for Firefox and appends the desirable arguments for filtering the unwanted content. As far as I know, Firefox won’t allow us to install this without it being provided by an HTTP(S) URL. Therefore, to install it we must open up the Browser Console found under 3 Bars->Web Developer->Browser Console (or Ctrl+Shift+J). Then execute the following:

Services.search.addEngine("http://pacopascal.com/assets/DuckList.xml", null, null);

Obviously, you can add/remove the search-fu in the value of the q parameter. Then upload the XML somewhere and use that URL. I make no promises that the URL to and the content of DuckList.xml will remain as it appears within this post.