(email alan at this domain)
Bachelors of Computer Science, August 2007
Florida State University in Tallahassee, FL
At work: PHP5, PDO, MySQL, PostgreSQL, JavaScript, jQuery, JSON, Ruby on Rails, ColdFusion5, C#, SOAP, XML, WebDAV, Visual Basic 6, Win32 API, custom Wordpress themes, OOP, Subversion, Basecamp
At home: PHP5, PDO, MySQL, Sqlite, JavaScript, jQuery, JSON, C, C++, Win32 API, Visual Basic 6, OOP, Subversion, Mercurial
At school: C, C++, Java, C#, Operating Systems, Compilers, Lex/Yacc, OOP
Software Engineer @ Cipher Integrations
Furthered development of a Visual Basic 6 application. My work involved reading DDE input from a third-party application, formatting the data as XML and sending it in a SOAP call to a third-party web service.
On another project, wrote two C# applications – The first read data from an SQL Server database, used it to generate Excel spreadsheet templates and email them as attachments. The second connected to Exchange through WebDAV, waited for email to arrive, processed any Excel attachments contained within and updated a database accordingly.
Daily I act as the primary programmer for Qgiv, and online donation processing system for non-profits. My job also includes collaborating with two co-workers over new features, their implementation, database design, code design, roadmaps, etc.
Significant tasks include:
Encapsulating communication with credit card and check processing gateways
Implementation of an XML API
Enhancing tools to shorten the setup time for new customers
User Interface cleanups and enhancements
Fixing bugs
Utilizing Basecamp milestones, comments and tasks
Cipher also does quite a bit of custom website and web application development. I've created several custom WordPress themes, developed a smart web-based application enabling clients to choose a time-slot (can hide holidays, lunch, all configurable) for a meeting with a lawyer, and rolled a simple CMS.
Remote PHP Contractor @ 540 Interactive, Inc.
Brought an in-house online store framework to maturity for two clients. GNR has three online stores selling self-help medical products. The stores use the same core code and database data. Printing4Pros is an online print shop that sells banners, business cards and related projects. Customers can upload graphic files to be used in printing. The framework is of the MVC flavor, with database abstraction, markup separate from business logic, a few too many singletons, etc.
Technologies: jQuery, PHP5, MySQL, ORM, PostgreSQL.
Learned and utilized the CakePHP Framework for an online mortgage broker service application.
Stepped in to maintain a Ruby on Rails application for yoga classroom management. It's essentially a point of sale system with student attendance tracking. I continued to maintain it up until this month.
Technologies: Mongrel, JavaScript, AJAX
Developed and used my own database abstraction class and templating system on a few projects where beneficial.
Provided detailed estimates of project difficulty and required man-hours, which was used to formulate the overall project estimate and timeline.
Programmer and System administrator @ 540 Interactive, Inc.
Acted as the lead developer, working with zero to two other developers on projects.
Customized and maintained the Content Management Systems that ran YoungMoney.com, MilitaryMoney.com and other InCharge websites.
Technologies: PHP, MySQL, image manipulation, database abstraction.
Integrated SugarCRM with a private jet charter auction website, feeding auctions and bids into Sugar.
Implemented countless other website “mockups” using PHP, MySQL, JavaScript and CSS.
Light to moderate use of Object-Oriented Programming, Database Abstraction Objects and templating systems for many of the projects.
Set up client websites in Apache and MySQL and kept server software up to date.
ColdFusion Programmer @ StratoNet, Inc. (Internet Service Provider)
Designed, implemented and maintained database structure and code for the company website.
Customized news article software for a client wishing to create a local news website.
Development was done in ColdFusion utilizing MySql, JavaScript, CSS
Learned PHP to create a call center application for logging technical support calls and issues.
Wrote a windows application distributed on dial-up internet setup CDs that helped customers find a local dial-up number for internet access. User selected their state, a local number, then the application generated a “set” file used by another application to create the dial-up connection. Written in C using the Win32 API.
Additional information and Mercurial code repositories can be found at http:www.greaterscope.net
The goal is to automate the pulling of related data and to require less setup and than other PHP5 ORM projects.
Can operate off foreign-keys or a hand-typed relation mapping data structure.
Relation chaining – which uses joins in the background – for traversing from an ORM instance to its related data (a customer's orders, all products a customer has ever ordered, etc).
Relation chaining with the ability to specify additional where clauses. Example: pulling all products ordered by a customer within a certain date range.
The goal is to be easier to use than alternatives, present a simpler API, and still be featured enough for large projects.
Connects to MySQL, PostgreSQL, SQLite and SQL Server. Prevents SQL injection.
Returns data in native PHP types.
Code specific to a DBMS (MySQL, PostgreSQL, etc) is encapsulated in driver class for that DBMS.
Carries much of the the burden involved in building large HTML forms.
Generates HTML and validates the form input.
Returns submitted form data that passes validation (ie. matches the regular expression validation patterns).
Concise syntax.
Regular Expression based compilation to PHP.
Splits up a text console screen into any number of subdivisions where each is its own separate console. Enables system administrators to SSH once to a machine and run multiple console applications at once.
“Command window” provides the ability to send the same shell command to more than 1 terminal at a time.
Written in C. Makes use of nCurses, libiterm and unix pipes.
Windows GUI (Win32 API) and Linux nCurses frontends.
Each peer broadcasts its presence over UDP.
Messages are sent directly to each peer through TCP connections in XML formatted messages.
Written in C++. Compiled with GCC and Bloodshed DevC++. Used the TinyXML library for XML parsing.