Brian R. Bondy's Resume
To be challenged daily and to work with one of the brightest and high paced teams
- Languages and APIs: C, expert level C++ (Templates, STL, boost, COM, MFC, Win32 API, OpenGL, Qt...), Python (Django, pyWin32, list comprehensions, modules, packages, ...), C# (Winforms, WPF, Silverlight, WCF, LINQ, Entity Framework, Remote Objects, Generics, Nullable types, Extension methods, ...), F#, Java, SQL, Matlab, Haskell, Scheme
- Operating Systems and Libraries: Windows (all client/server, PE), UNIX/Solaris, Linux (various distributions, Live CDs), Windows Phone 7, Static/Shared libraries DLLs/.so, semaphores, Windows Multi threading, pthreads, shared mem, free type lib, Video4Linux
- Source control, IDEs, and Debuggers: MS Visual Studio v5, v6, v7, v8 (2005), v9 (2008), v10 (2010), v11, Borland C++ v4.2, GDB, Git, Subversion (SVN), Mercurial (hg), CVS, MS Source Safe, database IDEs
- Database: MS SQL Server (2000, 2005, 2008, partitions, index design, ...), SQLite, DB2, mySQL, PostgreSQL, Oracle, Corel Paradox, MS Access
- 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)
- 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. Sound mathematical background and outstanding problem solving skills
- 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, excellent management skills
- Bilingual (English and French)
- Have been programming in C++ for 15 years (calculated as of 2008)
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
Windsor, Ontario, Canada - 2008 through Forever
Mozilla: Firefox Platform Engineer
Offsite employee - July 2011 through Present
- 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
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. XML, and HTML reports.
- Managed and developed several custom software projects.
- Managed/Worked on/Maintained an "Encrypted Drive" application
- Worked on a low level file system filter driver to give access to exclusively opened and locked files
- 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.
- 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, TCP, UDP, Proxies, HTML parsers, XML parsers, URL handling, several different encoding schemes such as base64 encoding, Mime message parsing, ZLIB and much more. This library is the basis for almost every one of the projects that my company and I have created.
- 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.
- 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, Awards, and Hobbies
- Microsoft MVP for Visual C++ July 2010 - July 2011
- Top 0.01% of users on Stackoverflow.com
- Learning from Khan Academy
- Working on programming projects, learning new technologies
- Piano & guitar
- Black belt (Shodan) Karate Meibukan Goju Ryu
- Running - training for a marathon
- Technical reviews for pre-released books (Manning), Blogger review program (O'Reilly)
- Available upon request