Martín del Río
• email: firstname.lastname@example.org
• twitter: @inkainis
• github: @lartu
• linkedIn: in/lartu
I keep this online as my personal server and repository of things I've worked on, feel free to look around. Most of the projects listed here are open-source, so if you find anything you like and would like to branch, feel free to do so.
Most of these are open-source and hosted in their respective GitHub repositories. Feel free to fork or contribute to any of them and do not hesitate to get in touch with me should you have any question regarding them.
1. The LDPL Programming Language
The LDPL Programming Language is a COBOL based programming language,
fun and fast! It runs on a plethora of different architectures
and operating systems including AMD-64 Linux and macOS, ARMv8 Linux, Android and both Intel and PowerPC OS X. It even supports UTF-8 out of the box.
Quite surprisingly, this project gained some traction after being initially released as a joke and collaborators from
all over the world started contributing to the language. Today the language has seen many releases and it is fairly usable
and highly stable.
p5.clickable is a p5.js library that lets you create
and customize buttons and assign event based behaviours to them. Plain speaking, with p5.clickable you can create buttons and define what happens when the user hovers over,
clicks, releases or moves their cursor out of them.
It was designed with the intention of copying the way
buttons worked in ActionScript 2 (onPress(), onRelease(), etc.) and I believe I've been fairly successful
in that endeavour. This library is featured in the libraries section
of the official p5.js website.
ast (the average and sum tool)
is a command line tool designed to calculate the sum, mean, variance or standard deviation of a
list of numbers passed through stdin (naturally, for Unix systems).
This tool was the consecuence of a discussion I had with Professor Brian W. Kernighan via email about
domain specific languages and the importance of designing simple tools that did one thing
or two right that could automate tedious tasks on your day to day work. As obtaining the
standard deviation, mean, variance and sum of large lists of numbers was a thing I constantly
did, naturally this came to fruition.
ShibaHug is a PHP library that makes interfacing PHP with MySQL
as easy as pie. It is designed to be very easy to use, plug-and-play, lightweight and straight to the point.
ShibaHug was designed for my own personal PHP projects that relied on database backends and has been field tested
quite a lot. It provides means to secure data against SQL Injections and simple functions to execute basic
LarBASIC is a tiny BASIC interactive interpreter with string support.
It's inspired by the Commodore 64 BASIC interpreter and it supports a minimal subset of BASIC statements, with UTF-8
strings and floating point numbers.
This was my first attempt at writing more "serious" interpreter, with expressions and token absorption.
While I love the result and I'm very happy for having accomplished that, LarBASIC still lacks support for single-operand
operators, functions and parentheses.
A tool for writing software reference documentation.
The documentation is written within code and compiled to an HTML page that can be easily read.
Documentation Partially Due.
A lightweight, easy to use, LaTeX inspired markup document editor.
Simple string trimming function library for C++ (removes leading and trailing whitespace from strings). Single header file. Does what it says in the box.
Very simple, single header file, easy to use C++11 std::regex wrapper for lazy people who just want to use regex in C++ without having to mingle with std::regex boilerplate code.
String-substitution based esolang. The premise lies in defining rules within the code that are then used to alter the remaining code until no code is left. A Turing Machine can be easily implemented in Malady, thus rendering Malady turing-complete.
Very simple automatic ASM code indentator.
Bot designed to connect Telegram groups with IRC groups, written in Node.js. Open source, easy to setup and easy to use! (Down at the moment for security reasons).
Notepad-like tool designed to ease math writing by computer.
Check my GitHub for more stuff.
Games & Toys
1. Eternal Lux
Eternal Lux is an
old-school styled Android RPG, designed to look like a game from the 80's for the Apple II or MS-DOS like Ultima, with 16-color graphics and an awesome MIDI soundtrack.
It's written completely in Java-Processing without a single class, for at the moment I did not know a thing about
object oriented programming.
Nevertheless, Eternal Lux was downloaded by over 20.000 people from all over the world and has received fairly positive
reviews from an assortment of gaming websites and users alike, holding a total score of 3,8 / 5 on the Google Play Store.
It's free and weighs less than 800kb, so go give it a try!
2. Aidinia: An Epic Adventure!
Aidinia - An Epic Adventure
was my first attempt at developing an Android RPG. It's an 8-bit-like role-playing game written in Basic4Android and, being my first project
on the system, the controls are a little clunky. It also may or may not work well on newer Android phones. Reviews were positive though and it holds a score of 3,8 / 5 stars.
This was really a pain to develop and it took me a very long time, so I am quite happy with how the game turned out in the end, even if it's not the best example of good game design choices.
It was a paid title for a long time, but due to a disagreement with the policies Google enforces on their store I've decided to release it for free.
The TCG Creature Name Generator is, as its name suggests,
a novelty that generates random names for creatures from a potential trading card game. It was originally developed
to be part of an actual TCG Game (with the potato launcher), but the project was soon scrapped and this
was all that was left.
Chinese Proverb Generator:
Pay heed and learn from the millenary knowledge of the ancients.
Terminal C++ mancala game made in under an hour.
Colorful Android game made with some friends, with over 180 levels and a total score of 4,8 / 5 stars!
Go! Go! Scarfcat!:
The Flappy Bird fever was up and I didn't want to be left out, so I wrote this fun, cute and hard infinite runner for Android.
Castles on Fire:
Not so proud of this one, but anyway. Simple Android game written in a few hours to test Processing for Android.
Here I list academic work I've taken part of, mostly in Spanish.
1. Teoremas para el final de Análisis II (c)
Muy probablemente si estén en este sitio sea porque están preparando el final de Análisis Matemático II y
andan en busca de la lista de teoremas tomados en el final y sus
Intento que el apunte sea lo más comprensible y completo posible, pero no puedo hacerme responsable si algún teorema no presente acá es tomado
en un final. No debería pasar, pero nadie sabe. Si llegase a encontrar un error, favor de contactarse conmigo por alguno de los medios
explicitados en la introducción de este sitio. La mayoría de las demostraciones aquí presentes fueron tomadas del Cálculo de Larotonda
o de apuntes tomados en clase.
Notes on Graph Theory:
My notes on Graph Theory, based heavily on Flavia Bonomo's slides for her Algorithms and Data Structures III classes.
S Language Interpreter:
This is an interpreter written by me for the S Language created by Martin Davis, Ron Sigal & Elaine J. Weyuker for their book Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science.
Planilla de seguimiento:
Planilla de seguimiento web para los seguimientos de Organización del Computador I.
Along with a colleage we've organized two relatively successful game jams on itch.io. More than 200 people in total joined us
and made over 30 games.
1. Lartu's Mini RPG One Week Jam
Lartu's Mini-RPG One Week Jam:
RPG Programming Jam that ran from March 3rd 2018 to March 10th 2018. 145 people joined and made 23 games!
2. Lartu's Mini RPG One Week Jam II
Lartu's Mini-RPG One Week Jam II:
RPG Programming Jam that ran from September 14th 2018 to September 29th 2018. 85 people joined and made 13 games!
Talks & Lectures
I enjoy public speaking very much and I've spoken at several conferences on topics such as Google Firebase, digital logic and probability applied to machine learning.
Most talks and lectures I've given are listed below, with their respective titles in Spanish and an English description of what they were about.
1. Google Devfest
Title: Aplicaciones multiusuario en 15 minutos con Firebase Database
Lecture on Google Firebase and how it can be used to develop and quickly deploy multiuser applications – Google DevFest Buenos Aires (2018)
2. SdC 2018
Title: De Boole a los Microprocesadores
Workshop on Boolean algebra and its relation to microprocessor development – Department of Computing, Universidad de Buenos Aires (2018)
3. SdC 2017
Title: Un Paseo por el Desarrollo de Software de Generación Estadística de Música
Workshop on statistical techniques for computer aided music composition software development – Department of Computing, Universidad de Buenos Aires (2017)
4. SdM 2017
Title: Musiqué, la Computadora que Compone Música
Presentation on Analysis and Statistics in the field of computer aided music composition – Semana de la Matemática – Department of Mathematics, Universidad de Buenos Aires (2017)
I've also given a few smaller presentations on the history of probability (2017) and space maximization algorithms applied to the placement of oil drilling platforms (2018).