(λ (x) (create x) '(knowledge))

Monocle

Monocle on Gitlab

What is it?

Monocle is a simple RSS/Atom feed parser written in Fennel

Monocle was written to help me better keep track of the Alpine packages I'm maintaining.

How it Works

Monocle looks for a .monoclerc file with a simple format, like the one below:

	
fennel+++https://github.com/bakpakin/Fennel/releases.atom
sbcl+++https://github.com/sbcl/sbcl/releases.atom
fbgrab+++https://github.com/GunnarMonell/fbgrab/releases.atom
cage+++https://github.com/Hjdskes/cage/releases.atom
chez-scheme+++https://github.com/cisco/ChezScheme/releases.atom
clojure+++https://github.com/clojure/clojure/releases.atom
leiningen+++https://github.com/technomancy/leiningen/releases.atom
mg+++https://github.com/hboetes/mg/releases.atom
love+++https://github.com/love2d/love/releases.atom
next+++https://github.com/atlas-engineer/next/releases.atom
libfixposix+++https://github.com/sionescu/libfixposix/releases.atom
clisp+++https://github.com/clisp-lang/clisp/releases.atom
	
  

Monocle ingests the dotfile, splitting the project name from the repo feed, and curls the rss/atom down. Once the XML file has been pulled down it grabs the first two iterations of the "title" and "updated" tags, and returns them to STDOUT. Absolutely nobody is surprised by how this works, it could be accomplished in any language, even a simple shell script would work excellently.

For me the justification to write my own was to learn, and to provide an easily manageable and version controllable list of projects. By over engineering the solution to include dot file parsing logic I can do something like include it inside of my apkvol when I run a lbu. And maybe because of that I won't forget to update Next browser for 4 months. Maybe.

Contact

If you'd like to contact me about my software, ponderings, or just to chat; you can reach me at wpsinatra@gmail.com.