Gnugol is a command line web search client, written in C, that can make searching and utilizing the web more efficient.
By eliminating all the extra stuff most search engines return for their results and returning the results in a simple format, you get just the answers you need for the tool you are using. As gnugol is written in C, startup time is vastly reduced verses something written in a higher level language, such as python.
The basics of most searching is keyword based. All search engines return standardized results in the form of the title of a page, a relevant snippet from your search, and a link to the page. (Almost) everything else is fluff. Why not get it in a form you can read in the tool of your choice, whether that be plain text, basic html, org, mdwn, or wiki formats?
Presently the command line binary weighs in at less than 60k stripped - admittedly with a huge dependence on the curl library and a much smaller one on the jansson library.
The default output of gnugol is spartan, to say the least. While it can be extensively customized, the motto is “just the results, please”, and be damned to everything else.
As a command line utility, supplied with easy to understand source code, it is possible to (eventually) make gnugol have more features that are common on the web browser side.
Well, I hope one day it will be. I am trying hard to use techniques that will result in a small memory footprint.
Supplied in the elisp directory is an interface to emacs, gnugol.el
The simplest way to use gnugol is on the command line. shell:gnugol -o text in the beginning was the command line
Emacs has an incredibly powerful outliner called org-mode that uses plain text and a wiki-like format for various url forms. It does not grok html natively, instead using a variety of markdown-like mechanisms to make it possible to view your personal database of projects within emacs. Put lisp/gnugol.el into your .emacs.d directory and do a (require ‘gnugol)
shell:gnugol -o org in the beginning was the command line
A history of operating systems, by Neal Stephenson, the author of such novels as Snow Crash, The Diamond Age and Zodiac.
In the Beginning was the Command Line. by Neal Stephenson. About twenty years ago Jobs and Wozniak, the founders of Apple, came up with the very strange
In the Beginning Was the Command Line is an essay by Neal Stephenson which was originally published online in 1999 and later made available in book form
That aside, “In the Beginning Was the Command Line” should be required reading for anyone who a) regularly uses a personal computer b) has expressed an
In the Beginning was the Command Line. Neal Stephenson. June 25, 2004. 1 Introduction. About twenty years ago Jobs and Wozniak, the founders of Apple,
(The interesting thing to me about this query was that only buried deep within wikipedia was the link to the updated, annotated version of “In the beginning was the command line”, which is what I was searching for in the first place).
You can also use gnugol to output results directly into emacs’s w3 browser or any other browser, within emacs, as per the below.
This website and documentation for gnugol are all managed as org-mode files.
If you are like me, you spend large portions of your day in front of a very large terminal or editor window, working.
It’s a difficult context switch to make, from, in my case, green on black text, to the blazing black on white of most web sites. Enter gnugol!
gnugol -o html carpal tunnel syndrome | elinks
I make things even simpler for myself by having a set of shell scripts to make my typing even less. In the above case I have a simple shell script, “gl” which looks like this:
I have a similar one (ge) to bring up the results in emacs:
One of these days I’ll get around to something more elaborate.
Navigating today’s internet is an increasingly difficult prospect for those with disabilities such as blindness. Using a speech synthesiser to navigate a world with hundreds of irrelevant graphics and urls on a page is very difficult to say the least.
Gnugol uses only the bare minimum of markup and can probably be interfaced with a speech synthesizer with little difficulty. There is preliminary SSML support.
See also: Trust Relationships
Test CGI search (non-functional at present)
Gnugol is being maintained in a repository on github.