Mario Theodoridis Zähringerstr. 10 78183 Hüfingen-Fürstenberg Germany +49 771 8978 9003 mario@schmut.com www.schmut.com PROFESSIONAL SUMMARY Versatile, inventive Software Developer/Consultant with 15+ years success delivering comprehensive software, network, security and Web solutions to diverse clients, including regify S.A., Voltage Security, e-Acumen Inc and Hewlett-Packard. Solid expertise in embedded systems development, design/implementation of system performance and maintenance tuning components, UNIX/Linux systems, CNC builds and multi-threaded C. Skilled at applying sophisticated object-detection algorithms/display metrics tests to facilitate DHTML functions. Fluent in German. Leverage broad business experience, technical knowledge and analytical skills to help organizations achieve their strategic objectives. Master problem solver, implementing solutions with careful consideration to the bottom line, long-range goals, feasibility and ease of use. Consistent success turning ideas/documentation into significant & useful products. Proficient at building strong, positive relationships with clients, management, colleagues and end-users. Proven track record in creating robust solutions that produce improved quality/efficiency/maintainability, strong labor/cost reductions and enhanced client satisfaction. TECHNICAL Graphic Design: Gimp, Inkscape, GD, ImageMagick, Varicad, EagleCad SKILLS Development: C, Gdb, Java, Perl, PHP, Python, C++, Bash, JavaScript, Regular Expressions, XML, SQL, MySQL, Autotools, Cmake, Make, Ant, CVS, Perforce, Subversion, Git, VMware, Docbook Operating Systems: Linux, FreeBSD, OSX, Windows Cygwin, CentOS Linux, Kubuntu, DJBDNS, Samba, Courier Imap, Postfix, Qmail, Sendmail, Apache, VNC, OpenVPN, lptables, lpfilter, GnuPG, NX, Bacula, Nagios, Pacemaker, Corosync, DRBD Websites: Personal Website www.schmut.com, Javascript Development (www.colorcoordinator.com) PROFESSIONAL EXPERIENCE regify S.A., Huefingen, Germany Senior Software Developer 03/2011 – Present 3+ Years Driving force in turning a one-developer Windows shop into a multi-platform Engineering Department with Developers in Germany, Luxembourg and Romania. Oversee all development, from source control management, automated builds, release engineering, versioning, branching, VPN connectivity, IP infrastructure, internationalization (i18n), localization (l10n), platform porting, documentation, backups, system administration, operations monitoring, crypto back ends, PHP extensions, appliance creation to writing software in PureBasic, C, PHP, Python, Expect, Perl, Bash and Javascript. Also wrote all documentation for the corresponding software and translated manuals from German to English. Lead and mentor team on all i18n/l10n issues, source control, development practices and versioning/branching policies. Key Accomplishments: Within first 3 weeks, set up git repository scheme, internal wiki and DNS; then wrote first GUI application in PureBasic after mastering the language. Subsequently deployed Bugzilla and the entire IT infrastructure between Germany's de.regify.com and Luxembourg's lu.regify.com sub domains, including VPN connectivity. Directed first project to write a PDF parser for the regibill product; work was successfully completed and delivered on time. Innovated alternative C-based back ends for zipping in PureBasic on Linux; reworked Windows-based products to fit into Linux hierarchy and ported the regify Thunderbird add-in to Linux. regify Provider Appliance Project: Spearheaded the implementation of the regify provider appliance, a turnkey ISO image installer based on CentOS 6 that requires no Linux knowledge to set up a provider. The initial regify provider ran on Windows and took hours/days to work, as the customer needed to install/configure the database and Web server as well as PHP. The provider appliance eliminated all this complexity, allowing installation in less that an hour and automated upgrades in minutes. This enabled a significant reduction in provider support calls. Later on ported the 32 bit regify provider appliance to a 64 bit regify clearing appliance used by the Luxembourg clearing. regify Provider Lookup Service Project: Presided over successful design and implementation of the regify provider lookup service (PLS), a product that allows users to log in using just an email address and a password. Product greatly reduced complexity for end users and enabled generic regify software to be deployed in app markets and on the regify home page. regify Clearing Project: Assumed role as chief architect and technical lead of the global regify clearing service run by the state of Luxembourg. A deployment of multiple clusters each running multiple clearing appliances, load balancers and network switches for full high availability within each cluster. The complete system consisted of 128 cores capable of performing millions of crypto operations per hour. regigate HA Gateway Project: Designed and implemented a highly available regify SMTP gateway appliance. The C based postfix milter implementation is capable of performing crypto operations on over 2000 emails per minute on average hardware. System Improvements: Cleaned up duplicated code with environment variables pointing to a single copy to increase maintainability. Replaced manual builds using IDEs with Makefiles, improving the build process. Created multiple RPMs for regify products but also for PHP mariadb support; all RPM builds were fully scripted for reproducibility. Devised a fully automated build machine that would create hourly appliance builds and update the regify yum repository when new code was checked in (continuous integration). Created test script that would install, configure and use the appliance for basic regimail encryption, running after each build to verify basic functionality. Replaced the proprietary regify crypto back end dependency with a shared library based on crypto++ to facilitate later porting to other platforms; process involved writing a C wrapper around the C++-based crypto++ library. Wrote a PHP extension wrapping the in house crypto library accelerating system performance by removing the network overhead associated with the now obsolete cryptoserver. Set up an API for RSA and various AES (EBC/CBC) and SHA operations. Also implemented proprietary ASN BER coding methods used by regify. Initiated the porting of the regify SDK and regify client to OS X. Implemented a version 2 protocol that embeds an authenticated Diffie Hellman exchange into the login. Designed and implemented a fully automated daily off site backup strategy using Bacula. Automated server administration of over 20 servers using etch, a ruby based tool to maintain system configuration files. Setup Nagios, to monitor mission critical internal servers, as well as all public regify providers to insure SLA compliance. Environment: C, C++, Python, PureBasic, Expect, PHP, Javascript, Perl, Bash, RPM, Yum, Windows, OS X, VMWare, CentOS, Cmake, MySQL, Bugzilla, Git, Crypto++, NX, Pacemaker, Corosync, DRBD, Glib, Gmime, Milter, Postfix, Bacula, Etch, Nagios Voltage Security, Inc, Cupertino, CA Senior Software Developer 04/2004 – 02/2011 7 years Engaged as PHP Developer and member of Java Server team, then given full responsibility for Gateway product development. Maintained Voltage SecureMail Appliance product, a CentOS Linux distribution housing all products. Key Project Accomplishments: Hit the ground running by taking Front Bridge scripts and designing and implementing a log facility and test harness within 4 days. Project included quickly acquiring knowledge on the enrollment server, VSPS and custom adapter redirect process, as well as setting up a workstation. Met all immediate deliveries while re-factoring and improving code base. Ensured the entire enrollment server was object-oriented and the database schema was quickly reworked. Charged with build and release engineering of the Voltage Securemail Appliance and SDK products. Set up new CentOS 5 distribution for the Voltage Securemail Appliance product, including seamless upgrade from CentOS 4-based appliances and deployment of build machines. Designed and implemented PHP/Java bridge using Castor to meet 3.0 goal and provide an incremental way to migrate PHP enrollment server to Java. Successfully managed a C-based Sendmail Milter implementation, using Autotools as the build system, generating RPMs/apt repositories/ISO images and handling security issues and appliance hardening. Independently managed the entire porting of the Gateway SDK product to FreeBSD, including development, native FreeBSD package management, build architecture and release engineering. In addition to the initial 32 bit CentOS platform, it is now supported on 32 and 64 bit FreeBSD platforms. Also played a key role in the documentation of the SDK product. Implemented most of TestDrive v2.1, requiring virtually no management resources for the entire 2 1/2 month development period. Layered the foundation for PHP content management system. Facilitated potential future porting efforts by implementing a command line API for use with the SSH module in WatchDog. Various other enrollment server modules later used this API for the same purpose. Handled all the graphing tool research, interface and back-end design, and developed a robust collector module to auto recover from network failures and send out notifications. Successful in setting up an end-to-end test harness for the Gateway, previously deemed an impossible task. Results included: Gateway functionality automatically tests every time build script runs. Development productivity increased, as testing functionality required simply writing/running a test, not repeated manual reproductions. The test harness ran under a memory profiler to prevent memory leaks. Several leaks were detected/fixed during this development, improving overall product quality. System Improvements: Boosted team efficiency by implementing a validation framework with unit tests to replace ad-hoc validation implementations throughout code base. Performed MySQL high performance Db optimization on log tables that would collapse after 300k rows, enabling fast queries of tables. Introduced the toolkit team to Cmake, by building their Java bindings using Cmake. Team later switched their entire build system to Cmake. Designed an upgrade framework that enabled easy implementation of upgrade scripts while facilitating zero downtime upgrades. Eliminated hours spent responding to inquiries on a repeated basis, by setting up a CVE database on company wiki so support could draw answers to common vulnerabilities from a single place. Environment: FreeBSD, CentOS, C, Gdb, Sendmail, apt, yum, RPM, Autotools, Cmake, Scrum, Check, Perl, Subversion, PHP, Java, JSF, Freemarker, MySQL, Javaunit, Bugzilla, VMware, GnuPG House of Sites, San Francisco, CA Consultant 08/2002 – 04/2004 1 year 9 months Founded business that supplied Web, software, network and security solutions to clients. Devised interactive Internet products through use of graphic design and automation tools (Macromedia, Photoshop, Xara, Corel, Jasc, ImageMagick). Key Accomplishments: Developed Web application engine with built-in features that worked reliably with or without JavaScript and cookies. Utilized ImageMagick, automating image resizing and seamless slicing for PageZoom’s 7 standard page sizes. Eliminated need for multiple workstations and multi-boot setups while ensuring full-time availability of all workstations on a single multi-monitor setup. Used Linux-based VMware to run 4 Windows (2000/98/95) desktops for browser regression testing, 1 FreeBSD server for development and another FreeBSD server for QA. Environment: PHP, PHP4, PHPDoc, Macromedia, Photoshop, Xara, Corel, VPN, Linux, Jasc, ImageMagick, JavaScriptDoc, CVS, Bugzilla, Firewalls, DNS, DHCP, Apache, Perl, MySQL, FreeBSD, PageZoom, VMware, Windows 2000/98/95, DHTML, XML PREVIOUS EXPERIENCE e-Acumen, Inc, Web Developer/Interface Designer Hewlett-Packard, Production Line Technician EDUCATION Heald Institute of Technology, San Francisco, CA A.S., Networking, 1998 A.S., Electronics, 1997 Microsoft Certified Software Engineer Courses, 1998