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.
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.
- IRL Random Number Generator, a web service that physically shakes a box with dice using a Raspberry Pi, then snaps a photo which is analyzed for a result and sent back to the user.
- expresslane is an in memory work queue with channels. The name comes from the the express lane in your local grocery store and not the one in the freeway.
- serv is a web server with many features such as easy HTTPS setup, subdomains, serve git repositories, create reverse proxies, and more.
- bool is a domain-specific reactive language and environment for Boolean Algebra and Logic Gate Programming.
- 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.
- acm (another configuration module) is a configuration reader. It retrieves values from command line arguments, environment variables, and local files.