Brian R. Bondy’s Resume

Objective

To learn from others and help others reach their goals

Profiles

Experience

  • Favorite Languages and APIs: C, expert level C++ (Templates, STL, boost, COM, MFC, Win32 API, OpenGL, Qt…), JavaScript (Node, client side, app development), Python (Django, pyWin32, list comprehensions, modules, packages, …), C# (Winforms, WPF, Silverlight, WCF, LINQ, Entity Framework, Remote Objects, Generics, Nullable types, Extension methods, …), F#, SQL, Matlab, Haskell, Scheme
  • Server Side Development: Node, IIS (5,6,7, extensions), Apache, CGI, Google App Engine (Python GAE runtime, Flask, webapp, datastore, transactions, GQL, memcache, administration console, bulkdata loaders/exporters, remote API), Django, ASP, ASP .NET, ASP .NET MVC3 (ASPX, Razor), PHP, SOAP, REST ROA, template engines (Jade, jinja2)
  • Front end Development: DOM, CSS, Stlyus, JavaScript, jQuery, jQueryUI, Backbone, React, debugging, AJAX, JSON HTML5 (canvas, video, local storage, web workers, offline web applications, geolocation, forms, microdata), XML (XPath, XPointer, XSLT, SAX, DTDs), SVG, MathML
  • Operating Systems: macOS, Windows (all client / server, PE), Android, UNIX, Solaris, Linux, BSD, macOS, Windows Phone
  • Source Control: Git, Mercurial (hg), Subversion (SVN), CVS, MS Source Safe, database IDEs
  • IDEs, and Debuggers: Vi, Xcode, MS Visual Studio v5, v6, v7, v8 (2005), v9 (2008), v10 (2010), v11, Borland C++ v4.2, GDB
  • Networking: Low level socket programming, UDP, TCP, deep protocol knowledge (HTTP, HTTPS, FTP, FTPS, POP), extensive use of Ethereal. (Please see the ‘Internet Library’ project in the ‘projects’ section below for a full list of implemented protocols)
  • Database: MS SQL Server (2000, 2005, 2008, partitions, index design, …), SQLite, DB2, mySQL, PostgreSQL, Oracle, Corel Paradox, MS Access
  • Other Software Development Experience: ZLIB, libxml2, Image analysis, cryptography, steganography, LZW and Huffman compression, tape drives, CD burning libraries, Windows LAN programming, and creating installers with NSIS. Static/Shared libraries DLLs/.so, semaphores, Windows Multi threading, pthreads, shared mem, free type lib, Video4Linux

Qualities

  • Ability to work well independently and/or as a member of a team
  • Adaptable, hard working, reliable, self motivated, and a quick learner
  • Ability to make projects ‘happen’ quickly, mentoring, management
  • Bilingual (English and French)
  • Have been actively programming for over 20 years

Education

  • University of Waterloo: Honours Bachelor of Mathematics in Computer Science
    Waterloo, Ontario, Canada - Aug 2000 through April 2005 Computer Graphics, Networking, Artificial Intelligence, Operating Systems, Algorithms, Concurrent Programming and Control Structures, Theory of Computation, Data Structures and Data Management, Number Theory, Mathematics of Investment, Statistics and Probability Theory, Combinatorics and Optimization, Logic Math, Calculus, Classical and Linear Algebra

  • Khan Academy
    Windsor, Ontario, Canada - 2010 through Forever

Employment

  • Khan Academy: Developer Lead
    Offsite employee - April 2014 through Present

    • Developed SQL environment for learning SQL on Khan Academy using emscripten + sqljs + sqlite
    • Developed peer based project evaluations for computer science students on KA
    • Leaded development on LearnStorm, a bay area 3 month math competition
    • Hundreds of fixes, enhancements and patches throughout the tree
  • Mozilla: Senior Firefox Platform Engineer
    Offsite employee - July 2011 through April 2014

    • Working on Firefox and core code across the tree
    • Windows 8 Metro Firefox browser
    • Installer, silent update, Windows service
    • Hundreds of fixes, enhancements and patches throughout the tree
    • Languages: C++, JavaScript, Python
  • VisionWorks Solutions Inc: Co-founder, Software Developer Windsor, Ontario, Canada - Jan 2004 through July 2011

    • Developed enterprise backup software ROBOBAK, including several hundred thousand lines of code. Features include Deduplication, Journaling, Indexing, Archiving, etc.
    • Developed backup software Vision Backup including over 130 thousand lines of code, and over 3000 copies sold. Features include LAN backup, FTP backup, schedules, compression, email notifications, incremental backups, online software updates, and online software activation.
    • Managed and developed several custom software projects.
    • Managed/Worked on/Maintained an “Encrypted Drive” application
    • Worked on a SPAM and PHISHING fighting project which is based on a TDI filter driver.
    • Developed COM SDKs for several different products that I created.
  • Army Simulation Centre: Linux Software Developer Kingston, Ontario, Canada - Aug 2002 through Aug 2003

    • Started during a Co-op term, also worked part time during school throughout 2003.
    • Created a briefcase program which synchronizes one or more remote directories
    • Created an application that integrates into their simulation software. It sniffs network packets and displays complex results (displayed on my custom built graphing Qt widget)
    • Created several other small utilities using C++, Qt and the File Alteration Monitor.
    • Documented the project and created an RPM as well as user guides.
  • ALT Software: Device Driver Developer Waterloo, Ontario, Canada - Aug 2003 through Dec 2004

    • Developed a device driver for a security video capture camera, debugged several other projects
  • Corel Corporation: Researcher and Software Developer Ottawa, Ontario, Canada - Aug 2001 through Aug 2002

    • Rewrote printing functionality in Paradox 10 as well as worked on SP1 & SP2 for Paradox 10
    • Worked on .NET related projects including performing XSLT transformation on SOAP documents
    • Created a generic web site update notification system, which is used company wide
    • Evaluated new technologies to see if they would fit in at Corel, came up with new company ideas
  • Other software developer positions not included to save space.

Projects

  • CodeFirefox: Outlines the process of becoming a Mozilla contributor, from start to finish, with 2-10 minute videos and exercises.
  • Codecheck.JS: Parses JavaScript code structure with acorn.js into an abstract syntax tree, then compares it against a set of assertions for use in online exercise frameworks.
  • Internet Library: Sole developer of a massive C++ library coded from scratch which includes FTP, FTPS (FTP over SSL), SFTP (FTP over SSH), SMTP, SMTP SSL, POP3, HTTP/S clients (with support for cookies), HTTPS clients, HTTP/S server, FTP/S server.
  • Vision Backup: Over 130 thousand lines of C++ code, written from scratch which allows backups to several different media. COM based plugin system.
  • File Access Manager: File System Filter Driver used for allowing access to exclusively opened and locked files. Over 50 thousand outstanding licenses sold, several backup software companies license FAM.
  • Cryptex: Virtual Encrypted hard drive built as an NTFS driver. Allows the user to lock files in the vault, they can be retrieved later by providing your password.
  • Firefox Extensions: Several Firefox extensions built using XUL, XBL, and Javascript. Some experience with XPCOM.
  • Virtual Disk Drive: Allows you to work with any application off of a network hard drive, all operations are sent to an offsite IIS Extension.
  • SPAM Filter: TDI Filter which allows filtering network traffic. Outlook & Outlook express plugins created.
  • Null Share: Sole developer of an open source peer to peer application based on the Gnutella protocol.
  • Pyroflow MSN: Complete multi platform MSN Messenger implementation.
  • Stego Flow: Library to open, manipulate, extract info and save images, with steganography support
  • Pyroflow Archiving: An alternative to Unix’s tar with built in compression
  • Data Structures: Several template based data structures, including Adaptive Huffman compression

Interests, Hobbies, and Other

  • Coding: Working on programming projects, learning new technologies
  • Reading: Reviewing O’Reilly and Manning books
  • Music: Piano & guitar
  • Exercise: Marathon runner, Black belt (Shodan) Karate Meibukan Goju Ryu
  • Microsoft MVP (For Visual C++ July 2010 - July 2011):