Projects

Chip 8

A very simple implementation of CHIP-8 Demo (WIP):

Trueno

A multithreaded and SIMD enhanced CPU ray tracer.

Supports diffuse, metal and dielectric materials, antialiasing, a fully configurable camera (resolution, aperture, focus) and scene.

Trueno demo

Implementation based in the book Ray Tracing in One Weekend

FIRE

A modal FIle Reader and Editor (FIRE) written completely in C, without using external dependencies.

Fire Demo

This was written in an attempt to dust off my C knowledge and also to try to learn modern common practices, like the usage of standard types (stdint.h), or to avoid using malloc in favor of using calloc. My main guide in this process was the blog post How to C in 2016 by Matt Stancliff, by now is a bit outdated, but still is a good read to catch up with somewhat "modern practices".

I am a big neovim fan and this was my main inspiration while building FIRE, as you can see from the demo above.

Features

  • Normal and Insert mode, as in Vim.
  • Open, display, edit and save files.
  • Incrementally search file contents.

The source code and instructions to run the project are available in the repo.


Interpreter

Mountain

The implementation of a dynamic programming language, Lux, and also his interpreter. It supports variables, flow control and functions. It has a REPL and it was made with a particular focus on the quality of error messages.

Implementation based in the book Crafting Interpreters de Robert Nystrom.

You can try the REPL (compiled to WebAssembly) here:


Covid Dogs

Perritos

Work in progress... In the mean time you can read the auto-translated version here.


Reporstat

Julia

Documentation

Work in progress... In the mean time you can read the auto-translated version here.