My name is Marcos, and I’m a Software Engineer. I work on distributed systems by day and computer languages by night. I also volunteer at the Refugee Education and Training Center of Utah as a mentor, organizer, and teacher for programming classes. If you’re interested in volunteering let me know. Here’s a link to my GitHub profile and another one to my resume.


From parsing to interpretation: let’s build a language

An understanding of program evaluation can be a truly enlightening thing for a programmer. By breaking down the process to its essence and implementing the parsing and interpretation steps for a Lisp, we will explore both the interesting and oddly simple algorithms employed in making a language.

Our Lisp will have familiar characteristics like variables, higher-order functions, conditionals, and lexical scope. [slides]

Selected projects and software

  • UtahRETC OSS, content for Java Programming/Oracle Certified Associate Java SE 8 Programmer course I teach at RETC.
  • serv is a web server with many features such as easy HTTPS setup, subdomains, serve git repositories, create reverse proxies, and more.
  • The consumr project is a crowd sourced platform to help us all learn a little bit more about the things we buy, sell, and consume every day.
  • dearme is the easiest way to journal ever. We send a few texts a day. You answer. We add your Instagram photos. You have a journal.
  • A Brainfuck interpreter and debugger. Runs your code while displaying information about the program and allows you to set break-points in your code as well.
  • A Brainloller interpreter and editor. Runs your brainloller program while displaying execution and memory information.
  • servies is a micro http framework in bash, yes, bash, that uses netcat to listen for and respond to HTTP requests.
  • G.O.V. is a tool for managing Go versions.