Angel's Egg - the home page of Eduardo Ochs (a.k.a. Edrx)
Welcome! I'm a mathematician, logician,
categorist and type-theorist who used to do computer programming
and Free Software activism in his spare time... I have a Free Software project that I consider extremely important, and I
have decided that I have to spend a few years outside of the
academic world working on day jobs related to Free Software in order
to concentrate better on it and make it as usable and well-known as
The world does need simpler ways to understand Type Theories
and categorical models, true, but it desperately needs to
reduce computer illiteracy and other illiteracies and to realize the
importance of Free Software and Free Information. The Eev Project is
an effort against illiteracies, and it has stayed underground for
far too long; type theory will have to wait.
(I've been doing less maths-related work recently and more activism.
2022: Some tweets about
nazism (by Yonatan Zunger).
2021: Pages with links about bolsonarismo &
bolsomitismo and Jacarezinho.
2017: Pages with links about the art exhibitions
2015oct26: Falta misandria no movimento trans
(zine: PDF em A5)
2014aug01: Link das ruas - vídeos de manifestações
(An index of videos related to the Brazilian uprisings - currently with 1700+ videos.)
2014aug01: Ydb - the tool that I use to maintain that archive.
2014mar19: Ferramentas para ativistas
(tools for activists - docs mostly in Portuguese at the moment)
2014oct24: Something similar for Facebook posts
2013oct16: Mass arrests in Rio de Janeiro!
(Update: I did spend several years in the "real world", but things
didn't work out there...
I now work at PURO, a small countryside campus in the wild east of the state
of Rio de Janeiro).
2014mai/jun: Sobre a performance "Xereca Satânik"
2013jul10: Parabéns, Edwin!
2013jun27: Debate sobre espaço físico.
Saia do seu quadradinho:
PDF em A5,
2012aug27: primeira versão.
Lista de fontes primárias
de informações sobre a greve das IFES.
sobre os filtros da grande mídia,
Atividades de greve no PURO.
2012may22: Início da greve na UFF.
2011august: Apóiem a ocupação da reitoria!
2011jul01: Pressão social (PDF)
2011jun27: Eleições no PURO: Chapa 1
2011jun08: a campaign: Queremos bolsas da Anvisa de onze mil reais
2011april: a study group on the Psychodynamics of Corruption
2011may25: Material da manifestação de 25/maio/2011
2011mar23-24: Eleições no ICT: vote nulo
eev, that is a tool for automating almost everything,
dednat6, for typesetting
my page on maths and categorical semantics,
BlogMe3, that generates the html
of these pages,
a list of all of my little
gab, a calculator with quantifiers,
RubyForth (by Marc Simpson)
other programs in Lua and
other things related to Emacs,
my pages on Tcl/Tk/Expect,
Icon, and (La)TeX,
my rape recovery journal
(is no longer secret),
how to contact me,
my pages on (micro)politics,
veganism and the
my mother's PhD thesis,
my very old personal pages.
I used to be just in a war against the macho world -
now I am explicitly genderfreaky/TG/TS
(but I'm too busy to change what I see in the mirror)
Between 2004 and 2008 I tried to work as a professional programmer,
but I ended up failing miserably - mostly because I was not
My plan was to earn money to move to London and do the
training on Alexander
Technique at Karen Wentworth's school, but I had to put that on hold.
2005-2006: worked at Vivo.
July-October, 2007: worked full-time on IUP and on
the DaVinci Project.
October-December, 2007: worked on Plurall.
November, 2007: I gave a talk in a round
table about Digital TV, Digital Radio, Free Software and
In December, 2007 I moved to São Paulo (São Caetano, actually)
and started working at Omnisys.
In February, 2008 I was fired.
In April, 2008 I applied to a position at UFF.
I started working there in January, 2009.
The eev project, computer tourism, and related
topics (about making free information easier to use):
I used to call eev a "tool for automating almost everything" and
"my project to save the world with Free Software". In more concrete
terms, eev is a library for Emacs that lets us create executable logs of what we do in a format that is
reasonably easy to read and to modify, and that lets us "play back"
those logs step by step in any order - for example, like in this video. We can even edit our executable
logs in the middle of playing them back, as shown in this demo of test
The main starting points for eev are:
with lots of links in its git
This video about installation, navigation, and sending commands to shells,
My presentation at the EmacsConf 2019
the one at the EmacsConf 2020, that is more technical.
EmacsConf2021 At the
EmacsConf2021 I explained
This sandboxed tutorial
explains all the main features of eev.
The [Video Links:]
blocks are explained here:
The recommended way to install eev is with
M-x list-packages, as in
Run (find-1stclassvideos) to see a list of all the
first-class videos of eev: screenshot.
I gave a series of workshops in 2021
and 2022. Very few people attended them,
but they inspired me to produce many pages and
videos... here is a list by keywords:
Org for non-users,
(find-emacs-keys-intro) lists the most important keys
of eev and emacs.
(find-eev-intro) is an index to all sandboxed
tutorials, including many obsolete ones.
The main ones are:
If you don't even know how to use M-x in Emacs,
then start by this: (find-windows-beginner-intro).
Eev is now an ELPA package! Its ELPA page is here.
You can install it from Emacs with
and then run the tutorial with
If you're using Emacs27.2 in M$ Windows then read
The git repository of eev is here: https://github.com/edrx/eev
It has a nice introduction: https://github.com/edrx/eev#introduction
Eev has a mailing list.
Its archives are here.
Some information on how blogme3
htmlizes ascii files with elisp hyperlinks.
Some old versions of eev only supported "«...»"s correctly in unibyte buffers, but
recent versions of eev are UTF-8 clean. See the comments in eev-codings.el.
The file eev-load.el can be used as a guide to the source
files of eev.
For a totally non-technical introduction to eev, read this.
For non-technical introductions in Portuguese read this and this.
(find-escripts-intro) explains what these "executable
logs" ("e-scripts") are;
its section "3. Sharing"
explains some of the motivation,
its section "4. How to read
an e-script" dissects a small example;
is a much bigger example of an e-script;
its section "5. Tools for
writing e-scripts" discusses how to take (executable) notes.
An e-script is usually made of:
hyperlinks (including `
code for shell-like programs (as shown in
(There were lots of links to old screencasts here -)
1979 paper about Emacs
by RMS (*),
Lisp Conference speech of 2002.
September 11, 2001 - the inevitable happenned in an oh
so glorious way
If you treat everybody else as an enemy you get an ulcer.
The American ulcer is bleeding (in the form of the falling of the
twin towers), and it is no longer possible to just take a pill,
find something external to blame, and forget about the problem.
(By the way: The seven levels of despair, by John Berger.)
Oh, no - they're destroying another country -
What we need is a world without the United States.
What have you been doing for that?
Notes on Bin Laden's impact (wp, deleted)