@Categulario
Abraham Toriz Cruz
Ubicación
Xalapa, Veracruz, México
+52 1 (55) 3852 0622
categulario [at] gmail [dot] com
Acerca de
Me han atraído las matemáticas desde que tengo memoria. Me desempeño como programador apasionado la mayoría del tiempo. Soy guía de montaña una vez al mes y ciclista de montaña todo el tiempo.
Creo profundamente en el código abierto así que mucho de lo que escribo está público ya sea en gitlab o en github.
Dos de las cosas que más disfruto son aprender y compartir conocimientos. He impartido cursos sobre programación en la Universidad Veracruzana y dado una cantidad tal de pláticas y talleres en otros lugares que he perdido la cuenta.
Soy uno de los organizadores de xalapacode
Formación
- 2018-actualidad
- Programador freelance.
- 2017-2018
- Arquitecto de software en Tracsa, Guadalajara.
- 2013-2017
- Desarrollador web en Auronix, Ciudad de México.
- 2010-2017
- Licenciatura en Matemáticas en la Universidad Veracruzana.
Idiomas que hablo
- Español
- Inglés
Tecnologías con las que me desempeño
- bash
- continuous-integration
- cron
- css
- django
- docker
- flask
- git
- html
- java
- javascript
- laravel
- letsencrypt
- linux
- lua
- mysql
- nginx
- nodejs
- php
- postgresql
- pytest
- python
- rabbitmq
- redis
- rust
- sphinx-doc
- ssh
- systemd
- testing
- vim
- vue.js
- webpack
- xml
Proyectos Interesantes
Karel.js
- 2012
- 2018
- vuejs
- jquery
- javascript
- bootstrap2
Karel es un lenguaje de programación orientado a la educación muy básico que soporta definición de funciones, bucles y recursión.
Creé una interfaz usando bootstrap 2 para una versión web del lenguaje y una vista dentro de un canvas del mundo de karel.
Actualmente trabajo en una versión nueva de la interfaz usando vue.js
demo código fuente legacy karel.js
Cacahuate
- 2018
- flask
- redis
- mongodb
- python
- vuejs
- rabbitmq
Cacahuate es un sistema de ejecución y monitoreo de procesos empresariales. Localiza a las persoas involucradas en un proceso definido y mantiene un registro de los sucesos. Es fácilmente integrable con sistemas existentes.
Para este proyecto diseñé un formato basado en xml
que permite definir un proceso dentro de una compañía con todas las reglas de negocio y personajes que implica. También escribí la mayor parte del código del backend de este proyecto.
Para este proyecto diseñé una infraestructura de componentes desacoplados usando el sistema de mensajería rabbitmq
.
demo código fuente documentación pypi
Charpe
- 2018
- python
- rabbitmq
Charpe es un software de distribución de mensajes que se suscribe a una cola de rabbitmq
y envía correos electrónicos o mensajes por telegram
, aunque está diseñado para ser fácilmente extensible a medios de difusión arbitrarios.
Itacate
- 2018
- python
Itacate es un módulo que permite configurar cualquier proyecto python
de la misma manera que se configura flask
. De hecho es una extracción del módulo de configuración de flask en su propia biblioteca.
Fleety
- 2018
- flask
- redis
- java
- python
- reactjs
Fleety es un sistema de rastreo de vehículos con capacidades para mandar alertas en tiempo real
en base a reglas asociadas a geocercas o rutas. Diseñé una arquitectura modular que permitiría escalar horizontalmente la plataforma de ser necesario para satisfacer la demanda.
Escribí la interfaz HTTP de la plataforma, el ORM para la base de datos redis que utiliza, las adaptaciones del proyecto traccar del que depende, el componente cron
que dispara eventos como generación de reportes en base a fechas, el componente broker
que envía notificaciones por medios arbitrarios y un componente que genera reportes.
Todos los componentes están conectados entre si usando pub/sub de redis
como sistema de mensajería, lo que los hace débilmente acoplados y pueden ser reemplazados con facilidad.
Coralillo
- 2017
- python
- redis
Coralillo es un mapeador de objetos (object mapper) para la base de datos redis
. Te permite definir la información de la base de datos como clases y sus atributos. Tiene soporte para los campos geográficos de redis y para scripting en lua
.
También tiene una extensión para usarse con flask
.
código fuente documentación pypi
Map matching
- 2017
- python
- redis
- matemáticas
Trabajé en una implementación de un algoritmo para encontrar la ruta en calles más probable para un vehículo que generó determinada traza GPS. El objetivo es usarlo para corregir las rutas de autobuses urbanos de xalapa recolectadas durante un mapatón organizado por codeando xalapa
.
Karelapan y karel de consola
- 2012
- PL/pgSQL
- django
- python
- linux
Offline. Karelapan era una plataforma donde alumnos de preparatoria podían encontrar problemas de programación en el lenguaje karel y subir los códigos de las soluciones. La plataforma usaba django
para gestionar los problemas, procedimientos almacenados de postgres
para actualizar los puntajes de los alumnos y un intérprete del lenguaje karel escrito a mano en python.
Contacto
- gitlab.com/categulario
- github.com/categulario
- twitter.com/categulario
- categulario [at] gmail [dot] com
Versión actualizada disponible en categulario.tk Este sitio no se come tus galletas