Welcome to Lartu.net

Martín del Río's personal website.                                         Hi there, welcome to Lartu.net!                                         I like to say I transmute sleepless nights into code, write games, compose music and develop programming languages.                                         Sometimes I end up asking myself why I do what I do, but I enjoy it.                                         I also love Arab food and rainy days.                                         Have fun and enjoy your visit!

Contact

• email: mdelrio@dc.uba.ar
• twitter: @inkainis
• github: @lartu
• linkedIn: in/lartu

Introduction

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.

My Projects

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.

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

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.

3. ast

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.

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

5. LarBASIC

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.

5. Others

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.

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

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

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.

Check my GitHub for more stuff.

Games & Toys

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 to call toys. Both things are listed within this section.

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.

3. TCGCNG

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.

4. Others

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.

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

2. Others

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.

Events

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)

5. Others

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.