Loading...

Banner Image

Projects

  • C Minor. A pedagogical language that has been proposed at the UNLV to facilitate the learning of programming languages for first years college students. Focus: compiler and virtual machine; ongoing project.

  • Jiapi. The generator generates a type checker based on a description of the type system expressed in set notation and first-order logic, allowing types to be interpreted as propositions and values to be interpreted as proofs of these propositions, which can then be reduced to a small number of easily- reviewable predicates. Focus: Java application; ongoing project.

  • CryptoGraphing. A graphical cryptocurrency transaction observatory/explorer GUI application for Bitcoin users. Focus: Java application (Front and back end); ongoing project.

  • Enhancing Compiler Error Messages on the Web. A standard web application consisting of Java Servlets and Java Server Pages that contained a complete list of compiler errors, together with their error numbers and detailed explanations of what the errors meant. This web application was an early attempt to show statistical analysis of syntax and semantics errors when dynamic content is Page 1 of 4 submitted to the server of the compiler. Focus: Web app (Front and back end); DBMS (MySQL and Redis).

  • CovidReader. Created a healthcare management system that operates in a decentralized way relying on blockchain technology, allowing individuals to share personal health information and know when they have been in close contact with an infected person while restricting public access to sensitive information. Focus: Mobile/Web app (Front and back end), DBMS (Firebase and MongoDB), IOTA.

  • ProcessJ is a process-oriented language featuring synchronous channel communication, a Java-like syntax, and a multi-threaded JVM-based runtime with a cooperative scheduler that allows hundreds of millions of concurrent processes on a single core. I re-engineered an experimental version of the ProcessJ compiler that was already in use because its code generation was coupled with a number of bugs that required fixing. Focus: Runtime, code generation, and CSP semantics.

  • SPOTS. Created a system consisting of a mobile and web application interface with hardware sensors at parking spots that allowed regular (student) drivers to have an overview of parking spots anywhere on campus. Focus: Web application interface (Front and back end).

  • LATTE. Undergraduate direct project that consisted in creating a Java GUI application that allowed students to load in regular expressions or context free grammars and then, using this tool, explore the creation of different types of automata on the fly. Focus: Java GUI application, Contextfree grammars, regular expressions, and LL(1), LR(0), SLR(1), LR(1), LALR(1).

  • NATE. “Not Another Text Editor” was a light-weight terminal-based editor built in C. The major motivation for creating this text editor was to learn different string-searching algorithms of which I implemented Boyer-Moore, Knuth-Morris-Pratt, and Rabin-Karp. Focus: Highly customizable, color and highlighting, common keybindings (borrowed from popular editors such as Vi/Vim, Emacs, etc), simple and relatively fast searching.
Back to Homepage