Project & Reference Library
This library provides a Rust wrapper around the gexiv2 library, which is a GObject-based wrapper around the Exiv2 library, which provides read and write access to the Exif, XMP, and IPTC metadata in media files (typically photos) in various formats.
Video, text, slides, and bibliography for the talk I presented at PyCon 2016 in Portland, Oregon.
Anyone who uses Open Source has run into software licenses. Too often, our understanding of this mess of legalese is incomplete, confused, or based on bad assumptions. But we can’t ignore them: licenses govern everything about how we use others’ code — and how they use ours. Learn the basics of copyright, what different licenses let you do, and why & how you should choose one for your code!
A tool for generating static HTML content derived from
YAML content definitions formatted according to Django templates. Also
supports automatically generating chronolical archives, RSS feeds,
tag indexes, and some other niceties. It's what this site is made
This little script performs some processing on PDFs in order to make them easier to read on e-book readers. The primary functions are stripping away large margins, and creating an imitation of landscape-mode on devices that don't support it by cutting each page in half, and rotating everything 90 degrees counter-clockwise. It can also remove individual pages from the file. There is also an introductory blog post.
The configuration files that control the operation of computers and programs that I use. If you use some of the same software, these examples may be helpful in configuring them to your liking. Notable inclusions: emacs, zsh, vim, xmonad, git, dzen...
A toy program written in
literate Haskell, in the
same vein as the classic ELIZA chatterbot toy Artificial Intelligence
here for full details.
A short superficial guide that covers what an OpenPGP key signing event is all about, how to get started, how key signing happens, and where to go from there. Written for the PyCon 2015 keysigning Open Space.