AAG software development pageFrom Argentina.Contact: aag zorzal.net
|
Here it is some of the software I made during the years. All of it is open source and anyone is welcome to use it and give feedback, although I do not provide any warranties.
Page under construction
Command line program that generate images from textual prompts using Stable Diffusion models. Written from scratch in C using GGML as inference backend. It can also be used as a dynamic library. An example using it from Python is provided.
Binaries, code and more information at github.
Unofficial implementation of the Settlers of Catan board game that can be played against the computer. The players take turns to build roads and settlements to obtain the resources inside the hexagonal tiles which compose the board. See the manual in the official site for a complete explanation. Written in C using SDL and my common code. The online version was compiled with emscripten.
Play online
Download for Windows 64bits
Source code
Library of common C code I use across multiple projects. Each "module" is fairly independent and can be copied into a project without separate compilation. I distribute it under the permissive Zlib license to allow anyone to use it. Includes allocators, vectors (dynamically-sized arrays), dynamic strings, images and sounds objects, image I/O (using libpng, libjpeg, and libav), structured I/O (json, cbor), rich text rendering, a simple immediate-mode GUI, and more.
You can see some examples of its use in the above projects.
Text preprocessor that executes sections marked by $ inside a python environment. Useful for code generation tasks that require a language more powerful than that of the C preprocessor.
This small Python program uses ffmpeg to record the screen and sound from the microphone. Useful to record online presentations or tutorials. The command ffmpeg must be in the path.
Usage: execute python ffscrrec.py -o output.mp4. When you have finished, press q in with the command line window. See ffscrrec.py -h for additional options.
This one-file Python module simplifies the use of ffmpeg complex filters to produce simple animated videos such as presentations. The command ffmpeg must be in the path.
Python module to interface with gnuplot, which I prefer over matplotlib. The command gnuplot must be in the path.
Plug-in for NeoVim to encrypt and decrypt files in memory using a password and the symmetric encryption options of GnuPG. It is written in vimscript so, it may work in Vim too. The command gpg must be in the path. I have been using it for several years.
Usage:
ngnupg.vim to the plugin directory (e.g. .config/nvim/plugin).:GPGEncrypt. You will be asked for a passphrase.:GPGDecrypt. You will be asked for the passphrase again.let g:ngnupg_patterns = "*.gpg" to your init.vim. Then, you will be automatically asked for the passphrase each time you open a file with the extension .gpg.