84 lines
3.8 KiB
Org Mode
Executable file
84 lines
3.8 KiB
Org Mode
Executable file
#+OPTIONS: toc:nil H:10 tex:t
|
|
#+STARTUP: hidestars indent
|
|
#+INCLUDE: personal-info.org
|
|
#+LaTeX_HEADER: \usepackage{mycv}
|
|
#+LaTeX_HEADER: \hypersetup{colorlinks=true, urlcolor={url-gray}}
|
|
#+LaTeX_CLASS_OPTIONS: [letterpaper]
|
|
#+LaTeX_HEADER: \usepackage{enumitem}
|
|
#+LaTeX_HEADER: \setlist{leftmargin=0.25in,nosep}
|
|
|
|
{{{HEADER}}}
|
|
* Summary
|
|
- Fluent in C++, C, Scala, Java, C#, Clojure, Common Lisp, Python
|
|
- 4+ years of experience developing compilers in LLVM for a custom
|
|
in-house target ISA
|
|
- 4+ years of experience working in ASP.NET Core MVC applications
|
|
- 10+ years of experience working in Linux + Emacs
|
|
* Experience
|
|
** Compiler Engineer @ Texas Instruments
|
|
*** Feb 2020 - Now
|
|
Maintained compiler for
|
|
|
|
- Fixed bugs with linker
|
|
- Added new functionality to machine outliner
|
|
- Upstreamed work
|
|
- Peephole optimizations
|
|
** Full Stack Web Developer @ University of Houston
|
|
*** Aug 2016 - Feb 2020
|
|
Wrote a web application for university professors to create and
|
|
administer online exams for their students to take at our testing
|
|
center. Application was in .NET Core MVC with SignalR. Previously, we
|
|
had a small team in charge of creating exams, who would have to write
|
|
out an XML file specifying the test details and questions. The
|
|
application allowed the professors themselves to create the exams,
|
|
reducing the workload of the test maintainers.
|
|
** Software Engineer Intern @ Pi Integrated Systems
|
|
*** Jun 2017 - Aug 2017
|
|
Primarily worked in AutoLISP for an AutoCAD plugin for designing piping plants
|
|
- Rewrote matrix multiplication functions to remove dependency on
|
|
AutoCAD's proprietary libraries. As a result, company's plugins
|
|
became compatible with other CAD engines
|
|
- Implemented breadth-first search, to allow users of the plugin to
|
|
determine where piping failures would occur
|
|
** System Administrator Intern @ University of Houston
|
|
*** May 2016 - Aug 2016
|
|
Assisted in upgrading the math department's network to accomodate for
|
|
new testing center. Setup new VLANs for new computers, deployed STP
|
|
in some sections to increase redundancy, setup EtherChannel and 802.1Q
|
|
Trunks.
|
|
* Education
|
|
** University of Houston, Houston, Texas
|
|
*** Aug 2015 - Jun 2019
|
|
/Bachelor of Science, Computer Science/, GPA: 3.5/4
|
|
* Projects
|
|
I have built and contributed to a few projects, all of which can be viewed on my
|
|
[[https://github.com/codertilldeath][GitHub]] page.
|
|
** ILOC Compiler
|
|
*** Common Lisp
|
|
A compiler for the ILOC abstract machine, written in Common Lisp. The
|
|
compiler reads in the ILOC code with a hand-written scanner and
|
|
parser, schedules the instructions to reduce latency, and then
|
|
allocates the registers based on some number of available physical
|
|
registers.
|
|
** Virtual Memory Manager
|
|
*** C++
|
|
Implements a cache manager for paged segments of virtual memory. Pages
|
|
are swapped into memory when they are referenced, and swapping is
|
|
implemented using several page replacement algorithms such as LRUX,
|
|
FIFO, OPTIX, etc. The program is forked into n+2 processes: two
|
|
processes for the page handling, and n more processes to serve as
|
|
actors accessing memory. Processes communicate with each other
|
|
through pipes, and are synchronized via semaphores.
|
|
|
|
** Delivery Company Blockchain Stack
|
|
*** C# (ASP.NET Core, Xamarin), Hyperledger Composer, Python (Flask), Angular
|
|
A blockchain powered asset tracker, built for a school project on Software Design.
|
|
Uses a full stack from a blockchain in the backend to a mobile app in the front end.
|
|
A website was also built for certain users to monitor the activity on the blockchain.
|
|
Built with TDD, with 90% test coverage.
|
|
** pAIng
|
|
*** Java
|
|
Built a vanilla neural network from scratch, as well as an implementation of the old
|
|
pong arcade game. The goal was to breed neural networks that would slowly improve at
|
|
playing the game. Selection was done through a fitness function, and networks were
|
|
bred by randomly choosing one of the edge weights for each network, or by averaging.
|