Welcome to Lartu.net

Martín del Río

<mdelrio@dc.uba.ar>


Table of Contents

Introduction
Personal Projects
The LDPL Programming Language
p5.clickable
ast: the average and sum tool
ShibaHug
Others
Games and Toys I've Written
Eternal Lux
Aidinia - An Epic Adventure
TCG Creature Name Generator
Others
Academia
Teoremas para el final de Análisis 2 (computación)
Others
Organized Events
Lartu's Mini-RPG One Week Jam
Lartu's Mini-RPG One Week Jam II
Talks and Lectures
Aplicaciones multiusuario en 15 minutos con Firebase Database
De Boole a los Microprocesadores
Un Paseo por el Desarrollo de Software de Generación Estadística de Música
Musiqué, la Computadora que Compone Música
Others

Introduction

Hi! My name is Martín del Río and you are in my personal website. I keep this online as my personal server and repository of things I've worked on, so feel free to look around. If you want to get in touch with me, you can send me an email, a tweet to @inkainis or a Telegram message to @Lartu and I'll get in touch with you as soon as I can. 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.

Personal Projects

Here's a list of projects I've started and worked on. Most of them 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.

The LDPL Programming Language

The LDPL Programming Language is a very simple (but powerful) programming language designed from the ground up to be excessively expressive, readable, fast and easy to learn. It mimics plain English, in the likeness of the good parts of older programming languages like COBOL, with the desire that it can be understood by anybody. It's very portable and runs on a plethora of different architectures and operating systems including AMD-64 Linux, Windows and macOS, ARMv8 Linux, Android and both Intel and PowerPC OS X (tested from Tiger 10.4 onwards). 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

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.

This library was designed to cover the lack of buttons p5.js had. 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

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). The aforementioned list can be of any kind of text, it will be split according to a set delimiter (defaults to ' ' and always splits lines) and just the numbers found in it will be taken into consideration.

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

ShibaHug is a PHP library that makes interfacing PHP with MySQL as easy as pie. It is designed to be very easy to use, lightweight and straight to the point. You could use bigger and more complicated libraries, with certainly more features, or just use the build in methods and classes PHP offers, but if you want something simple and clean that's definitely plug-and-play with no fuss and no problems, you should give ShibaHug a try.

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 SQL operations.

Other Projects

Explicartu: 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.

Lartype: A lightweight, easy to use, LaTeX inspired markup document editor. Documentation Due.

cpptrim: Simple string trimming function library for C++ (removes leading and trailing whitespace from strings). Single header file. Does what it says in the box.

ASM Formatter: Very simple automatic ASM code indentator.

LartuIRCBot: 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).

Gallemathic: Notepad-like tool designed to ease math writing by computer.

Games and Toys I've Written

I've long held a passion for game development. I've released many Flash games back in the day and, with the advent of Android phones I also made my way into the Google Play Store. I do as well tend to write short, nonsensical JavaScript excerpts that do useless stuff I like call toys. Both things are listed within this section.

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!

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 where possitive 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.

TCG Creature Name Generator

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.

Other Games and Toys I've Worked on

Chinese Proverb Generator: Pay heed and learn from the millenary knowledge of the ancients.

Mancala: Terminal C++ mancala game made in under an hour.

Grabbin' Gabbys: 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.

Academia

Here I list academic work I've taken part of, mostly in Spanish.

Teoremas para el final de Análisis 2 (computación)

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 demostraciones.

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.

Other Academical Contributions

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.

Organized Events

Along with a colleage of mine we organized two relatively successful game jams on itch.io. More than 200 people in total joined us and made over 30 games.

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!

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 and 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.

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

De Boole a los Microprocesadores

Workshop on Boolean algebra and its relation to microprocessor development – Department of Computing, Universidad de Buenos Aires

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

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

Other Talks and Lectures

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).

Copyright © Martín del Río, 2017 - 2019. All rights reserved.