Websites
Open Source websites I host.
- go-iberiar -
Iberian script transcription program and website. You can visit it on
https://iberiar.eu (go)
Education
Software for small kids (age 4).
- learntype -
Small CLI program for children to learn typing. (Tcl/Tk)
Utilities
Wristwatch facilities for UNIX.
- stopclock - A
command line stopwatch and time difference calculator. (SH)
- tzview - Display
in local time the moment in time in other timezones. (SH)
- alarm-clock
- Alarm clock for cron. (SH)
- punch - The
punching application that follows the UNIX philosophy. (SH)
- alert-scripts
(SH)
The terminal workflow utilities,
- vedit - Execute
programs with EDITOR pointing to a visual text editor. (SH)
- datefiles -
Create directories with “YYYY-MM-DD” format and catalog/decatalog files
into them. (SH)
- rename - The
missing “rename” command for POSIX systems. (SH)
- sed-mv - Modify
file pathnames using sed. (SH)
Collaboration utilities.
- wtf - wtf (What the
Fuck) acronym search utility implemented in POSIX Shell. (SH)
- slot-machine -
Line by line slot machine for the terminal. (C99)
SWWW (Small World Wide Web) utilities.
- geminifs -
Mount the “gemini://” global web as a file system in UNIX machines.
(C99)
- slhtml -
Simple/Suckless HTML processor. (C99)
- miniweb -
Personal website maintenance script. (gemini/gopher/http) (SH)
Extensions for OpenSSH.
- ssh-helpers
- Helper little programs around OpenSSH. (SH)
- ssh-desktop
- Access remote desktops using SSH. (SH)
- ssh-wireshark -
Capture packets in servers using ssh/tcpdump and local wireshark.
(SH)
Tools for solving specific tasks.
- magnet2torrent
- Convert magnet URLs to torrent files using aria2c(1). (SH)
- phone-screen -
Embed screenshot in a phone frame and output a SVG. (SH)
Tools for managing portable devices.
- dev-kindle -
A script for sending books to a Kindle ebook reader. (SH)
Utilities for specific file formats.
- vcsv - Extract
data from a “Vertical CSV file (VCSV)”. A vertical CSV has keys in it’s
first columns and values in the rest. (Python)
File format conversion utilities.
- vid2gif -
Convert videos to gifs using ffmpeg. (SH)
- ova2qcow2 -
Convert VirtualBox OVA format to qcow2. (SH)
Development utilities
Utilities that help on programming tasks.
- sloc - Program to
measure the SLOC of software projects. (SH)
- getprj - Get the
directory of a project in a working environment. (SH)
- pickstyle -
Pick the correct style for source files. (SH)
- gettext -
Script for gettext. (SH)
Utilities for C/C++ programming.
- hcc - This program
allows launching C files as scripts using GCC. (SH)
Compilation and packaging utilities.
- htoolchain -
Suckless way to properly automate [cross] software compilation.
(SH)
- getsrc - Scripts
to automate and homogenize source code downloading. (SH)
- installer -
Installer is a simple script that creates a
install.sh
to
automatically downloads and extracts a package. (SH)
- bundle-exe
- Generate binary bundles or programs for Microsoft Windows (Directory
to .exe) (MS Windows)
System administration
utilities
MS Windows programs and utilities.
- busybox-ssh -
Scripts for managing MS Windows machines using OpenSSH. (MS
Windows)
- busybox-schtasks
- Busybox for Windows wrappers to schtasks utility. (MS Windows)
- busybox-shortcut
- Create shortcuts with Busybox for Windows and UNIX machines (Open
Desktop). (MS Windows)
- win-shw -
Windows OpenSSHD Shell Wrapper to fix some issues with parameter
passing. (C99)
- win-mutexed
- Run one instance of a program at the same time (MS Windows
implementation). (C99)
OpenBSD programs and utilities.
- pf-blacklist
- Blacklist for OpenBSD’s PF firewall. (OpenBSD)
- openhome
- Interactive dialog(1) scripts for managing a personal OpenBSD server.
(OpenBSD)
System administration utilities.
- port-listing -
List listening TCP and UDP ports. (SH)
- hformat - A
wrapper around Linux disk formatting tools with sane parameters.
(SH)
- rpivoid -
Install VOID Linux in a SDCARD for a Raspberry PI, and configure, with
security, in a single command. (SH)
Finance
Cryptocurrency related programs.
- crypto-scripts
- Some scripts to configure some cryptocurrency nodes and miners.
(SH)
- go-coingecko
- A curated command line interface to coingecko. Also a go library.
(go)
Libraries (SH,C/C++/Go)
Go libraries.
- go-recutils -
GNU Recutils database support for Go. (go)
- go-dialog - GO
interface to dialog(1). (go)
- go-faketime -
A time.Now() that respects faketime(1). (go)
- go-i18n-money -
Internationalizable (spanish compatible) monetary value type. (go)
- go-i18n-date
- Internationalizable date formats. (go)
- go-i18n-error - Go
library for internationalizable (i18n) errors. (go)
- go-uauth -
Minimalist Go library for Google Oauth authentication using Gin.
(go)
- go-sharewith
- Create share with URLs in Go. (go)
- go-bool3 - Dirty
library that defines a 3 state boolean. Used in HTML checkboxes.
(go)
- go-slimg - This
is a Go package for converting images to a smaller size and embedding
them in HTML pages. It is intended to be used in web applications.
(go)
- go-dbt1 - This is
a collection of go types to be used with databases. (go)
- go-msmtp - Small
library for sending mails using msmtp(1) and file(1) in Go. (go)
- go-runmode -
Decide running mode (release/debug) from an environment variable.
(go)
- go-doneit -
DoneIt is a lightweight Go library that determines whether a task,
represented by a string, has been completed or not. (go)
SH/Bash frameworks and libraries.
- hutil - Utility
library for writting shell scripts. (SH)
- mutexed - Ensure
that only one instance of a script is running at a time. (C99)
Tcl/Tk libraries.
- gcc - Small Tcl/Tk
library that builds C/C++ programs and wraps them in procedures.
(Tcl/Tk)
C/C++ libraries.
- phash - A single
header C library and command line utility for calculating a
MurmurHash 64bit hash. (C99)
- errors - Small
and secure ANSI C error handling and logging library. (C99)
- mservice -
Simple C library for writting services for Windows and POSIX. (C99)
C/C++ networking libraries.
- urlencode -
Single header C library for URL encoding. (C99)
- uuri - Minimalist
and secure URI/URL parsing and encoding library. (C99)
- usip - SIP message
parsing and encoding library. (C99)
- openssl-sockets
- A standalone copy of sockets.h from OpenSSL 3.2.4 for Winsock/POSIX
compativility. (C99)
Text processing utilities (and C libraries)
- trim - Single
header C library with the
trim()
function. (C99)
- ftemplate -
Simplest templating mechanism in C. (C99)
- chcase - Small
program to transform from CamelCase to snake_case and vice versa.
(C99)
- strtocap -
Single header C library with functions: strtocap(), strtolower(),
strtoupper(). (C99)
Contests
Advent of Code related.
- advent-of-code-2015-c99
- C99 solutions to AoC 2015 (Advent of Code 2015).
- advent-of-code-2024-tcl
- Tcl/Tk solutions to AoC 2024 (Advent of Code 2024).
- xaoc - Collection
of visualization programs for visualizing your AoC solutions. (An
experiment to learn raylib) (C99)
Engineering
Lepton (GPL Electronic Design Automation) resources.
Experiments
Some experiments writen in C/C++/Hare.
- hos - A toy
operating system for x86 in less than 1000 lines of code. (C99)
- ush - uSh (Micro
Shell), is a small interpreter with a syntax similar to Tcl/Tk. Is
written in pure ANSI C and can be easily extended.
- yacc-lex-ejemplo
- Manual y proyecto de ejemplo para YACC y LEX. (C99)
- tictactui - A
tictactoe with minimax that follows the UNIX philosophy. (C99)
- tictactui -
A tictactoe game with minimax that follows the UNIX philosophy written
in C++. (C++)
- tictactoe -
Small implementation of tictactoe with minimax using the hare
programming language. (Hare)
Other experiments in Python/Go/SH.
- tictactui -
The classic TicTacToe game that follows the UNIX philosophy written in
python. (Python)
- go-tictactui
- The TicTacToe game in Go following the UNIX philosophy. I wrote this
to learn the Go language. (go)