Quick
index
main
eev
eepitch
maths
angg
blogme
dednat6
littlelangs
PURO
(C2,C3,C4,
 λ,ES,
 GA,MD,
 Caepro,
 textos,
 Chapa 1)

emacs
lua
(la)tex
maxima
 qdraw
git
lean4
agda
forth
squeak
icon
tcl
tikz
fvwm
debian
irc
contact

A REPL for learning SVG (with a variant of eepitch; 2026)

1. Installing and testing
2. The demo in svg.el
3. A first way of using groups
4. A demo for clipPath
5. Hacking with low self-esteem
6. Homework
7. From Codeberg
8. Accusations

First version of this page: 2026aug02.
Announcements: eev mailing list (preliminary)


1. Installing and testing

This is a work in progress that is still in a very early stage, and that at this moment consists of five files. If you have a notion of what are eev, eepitch and test blocks you can try esvg - a.k.a. "eepitch-svg" - by installing eev (recommended way: "with a sexp"), and running the eepitch block below. Note that it uses bullets, that are equivalent to red stars, and that the lines with `'s are comments with elisp hyperlinks, and some of them point to demos...

 (eepitch-shell)
 (eepitch-kill)
 (eepitch-shell)
rm -Rv /tmp/esvg/
mkdir  /tmp/esvg/
cd     /tmp/esvg/
wget https://anggtwu.net/elisp/esvg-show.el
wget https://anggtwu.net/elisp/esvg-eepitch.el
wget https://anggtwu.net/elisp/esvg-append.el
wget https://anggtwu.net/elisp/esvg-build.el
wget https://anggtwu.net/elisp/esvg-demos.el
 (add-to-list 'load-path "/tmp/esvg/")
 (defun load-esvg () (interactive) (require 'esvg-build))
 (code-c-d "esvg" "/tmp/esvg/" :anchor)
 (find-esvg "esvg-show.el")
 (find-esvg "esvg-eepitch.el")
 (find-esvg "esvg-eepitch.el" "demo-svg-el")
 (find-esvg "esvg-append.el")
 (find-esvg "esvg-build.el")
 (find-esvg "esvg-demos.el")
 (find-esvg "esvg-demos.el" "demo-group-1")


2. The demo in svg.el

The screenshots below are from 2026aug02:

The first one shows at the window at the right the very terse demo of svg.el that appears in its "Comments:" section. The second screenshot shows at the left my version of that demo, converted to a test block with lots of comments, and at the right the SVG that it creates, in three formats: SVG, Lisp, and XML. To watch that test block as a (very short) movie, click here: MP4.

The current version of this demo is here:

(find-esvg "esvg-eepitch.el" "demo-svg-el")


3. A first way of using groups

The screenshots below are from 2026aug13,

...and they show my first prototype that was able to handle groups correctly; the comments in the second screenshot below explain why I had to write an alternative to `svg--append'. To watch that test block as a short (36s) movie, click here: MP4.

The current version of this demo is here:

(find-esvg "esvg-demos.el" "demo-group-1")


4. A demo for clipPath

This one is based on https://www.fffuel.co/sssvg/#clippath, but REPL-ified. The screenshot below is from 2026aug15:

To watch that test block as a short (37s) movie, click here: MP4. The current version of this demo is here:

(find-esvg "esvg-demos.el" "demo-clippath-1")




Warning: Everything below this point is a mess in pre-draft stage!!!


5. Hacking with low self-esteem

My first plan with this project was to use it to discuss bigger problems, and it was going to say that REPL for SVGs is a particular case of "hacking with low self-esteem".

My self-esteem is usually very low, and things are getting worse because (...)


6. Homework


7. From Codeberg

From https://blog.codeberg.org/protecting-our-floss-commons-from-llms.html:

Collaboration at danger

It is not purely the digital and civic infrastructures that are impacted by the use of LLMs. The free/libre software ecosystem, of which we consider Codeberg an important part of, is a social phenomenon centered on collaboration. Working in this way is only possible thanks to free sharing and mutual learning. This includes even very small tools that are shared and re-used and around which collaboration can start out. In contrast, by adopting LLMs people tend to code single-use software from scratch. While this leads to an increase in 'shared' code, it is mostly code that not only has not been 'written' by anyone but is also not maintained by anyone.

(...)

Entering a vicious cycle

Together, these forces make collaboration not only harder but also less rewarding: With the transaction cost of collaboration increasing, people are becoming less likely to contribute to creating high-quality software projects and more likely to 'vibecode' a one-off software that is specific to your need, and won't evolve beyond. We get a vicious cycle where collaboration is becoming less and less rewarding, while the amount of single-use software that's unmaintained and never sees any improvements is going up.

Although often well intentioned, sharing the result of a prompt and calling it "libre software" does not make the world a better place. Codeberg is not and does not want to be a place to dump such generated single-use software that no one else will ever look at. We are a place for people to collaborate and improve software together. Within this context, the recent votes can be understood as a reconfirmation of those principles: As we want to center on human collaboration, we will not actively support or engage in the creation of LLMs and will not put our limited resources to use for storing single-use software that would pollute our FLOSS commons.


8. Accusations

I work in a bad campus of a good federal university in Brazil. In 2026mar11, two days after the classes had started, I was told - by a very embarassed secury guard - that there were orders forbidding me to enter the area of the campus... and I discovered that some of my colleagues had convinced some important people that I could be in the midst of a psychotic break, and they were afraid of what I could do - like killing people... My favorite way of describing that with few words is: I "became a psychopath".

The details are here, but they are all in Portuguese. The first time that I was able to write to tell that story in English was in 2026jul22, in the #emacs IRC channel, here:

<edrx> I'm having to sue some colleagues and I have very little
       mental energy left for technical things now.
<edrx> bertied: yep - 99% of the story is online, but it's all in
       Portuguese, and I haven't written a summary in English
       yet...
<edrx> bertied: here is a good starting point:
       https://anggtwu.net/2025-alguns-motivos-reginaldo.html
<edrx> basically they made lots of false accusations against me,
       made the university investigate those false accusations,
       ignored all the stuff that the judging commission produced
       showing that I was inoccent, made other false accusations,
       convinced some people that I could be planning to kill
       people, and asked the rector to forbid me to enter the
       university...

In that period - from 2026mar11 to 2026jul22 - practically every time that I thought about chatting on IRC my next thought was "I need a way to tell that story in English, but I don't have it", and I disappeared from IRC (and from mailing lists). =(

Here is a slightly longer version of the story:

In 2022 some of my colleagues started to make false accusations against me, and they opened a "processo administrativo" (a "PAD") against me. That PAD sort of ended in 2023 - with the judges declaring me inoccent... but in some technical senses it never ended, because its "relatório final" - a kind of final report/summary - was never produced... and then this same group of colleagues decided to ignore all the evidence that I was declared inoccent, and they convinced many other colleagues that I was very, very, very guilty. In 2025 I started to make some of the documents public, and in the 2026 I started to organize them in pages organized chronologically, like these ones: Reginaldo, Ana Isabel, Etel... and my colleagues panicked.

(Work in progress!)