I'm Joshua Diaddigo – a senior at the Georgia Institute of Technology studying Computer Science with an emphasis on systems/architecture and information internetworks. I recently accepted a Software Engineering role at Google in LA.
I got my first computer when I was 12, and I picked up 3D animation and web design shortly thereafter. I was hired by PeachMac (now Simply Mac) just before my sixteenth birthday I where I became what was likely the youngest certified Apple Product Professional in the world. In the summer of 2014, I interned with Tipping Point Gaming where I personally took charge of the development of a game selection interface that would soon be distributed to ~40% of the casinos in Las Vegas, Nevada. I spent the summer of 2015 in Chicago, IL with kCura as a software engineering intern where I worked in the processing vertical of their eDiscovery platform. This past summer I was in New York, NY working in digital forensics with Stroz Friedberg.
A fully featured content management system for a blog that I am working on with a Belmont University marketing student, Suzanna Stapler. Backed by a SQL database, this CMS includes a very sleek HTML editor and implements security measures far beyond the typical scope of my work.
A Python module I wrote for TAs at Georgia Tech – specifically those teaching courses in Python. It includes helpful scripts such as an autograder that works directly with student homework submissions and a difference checker for identifying cheaters. These scripts have been used by a few different courses at Georgia Tech, and have sent a good number of students to the Office of Student Integrity.
A (pointless) website dedicated to pictures of my buddy, Jason, eating. It also accepts photo submissions so others can join the fun. Images submitted to the site are sent to me via MMS from my server, and I can moderate them simply by texting my approval.
A library I wrote to contain a lot of the functionality I often implement first while setting up a website. This is less practical than using jQuery (or any other library), but the purpose is to learn more in the development of my projects than I would if I used a library as a crutch. A good portion of the library is also targeted towards aesthetics which I have a history of prioritizing over performance when I can get away with it.
For this project, I took the technical lead in the group of five Georgia Tech TAs I was working with. The purpose for this simulator is a little specific to Georgia Tech coursework, but the goal was to help students learn the dynamic concept of how a processor works in a fittingly dynamic fashion as opposed to simply viewing diagrams on a page. The result is a web app that allows students to upload compiled microcode for the given LC-2200 ISA and watch their program execute on the processor by microstate or by clock cycle. Through this project, we introduced a lot of features that were not previously possible for students such as backstepping through the program or only tracking the information held in specific datapath elements. View a live demo of the project here (password is "demo").
The debugging guide is a resource for students at Georgia Tech to begin to understand different types of bugs and how to find them. The site includes sample programs with different types of errors. Students can edit/run their solution directly in the browser and receive immediate feedback. There is also an error reference for students to research the problem they are having and quickly find an explanation.