Hello, and welcome to my website! I am currently wrapping up my Bachelor of Science in Computer Science at UNC Chapel Hill and would be interested in full time opportunities for after I finish my masters degree in May 2019. I have substantial experience in real-time embedded systems (C, MIPS and x86 Assembly, Verilog), full stack web development (HTML, JS, CSS, Angular, Java, Spring), and web services (C#, SQL Server, MySQL). As side interests, I run UNC's Computer Science Club, help organize HackNC, and work on UNC's Renewable Energy Special Projects Committee. Check out my resume if you want more detail and feel free to reach out. My email is the single word 'hacker' at the domain 'unc.edu'.
Built a platform to share vehicles using the security of the Ethereum blockchain as the trust basis instead of a physical entity. Also uses the APIs from Smartcar to allow unattended unlocking and ignition for shared vehicles to eliminate most overhead. Prototype implementation won awards from Coinbase, Smartcar, Contrary Capital, and HackDuke at HackDuke 2017.
Built a website to display energy usage data for every building at the University of North Carolina at Chapel Hill. Features include:
Managed a small team to build an online realtime multiplayer matchmaking lobby and ranking system. Features include:
Built a Node.js app using Websockets for realtime multi-user control of the Sphero robot
Built an application stack to gather long periods of continuous accelerometer readings
To appear in ECRTS 2018. Ming Yang, Nathan Otterness, Tanya Amert, Joshua Bakita, James H. Anderson, and F. Donelson Smith.
Abstract: "NVIDIA's CUDA API has enabled GPUs to be used as computing accelerators across a wide range of applications. This has resulted in performance gains in many application domains, but the underlying GPU hardware and software are subject to many non-obvious pitfalls. This is particularly problematic for safety-critical systems, where worst-case behaviors must be taken into account. While such behaviors were not a key concern for earlier CUDA users, the usage of GPUs in autonomous vehicles has taken CUDA programs out of the sole domain of computer-vision and machine- learning experts and into safety-critical processing pipelines. Certification is necessary in this new domain, which is problematic because GPU software may have been developed without any regard for worst-case behaviors. Pitfalls when using CUDA in real-time autonomous systems can result from the lack of specifics in official documentation, and developers of GPU software not being aware of the implications of their design choices with regards to real-time requirements. This paper focuses on the particular challenges facing the real-time community when utilizing CUDA-enabled GPUs for autonomous applications, and best practices for applying real-time safety-critical principles."