David M. Syzdek =============== 205 E Dimond Blvd. #745 907-980-1151 (day) Anchorage, Alaska 99515 `http://www.bindlebinaries.com/' syzdek@bindlebinaries.com Summary of Qualifications ------------------------- * Possess expertise in creating portable programs and libraries through the use of development tools such as GCC, autoconf, libtool, and automake. * Solid understanding of Unix environments such as Slackware Linux, FreeBSD, Solaris, and OS X. * Experience in developing Unix daemons which incorporate Signal handling, process forking, logging, PID file management, chroot environments, and threads. * Strong knowledge of LDAP design including the deployment of Sun One Directory Server and OpenLDAP servers, the integration with applications, and schema development. Technical Expertise ------------------- Languages C, Objective-C, C++, Perl, PHP, Bash, JavaScript, CSS, SSI, M4, and XML Documentation Formats HTML, Perl Plain Old Documentation (POD), doxygen, Unix Man Pages, and Texinfo APIs OpenLDAP Library, MinGW, AppKit/Cocoa (OS X), UIKit/Cocoa (iPhone), GNU Libc, Libtool's libltdl, Pthreads, Berkeley DB, SQLite, and Syslog Concepts Unix Daemons, Networks, BSD Socket Programming (TCP and UDP), Portable Programming, CGI Programming, Cross-Compiling, Library Programming, Perl Modules, Source Code Control/Revision Control, Change Management, Software Documentation, and Open Source Licenses (GPL, LGPL, and FDL) Protocols DNS, FTP, HTTP, HTTPS, IMAP, LDAP, NFS, NTP, SMTP, SNMP, OSPP, POP3, and SSH Standards Single Unix Specification (SUSv3), GNU Coding Standards, Filesystem Hierarchy Standard (FHS), and External Data Representation Standard (XDR/RFC1014) Development Tools GCC, GNU Make, GNU Libtool, GNULib, GNU Libc, Autoconf, Automake, CVS, Git, Xcode, and Texinfo Software Slackware Linux, FreeBSD, Solaris, Apple OS X, and Windows (98, 2000, XP) Professional Experience ----------------------- Bindle Binaries Anchorage, Alaska Software Developer (2007 - current) Primary responsibilities include writing software for the iPhone platform and Unix based platforms. Secondary responsibilities include coordinating work with clients to ensure that project requirements are being met to the client's satisfaction. - Developed an RPN calculator for the iPhone OS. The application makes use of the CoreGraphics framework to dyanmically generate button images used in the caclulator's GUI. - Wrote a promotion iPhone application for Blogography. The application makes use of the CoreAnimation framework to provde animated backgrounds and menu transitions. - Wrote an iPhone application which simulated a Magic 8 ball. The application makes use of the accelerometer to detemine if the device is being shaken or flipped upside down. Alaska Communications Systems Anchorage, Alaska Acting IP Engineer II (2003 - 2010) Primary responsibilities include maintaining SunOne Directory Servers, Apache servers, ProFTP servers, and legacy servers from acquired ISP. Secondary responsibilities include writing internal applications for the ISP business unit and other departments as required. - Developed a modular system to act as a device manager for mobile devices for the ACS cellular network. The system uses information from the device and billing system to properly configure the device for its capabilities and service when an OTA request is initiated. - Developed a client library for the Clam AntiVirus Daemon and used the library to create a ProFTPd module for scanning files uploaded by subscribers. - Installed and maintained a Redmine ticketing system for tracking department projects and department escalations. - Developed a web portal that allows staff to provision virtual domains and allows subscribers to self-manage users within their respective domains. - Developed a session management system which authenticates and tracks subscribers. The system allows multiple web interfaces to share a single session identifier for a subscriber, thus eliminating the need for the subscriber to present credentials to each interface. - Developed a provisioning system which allows multiple billing systems to provision services on shared LDAP entries. This system allows an individual subcriber to have one shared set of credentials for services managed managed by different billing systems. - Wrote a library and client which implemented the Over-the-air Service Provisioning Protocol, a proprietary protocol developed by Logica intended to allow clients on TCP/IP networks to communicate with mobile phones. The client is used by an IVR to activate new mobile phones and update Preferred Roaming Lists (PRL) of existing mobile phones. - Wrote miscellaneous web interfaces for managing MMS, WAP, and EVDO service provisioning. - Wrote a library and utility that creates NAM data blocks for either IS-683-A or IS-683-C compatible mobile phones. - Implemented and maintained a CVS server to manage software packages developed by IP Engineering. - Migrated CVS repositories to Git repositories and used git-cvsserver to provide legacy CVS support. Systems Administrator I (August 2001 - 2003) Primary responsibilities included maintaining DNS servers, iPlanet Messaging Servers, iPlanet Directory Servers, Apache servers, ProFTP servers, and legacy servers from acquired ISP. Secondary responsibilities included writing simple utilities to assist support staff. - Using Bind 9, designed a DNS infrastructure which implemented split views and split horizons. - Developed Unix tools using Perl, Bash, and C to simplify server management and to assist technical support personnel. - Developed multiple Perl CGI interfaces which allowed staff controlled access to LDAP data and radius data. - Developed an iPlanet Messenger Express plug-in using CGI scripting and JavaScript. The plug-in added the ability for subscribers to manage e-mail filters. This involved writing a basic Sieve rule parser in JavaScript. - Completed a user audit of an acquired company's provisioning systems against the company's billing database. Services were provisioned using Unix passwd and shadow files and the billing information was stored in MS SQL databases. - Planned and executed an upgrade of an iPlanet Messaging Server that served roughly 65,000 users. The upgrade including moving from a Sun 4400 to a Sun V880, moving the message store from NFS shares to local arrays, and upgrading the software from version 5.1 to version 5.2. Detailed plans, time lines accurate to the minute, and proof of repetitive testing was provided to management prior to the actual upgrade. - Planned and executed the migration of an acquired ISP (MosquitoNet) consisting of roughly 6,000 users into ACS's ISP infrastructure. This included coordinated e-mail, web, FTP, DNS, and radius migrations. - Implemented a FTP infrastructure that uses LDAP for authentication and supports virtual domains. Created custom LDAP schema to support infrastructure. - Developed a system that uses data from LDAP and local templates to dynamically provision and re-provision virtual domains. - Was primary administrator for DNS servers, iPlanet Messaging Servers, LDAP servers, and Unix web servers of the ISP business unit. HB Technical Services Fairbanks, Alaska Systems Administrator (April 2001) - Used OpenLDAP on Linux and OpenBSD to provide global address book and roaming Netscape profile solutions for small businesses. - Used Linux and Samba as replacements for Microsoft Windows servers in small business environments. The replacements were used for primary domain controllers, file servers, roaming profiles, and print servers. - Provided OpenBSD firewalls for small businesses. - Produced and maintained Linux servers which provided Internet services such as web, e-mail, DNS, FTP, DHCP, and Webmail for small businesses. - Provided on site consulting and support for small networks, workstations, and Linux and OpenBSD servers. Internet Plus LLC dba MosquitoNet Fairbanks, Alaska Systems Administrator (May 2001 - August 2001) - Set up and maintained MySQL databases for virtual hosting subscribers. - Assisted with the initial migration administrative tasks from MosquitoNet to ACS. - Initiated the audit of MosquitoNet's provisioning systems. - Implemented new web mail system. - Managed daily operational tasks, resolved escalations from technical support, and provided a 24 hour response to system outages. Computer Technician (March 2000 - April 2001) - Installed and configured 802.11b networking equipment at subscriber premises. - Provided technical support to wireless and business subscribers. Provided on site response in the event of extended subscriber outages. - Acted as a sales person to expand MosquitoNet's user base. - Provided on site computer repair. - Installed simple office networks for small businesses. Subscriber Support Technician (January 2000 - March 2000) - Provided technical support to email, dial-up, and virtual hosting subscribers. - Assisted in the computer repair shop as needed. Additional Experience --------------------- Roman Numeral Conversion API `http://roman.sourceforge.net/' The Roman Numeral Conversion API is a small project which consists of a library and utilities which convert values between Roman numerals and Arabic numerals. The library and utility will compile on POSIX systems and on Microsoft Operating systems. The source code was written to adhere to the GNU Coding Standards. Astute `http://scm.bindlebinaries.com/scm/com.bindlebinaries/Astute.git' Astute is an imitation of the board game Boggle. This application is being developed using the Interface Builder and makes use of multiple windows and keyboard inputs. This application has not yet been released and is still in development. ClamAVC `http://sourceforge.net/projects/clamavc/' Clam AntiVirus Client Library provides a simple API to the ClamAV daemon. ClamAVC does not require ClamAV to be installed. ClamAVC communicates with clamd using clamd's documented protocol using either TCP or a local Unix domain socket.