Elkin Cruz
Hello visitor! Welcome to my site. I have here all kinds of sorts of types of groups of classes of stuff related to my professional life but also not.
I am a Computer and Systems Engineer from UNAL (Colombia). I hold a MEng. in the same subject from the same university.
The things I like to do include: coding and fiction writing. The things I tend to enjoy the most are often absurd, niche and obscure, i.e., most things creative.
Selected Projects
The following is a list of the projects in which I have been the main contributor, sorted from more recent to oldest:
- Doryta: Spiking neuron model simulator written as a PDES model (Parallel Discrete Event Simulation). Current PhD work.
- Safety Envelopes: Agda code implementing the concept of “safety envelopes” applied to the classical aerospacial problem of stall detection.
- Pytropos: My Master’s research final project. A Python abstract interpreter to check for the shape of tensors without ‘running’ the code (a linter).
- tensorflow-haskell-deptyped: An experiment using Dependent Types in Haskell to check the shapes of Tensorflow tensors at compilation time.
- ChemKinLator: Simulator of chemical networks written in C++ and Fortran.
Research/Coding Interests
I have been enthrawled by computers, algorithms and programming languages for over a decade now. As any other computer guy, I like to try to solve everything by discretizing and writing down a problem as a computer program.
From the many languages that I have learnt, used, forgotten and hated, the languages I have the most experience in are Python, C and Haskell, in descending order of coding prowess. Some other languages I have a bit of experience on include Agda, Scheme, Ruby, Java, Scala, miniKanren, Bash, and Janus (Reversible Programming Language).
If there is one thing constant about what I have done in my research and professional career is that I enjoy exploring unexpected, new, weird and creative ideas on virtually anything. I have had the luxury of exploring many areas of computer science, including: programming languages theory, (everybody’s current favourite topic) machine learning, software verification, parallel programming, and simulation (of chemical networks and of neural networks); yet I feel a need to know more, to explore more and to talk about these subjects in the larger framework of life. Currently I am working on building a neuromorphic simulator for HPC (High Performance Computing) and trying to answer “what is this new paradigm most useful for?”
To see some of the projects I have worked on, you can take a look at my github page.
(Past) Teaching
I find teaching very rewarding, even though I have only been able to perform as a Lecturer for two terms. During 2018, I was a Teaching Assistant/Lecturer in the Faculty of Engineering at UNAL. I taught Intro to Programming in C++ (Programación de Computadores) for the 2018-I and 2018-III terms.