I am a self-taught programmer, and over the past year I have been an open source contributor for the Firefox Debugger. As a Firefox contributor, I implemented a new type of breakpoint in the debugger. My original field of study is classical piano, music theory, and composition. My introduction to music-related software and computer art in college initially drew me to programming.
I built the front-end and server implementation of watchpoints, a new type of breakpoint in the Firefox Debugger that pauses whenever a property on an object is used.video
in order to make a call to pause the debugger each time a property on an object is set or read.
The front-end code for watchpoints provides an interface for the user to add/remove a watchpoint from the Scopes pane. It then needs to tell the server about the new or deleted watchpoint. The client code also updates watchpoint data in the Redux store in order to immediately update the user interface with the watchpoint icon before the debugger is resumed.merged code
When the debugger encounters both a breakpoint and a watchpoint on the same line, the expected behavior is for it to only pause one time for the breakpoint and then advance to the next line. This server patch checks the preceding pause reason and location before pausing the debugger for a watchpoint.merged code
Built using React, Redux, Tone.js. Three Square is a set of sequencers that produces minimalistic and cyclic music. The first two sequencers use the piano timbre while the third provides pad accompaniment playing 16x slower than the top sequencers. The user can introduce rhythmic syncopation by changing the number of beats per cycle. Three Squares also has note presets and customization.video | code | live demo
Built using React, Redux, Express, and Mongoose/MongoDB. This app is a Trello-inspired productivity manager where users can manage projects with shared boards. Each board has a list with cards, and cards can be moved from one list to another. Add other users to your board to collaborate. Card due dates and descriptions keep teams focused on important deadlines.code | live demo