Poke is an interactive, extensible editor for editing structured binary data. Its goal is to serve as a tool to aid in the development of programs that operate on binary files, such as assembler as linkers, as well as for reverse engineering of protocols and formats, prototyping of other programs like linkers, compressors or filters. It is also intended to serve as a convenient foundation to write other utilities such as diff and patch tools for binary files. It is also superfun to hack!

Applied Pokology is a blog about GNU poke.

Recutils is a set of tools and libraries to access human-editable, plain text databases called recfiles. The data is stored as a sequence of records, each record containing an arbitrary number of named fields.

Ferret is a graphical editor for editing conceptual data models. It supports the Entity/Relationship model, and can generate SQL for several popular free software relational database systems. It is packaged in many GNU/Linux distributions, such as Debian.

[Algol 68]

Slides for the presentation "Back to The Future: Algol68" I made in FSCONS 2011.

Back in 2011 I wrote what I think is the only "canadian" GCC front-end ever written, i.e. a compiler front-end written in language A, implementing a language B, in GCC that is itself written in C. Behold the brainfuck GCC frontend written in Algol 68!

a68-mode is an emacs major mode to edit Algol 68 programs. It provides basic syntax highlighting and context-sensitive indentation.


The Rabbit Herd occassionally meets during weekends for hacking. See the Rabbit's Herd Hacking Weekends page for more information.


I maintain several checklists as part of my organizational system. I am publishing them here in the hope they will be useful to someone else.

Heavy brain damage resulting from backporting retpolines support to several old GCC versions led me to write the retpolines song. It is based on Leapy Lee's Little Arrows.


My Curriculum Vitae summarizes my education background, professional experience, and free software hacking.

Contact: jemarch at gnu org
last update: January 25, 2020