Abraham Toriz Cruz
Xalapa, Veracruz, México
+52 1 (55) 3852 0622
categulario [at] gmail [dot] com
Mathematician. Happy programmer. Mountain guide once a month.
I enjoy both learning and teaching. I've taught so many courses and workshops on programming at Universidad Veracruzana that I can't remember.
- Software Architect at Tracsa, Guadalajara, MEX.
- Software Developer at Auronix, Mexico City, MEX.
- B.S. Mathematics at Universidad Veracruzana, Veracruz, MEX.
Karel is a small education-oriented programming language that supports function definition, loops, and recursion.
I created a GUI using
bootstrap for an online version of the language and a view of Karel's world inside a canvas.
I am currently working on a new version of the GUI using
Cacahuate is an enterprise process execution and tracking system. It locates the people involved in a defined process and keeps track of the events. It is easily integratable with existing systems via HTTP APIs.
For this project I designed an
xml format that allows us to define a process with all the implied business rules and associated participants. I also wrote most of the backend code for the different components.
I designed the loosely coupled infrastructure using the
rabbitmq messaging system.
Charpe is a notification system that subscribes to a
rabbitmq queue and can send email and
telegram messages. It is designed to be easily extendable to other distribution media.
Itacate is a python module that allows easy configuraion of any
python project the same way
flask is configured. It is an extraction of flask's config module.
Fleety is a vehicle-tracking platform able to send
real time alerts based on rules associated with geofences and routes. I designed a modular architecture that allows horizontal scaling to satisfy the demand.
I wrote the platform's HTTP API, the redis ORM that it depends on, the modifications of an open source solution written in java that we use, a
cron component that triggers events like report generation based on dates, a
broker component that sends notifications through different media, and a component that generates reports.
All the components of the architecture communicate using
redis's pub/sub capabilities which make them weakly coupled and easily replaceable.
Coralillo is an object mapper for the
redis database. It allows defining the structure of the contained information using python classes and attributes. It supports redis geographic fields and
lua scripting. It also has a package that allows easy integration with
I implemented an algorithm for finding the most likely street route that a vehicle might have taken to generate a given GPS track. The goal is to use it to clean bus routes collected by hundreds of students during an event organized by
Karelapan and Karel for the CLI
Offline. I wrote Karelapan, a web platform where high school students could find programming problems for the
Karel language and upload their code. The platform used
django to allow easy management of the problem set,
postgres's stored procedures to update students' scores, and a hand-written interpreter of the karel language to evaluate their solutions.
- categulario [at] gmail [dot] com
Updated version available at categulario.tk This site does not eat your cookies