This PDF document was automatically generated from an XML document using an XSL template on 2010-07-05.

Brian Enigma [email protected] http://stackoverflow.org/resume/ 503-308-8765 Objective

I am an innovative computer professional with over 20 years of programming and hardware experience (15+ professionally) with a passion for code. While my technical skills are deep in many areas, they are also broad. I love to learn new skills and keep ahead of the curve. My strong analytical ability, attention to detail, and communication skills allow me to tackle nearly any situation. Presently, I seek a challenging technical position that will put my skills to good use. Skills Computers, General Unix/ (Ubuntu/Kubuntu, BSD, Redhat, some Solaris), OS X, Microsoft operating systems, system administration, database administration (DBA), digital telephony, reverse engineering, security, encryption/cryptanalysis (theory and practical applications), user interface design Programming C/C++, Standard Template Library (STL), GNU programming tools (make, gdb), PHP, Objective-C, Python, Java, JSP, SQL, SQLite, assembly language on several platforms, Perl Programming Theory Object Oriented programming (UML, design patterns), unit testing (CppUnit, JUnit), inline documentation (Doxygen, Javadoc), software security/robustness, OS security, Agile methodologies (Scrum, Extreme Programming) Embedded Systems Realtime/Embedded Linux, cross-compiling toolchains (mainly ARM and PowerPC), remote debugging (gdbserver), boot loaders (u-boot, uMon, lilo, grub), J2ME, assembly language on several platforms, Cobalt Qube network appliance programming and architecture, "Home Brew" Sony Dreamcast software, some experience with other realtime operating systems (vxWorks, QNX) Chips and Processors Intel i386/i686, PowerPC, ARM, Atmel AVR, Marvell switches and packet processors, Vitesse Crosspoint Switches, Intel 8051, Motorola/Freescale 68HC11 Networks TCP/IP (socket) programming, firewalls, ipchains, IP masquerading, 7-layer OSI stack, network services (including many RFC specifications), Public Key Infrastructure (PKI), web technologies (HTML/CSS, JavaScript/ECMAscript, CGI, Apache, lighttpd, Tomcat, Weblogic) XML XML, validation (DTD, XSD, Schematron), transformation (XSLT), publishing/documentation (XSL-FO, DocBook XML), B2B business transactions (RosettaNet), transports (HTTPS, FTP, SMTP, raw sockets), Remote Procedure Calls (RPC) (RESTful/JSON, XML-RPC, SOAP/WSDL) Tech Hobbies electronics hobbyist, ham radio enthusiast (KE6TXX), Project Euler

Work Experience 8/2004-present, Apcon, Inc., Senior Firmware Engineer Led a small team to bring the 2000-series product line (Layer 1, physical layer, network switches) from design to market. Tasks included:

Reimplemented legacy code (a bare-metal 8051 application) as an embedded Linux architecture running on a custom ARM controller board Built a custom Linux system based around uClibc, buildroot, busybox, and uMon Created and modified Linux kernel drivers, including: I2C, GPIO, and SMBus for talking to the backplane, optical transceivers (SFPs, XFPs), temperature and fan controllers, realtime clock, and other digital components Designed and implemented a Remote Procedure Call (RPC) controlled core daemon process responsible for the business logic, resource contention, security enforcement, hardware monitoring, alarms, etc. Designed and implemented custom embedded web-based management interface, including back-end code and front-end HTML and CSS. Designed and implemented initial CLI (over SSH, telnet, and serial) management interface Contributed to SNMP management interface

Resume of Brian Enigma 1 of 5 Performed "full stack" programming of features and bug fixes -- from studying datasheets to flipping bits on chips to kernel drivers to the core userland service, to a lightweight remote procedure call (RPC) library, to user-facing services (web, CLI, SNMP, XML, etc.) Designed and implemented remote-authentication modules for regular and two-factor authentication via TACACS+ and RADIUS with attributes

Led the team that brought the 3000-series product line firmware (Layer 1 network switches with optional modules allowing for Layer 2 and 3 routing, aggregation, and filtering) from design to market. Tasks included:

Ported apps and services from 2000-series (ARM) to 3000-series (PowerPC), accounting for processor differences (endianness), cross-compiler idiosyncrasies, and differing resources. This includs ongoing challenges in parallel development because the same apps must still run on both product lines Designed and implemented the enhancements to the core service and RPC for managing aggregations. Designed and helped implement the dual-controller high-availability failover mechanism. Updated the web interface framework to lighttpd and PHP, using (Flex) front end, including a custom PHP extension to wrap the RPC framework. Extended u-boot to include manufacturing and development tools.

Ongoing duties not tied to a particular product line included:

Managed interoperability between the firmware RPC stack and the desktop GUI application team -- maintaining cross- platform compatibility between Linux (on PowerPC, ARM, and x86) and Windows. Linux administration of CVS server, Wiki, Mantis bug tracker, TestLink Buildmaster, responsible for maintaining a "one-click" build script, code branches and merges Developing and maintaining unit tests and automated test harness frameworks

8/2005-1/2006, Mind Candy, Puzzle Designer (contract) Developed several puzzle cards for the Perplex City collectable card game. The design work was not just the puzzle logic, but also the card's graphic design. The specific cards were Catcher, Confounding Cube, NAND, and Primer from the Season One set. The underlying skills covered paper engineering (like Oragami), digital electronic design theory, and prime number theory.

11/2001-8/2004, Drake Certivo, Team Lead/Senior Software Engineer Projects and job duties spanned two main products. First, for the distance-learning computer appliance, duties included:

Led a development team in architecting and implementing a content management and distribution system for electronic courses across distributed learning centers. This system, written in PHP and MySQL, is AICC and SCORM compliant. Developed core architecture for a Linux-based network appliance that delivers electronic courseware. This appliance was deployed in Sylvan Learning Centers across the country.

Second, for the business-to-business compliance test appliance product, duties included:

Led a development team in porting an existing XML compliance application to an embedded platform (the Sun/Cobalt Qube). This system was used for RosettaNet B2B conformance testing. Initially led a development team in architecting and implementing a next-generation XML compliance application, allowing companies to test their conformance to the RosettaNet, OAG, and ebXML B2B standards. The main test engine is written in Java and runs on an embedded Unix platform, while the user interface is a Java application specifically designed to work well in Windows, OS X, and Linux. This system was put to use by automobile manufacturers. Member of a team developing an EDI validating proxy for Best Buy. This system runs a set of expert system rules against inbound messages, flagging bad messages as rejected or requiring manual editing. Assorted system administration duties: CVS server maintenance, user account maintenance, software and OS installs, etc. 11 months of remote work

Resume of Brian Enigma 2 of 5 11/2000-09/2001, Metapa, Senior Software Engineer Headed a team responsible for writing software to encode, distribute, and track digital media assets. This included taking high volumes of media assets from customers (CDs, DVDs, music files, video files, etc), applying automated transforms, then getting them automatically imported into a distribution system for tracking and access control. The automated transforms included encoding, transcoding to different formats, and trimming to 30-second samples. The distribution system consisted of a custom HTTP server, with assets stored on Akamai, that allowed media owners to control which digital radio stations and online retailers had access to their media. The project used agile development methods to rapidly prototype in Python against constantly changing specifications, mainly because of its similarity to C++ and extreme flexibility. Bottlenecks -- for instance, the HTTP server -- were rewritten in C++ for speed and efficiency. For cost efficiency reasons, the core database was Oracle which fed multiple read-only MySQL databases in the web farm. The entire project was eventually ported to run as J2EE under a BEA WebLogic server.

09/2000-11/2000, AltaVista Transition Team, Senior Engineer (contract) This was a temporary position offered to key developers in the Irvine office. Since this office was closing and being consolidated with the main office in San Mateo, a number of web applications and internal tools had to be transitioned from a Windows IIS C++ COM architecture to a Unix-based Java servlet architecture.

05/1999-09/2000, AltaVista Shopping, Lead Engineer Headed the front-end web team. Responsible for syncing up with Marketing, AV Search, and Sales. Required drafting technical designs to solve issues for all involved parties. As lead architect, had the responsibility of always thinking of the "big picture" and making sound architectural decisions on how components, databases, and front-end software will scalably integrate. Projects and job duties included:

Maintaining the original online store, written in Visual Basic and ASP As the company shifted focus from selling products to offering a comparison service, I architected and helped implement a C++ COM object based eCommerce comparison system. This was with a tight schedule over a relatively short timeframe (roughly 1-2 months.) Adapted the AltaVista search engine to perform eCommerce attribute- and metadata-based searches. Developed wireless internet interfaces (small-screen WindowsCE, Palm PQA, WAP, AvantGo), allowing comparison shopping wirelessly from within a brick-and-mortar store.

01/1999-05/1999, Geonetics, Lead Developer Headed a team of programmers developing complex ASP Intranet applications. Close work with Oracle databases, geographic/mapping datasets, and creating COM objects.

11/1996-12/1998, Virgin Interactive/Westwood Studios, Automated Systems Lead Programmer Managed a team of programmers who integrate digital telephony, an MS-SQL database, dynamic web pages, a custom database front-end for telephone support representatives, and several custom front-end tools for maintaining and adding to the Knowledge Base.

12/1996-12/1998, Electronic Intelligence, LLC , Cofounder, Lead Programmer, Architect Designed and built:

a tech support IVR phone system in Visual C++, utilizing Dialogic cards a web interface to the system using IIS CGI a Java-based front-end to the phone system's ACD back-end tools in Visual C++ for creating, adding to, and maintaining the system's knowledge base (MS SQL Server).

01/1996-10/1996, Technical Services International , Web Programmer Developed custom CGI applications in C++, VB, and Perl for local businesses on Unix and Windows web servers. Developed a set of CGI programs and web spiders to allow customers to enter information about their website and have it submitted to up to

Resume of Brian Enigma 3 of 5 600 indices and directories of the customer's choice.

04/1994-01/1996, Virtual World Entertainment, Assistant Technical Manager Performed installation and maintenance to the hardware, software and electronics of cockpit simulators, reservations network, and remote email systems across a multiplatform LAN and ISDN WAN. Education 1998, University of California, Irvine -- Bachelor's in Information/Computer Science (ICS) -- My senior project was to write a simplified Ada compiler, from specs to back-end gcc parse trees. 1992, Marina High School -- Graduate with Honors Notable Personal Projects 30 Hour Day iPhone App, author An iPhone app that complements the 30 Hour Day fundraising event. It acts as acts as a timeclock and information headquarters for 30HD. Includes timer, donations, schedule, stream information, and Twitter client. Also consists of a back-end webapp component for live updating of schedule and stream data.

ARG Tools, author ARG Tools is a set of tools on the iPhone for players of Alternate Reality Games (ARGs), transmedia experiences, and solvers of puzzle trails. Includes a half-dozen types of decoder-ring style codebreaking, countdown timer prediction, and reference material (letter/word frequency, semaphore, morse code, braille, etc.)

Foster-Powell Information, author An iPhone app that acts as a central repository of information for and about the Foster-Powell neighborhood of Portland, Oregon, including news, social media (tweets, Flickr), calendar, and meeting information. Pending website relaunch.

wmap, author A cross-platform web server security scanner, like an HTTP equivalent of the network tool "nmap." Prototyped in Java and finalized in C++, using STL and libcurl. wcap, author A cross-platform packet sniffer that scans network traffic for web requests and prints the accessed URLs. Like tcpdump and Wireshark, it uses the pcap library, but limits the output to strictly URLs instead of full network dumps. Snazzy Archives, contributor Contributed a patch to the Snazzy Archives WordPress plugin that allows filtering by date in the shortcode. Mantis Bug Tracker: Force Fixed-In, author A plugin to extend the Mantis bug tracker that enforces a particular workflow. Specifically, when a bug is marked as resolved, this plugin requires a fixed-in version to be entered. Mantis Bug Tracker: TagColumn, author A plugin to extend the Mantis bug tracker that lets you include a "Tags" column when viewing a list of issues. CryptoSlam, author A Linux curses-based program that allows the user to create, work with, and solve simple substitution ciphers. Mac-Package, co-author A plugin for Apache Ant and Apache Maven that lets a developer generate and package native OS X application bundles from Java source. SoleSeek, co-author A native Mac OS X/Cocoa client for the SoulSeek peer to peer file sharing network. Work involved reverse-engineering the protocol from network dumps, writing a back-end object model in C++, and a front end UI in Objective-C. Am I Geek Or Not?, author An Open Source implementation of the "Hot or Not" craze that used to run at amigeekornot.com.

Resume of Brian Enigma 4 of 5 robotfindskitten, author, Java applet port A "Zen simulation" that has been ported to a great many platforms, operating systems, and languages. Affiliations Eagle Scout - Earned the rank of Eagle Scout in Boy Scout Troop 134, February 1992 EFF - Member of the Electronic Frontier Foundation since 2001

References available upon request [email protected]

Resume of Brian Enigma 5 of 5