/> Main
About Me
My name is Corey Ballou and I'm a 27 year old web developer out of Charlotte, NC. My work primarily revolves around PHP, MySQL, JavaScript, jQuery, CSS3, HTML5, Apache, nginx, and Linux. I dabble with all sorts of wonderful packages and modules. I run Fedora all day every day. I'm engrained in developer operations.
I graduated from Clarkson University with a B.S. in Computer Science in 2007. I also received dual minors in Information Technology and Business Administration.
I have been working at Skookum since June 2010. Before that, MODE Visual was my home since February 2008. My primary job responsibilities are fairly broad. I handle both backend and frontend development, database design, database development, website optimization, performance tuning, system and network administration, and coding a substantial amount of jQuery and javascript.
My Work
I don't just stop working at the office. I invest a lot of time developing open source plugins, libraries, and writing on my development blog. When I'm not coding, I'm keeping up with the latest development articles. My passion for web development combined with my love of cutting edge technology keep me current within the industry.
Although my availability is limited, I am open to both freelancing and consultation work in my off-hours for interesting projects. I primarily develop web applications in Zend Framework, Kohana, or Wordpress but have expansive knowledge of both frontend and backend web development. I also am keen on deployment tactics, website security, and scalability.
Below are a few recent examples of problems I have solved:
- I employed multiple queue systems with PHP: beanstalkd and gearman.
- I daemonized PHP processes with PHP 5.3 garbage collection in place of cronjobs.
- I created a secure RESTful API with public/private key signature verification.
- I wrote one of the first PHP MongoDB session handler classes.
- I recently released a Kohana 3 CSRF protection module.
Latest Tweets
/> About
me
My name is Corey Ballou and I'm a 26 year old web developer living in Charlotte, NC. I have been developing since I was in my pre-teens. These were the days when CSS didn't exist, layouts were synonymous with nested tables, and frames were cool. Some other factoids for your amusement:
- I grew up in Rutland, VT.
- My first computer was a Compaq Presario.
- My first dabble with programming was with Visual Basic and Perl.
- I ran my first domain, a snowboard site, in the 6th grade.
- My first snowboard was a neon Burton Air directional.
my work
My work primarily revolves around Linux, Apache, MySQL, PHP, Javascript, jQuery, CSS, and XHTML. I have no particular favorite and am equally proficient with all of the above technologies. I run Fedora or Cent OS on my development machine with Windows XP running in VirtualBox for testing.
I try to develop utilizing industry best practices and am always striving to improve my code quality. Two topics I take very seriously are website security and optimization. I'm heavily intrigued by the current NoSQL movement and have been reading up on the various MySQL alternatives. To learn more about my work or qualifications, please view my CV.
/> CV
- Corey
- Ballou
- Web
- Developer
- Address
- 12308 Ridge Cove Cir, Charlotte, NC 28273
- Website
- http:/www.jqueryin.com
- Phone
- (315) 751 - 0002
- corey@coreyballou.com
- Dob
- August 10th, 1984
education
- Clarkson University
- 03 - 07
- B.S. Computer Science
-
- Dual Minors in Information Technology (IT) & Business Administration
- GPA (Last 4 Semesters) 3.50
- GPA (Overall) 3.08
- Presidential Scholar — 2007
employment
- Skookum — Charlotte, NC
- June '10 - Present
- Web Developer
-
-
Global Leader in Contact Lenses
+
- Developed an advanced administrative backend tool for creating "PowerPoint like" presentations to be displayed on a client-side AIR application.
- Developed the client side AIR application in Javascript, HTML, and AJAX. The AIR application supported pulling presentations by country through AJAX calls to the administrative site API I developed.
- The project specifications required a pre-defined set of 20+ templates to be used for generating customizable presentations. An animation handler was developed for transitioning between the 20 different templates fluidly.
- The tool was developed with multilingual support in mind; supporting over 20 European countries.
- A NoSQL solution, MongoDB, was used to support the necessity of having a three-tiered revisioning system within the presentation creation and publishing process.
-
Global Leader in Contact Lenses
+
- MODE Visual — Charlotte, NC
- Feb '08 - June '10
- Web Developer
-
-
Large Floral Supply Company
+
- Developed a completely custom shopping cart and checkout system that ties into the client's SBT accounting software through a third parties integration software. Utilizes CyberSource as the payment gateway.
- Security measures were taken to avoid storing credit card information locally, so only a unique key is stored associated to the associated cybersource credit card information.
-
Large Shoe Company
+
- Implemented the frontend design to specification for the site, including the block framework used throughout the site.
- Developed two separate custom left to right sliders in jQuery for the main page.
- Developed a unique fixed position navigation bar that appears upon user login.
- Developed a custom Google Map including custom markers that displays locations based on zip codes. The map is tied to a custom search input with auto suggestions.
- Responsible for recreating and optimizing an XML parsing script which generates and updates all product data for a large shoe manufacturer's website. The script makes a SOAP request to a third party who maintains the product data.
- Developed a product management tool on the administrative backend to handle maintaining product data.
-
National Pizza Chain
+
- Developed a mashup which utilized both the Facebook API as well as the YouTube API to display unique feeds per store.
- Utilized Facebook Connect on a promotional microsite as an alternative method for login.
- Developed a custom March Madness bracket system including the administration tool, team selection tool, and seeding tool for a contest.
- Developed a large portion of the backend supporting the pizza chain's front end flash site.
- Installed third party e-commerce software, Magento, and did the frontend development for a completely custom one-step checkout that completely hid the fact the client was using Magento. Had to heavily modify a pre-existing Magento UPS Shipping plugin to interact with the UPS Shipping Print Label API to auto-generate and print shipping labels for customer purchases within the Magento admin.
- Developed parsing scripts which take excel documents from a third party (Kedron) and automatically update menu item pricing. Pricing can be updated on a per store basis or for all stores.
-
Custom CMS Development
+
- Aided in the development of a custom CMS on top of the Kohana framework. The CMS is used heavily, both internally and on client sites.
- Created a nested block module which allows for the creation and insertion of custom content and modules.
- Developed an inline, AJAX based photo editor for cropping and resizing images on the fly. The editor has the capability of limiting resizing and cropping sizes based on both the module the image is being modified for as well as the type of image being created. The image editor is used extensively on the administrative backend. It is coupled with an AJAX-esque file uploader to avoid page refreshes when uploading content.
-
Intranet Vacation Request System
+
- I created an internal, web-based vacation request system for use within the company. It is utilized by all employees for requesting vacation time as well as to track sick time.
- Managers have the capability of viewing all employee vacation requests, modifying requests, and approving vacation requests.
- Holidays are taken into account as well as weekends and half-days.
- Remaining vacation time is reset on a per employee basis every year.
-
Intranet Client Management Tool
+
- Developed the intranet client portfolio tool used to manage all client data used on the company website. The backend communicates with the frontend by way of AMFPHP.
- Developed a file management tool for sharing files with clients. The tool is used in favor of FTP and allows for the uploading of a minimal set of valid file and mime types.
-
Code Maintenance
+
- Responsible for maintaining relations with multiple clients in regards to bug fixes, patches, and new feature requests.
- SVN is used for version control with all current and future clientele.
-
Large Floral Supply Company
+
- OMYA — Florence, VT
- 04 - 07 (Summer)
- Network Administrative Assistant
-
- Completely revamped the intranet site for the North American infrastructure (8 sites) containing company sensitive documenation. Improved the overall design for usability and accessibility as well as provided means for greater corporate connectivity.
- Given full administrative rights to the entire Florence, VT site.
- Tech support for the Florence plant with approximately 130 employees
- Responsible for site wide Extend360 upgrades as well as Lotus Notes compliancy modifications for the Florence site to meet corporate standards
- Summit Payment — Rutland, VT
- 02
- Web Developer
-
- Remotely installed Perl on the host Windows server using PCAnywhere to enable search capabilities for the client.
- Modified various CGI scripts as well as made minor modifications to the overall site design
- Modified an open source search engine to be used for Summit Payment's hosted sites.
personal projects
-
Site Crawler — PHP Class
+
- Created a site crawler to index client domains. The class stores all crawled pages in a MySQL database and keeps track of the number of times each page is referenced while crawling the domain. The crawler is intelligent in the sense it will only crawl relative urls and full urls within the same site domain.
- Created an extension to the site crawler which generates google sitemap XML files based on the indexed pages. The crawler keeps track of the number of internal links to each page and can either generate a page ranking based on the number of internal links or the relative path depth of the page (number of forward slashes).
- Created an extension to the site crawler for running penetration testing on domains using a combination of XSS and SQL injection attack vectors. The extension searches for pages containing form elements and keeps track of all form elements found on specific pages. It then makes a series of cURL requests on the pages and stores the resulting output in MySQL. The resulting output can later be analyzed to determine if the site was not properly filtering data.
- A highly optimized version of the original site crawler can be found on my github.com account. It supports asynchronous requests using curl_multiget to provide faster indexing. I have yet to include the sitemap generator and penetration tester with the package.
-
PHPull — Wordpress Plugin
+
- PHPull enables bloggers who reference PHP functions and class methods to easily access php.net documentation in the form of a tooltip. PHPull dynamically requests pertinent information directly from valid php.net documentation by firing an AJAX request. project page
-
Salid — jQuery Plugin
+
- Salid is a simple form validation plugin intended for developers who require maximum control over their frontend form validation with minimal overhead. Although a default callback is supplied for display, you may supply a custom callback function to handle the display of any and all form errors. Salid matches both id selectors as well as supplying a fall-back on name selectors. It even handles matching elements with array based names. project page
-
JinX — Wordpress Plugin
+
- JinX is a Wordpress plugin which separates javascript logic from your posts by supplying you with a separate textarea for adding javascript to your posts. The editor does absolutely no sanitization or input filtering so your javascript is sure to remain intact. JinX utilizes the markItUp! jQuery plugin, allowing you to utilize your TAB key as well as giving you the ability to resize the textarea to accomodate editing larger blocks of javascript.
- The plugin is currently being utilized on my personal blog but has not yet been submitted to the wordpress plugin repository.
technical skills cloud
- PHP
- MySQL
- Javascript
- jQuery
- CSS
- SSH
- SCP
- SFTP
- Linux
- WinXP
- Apache
- SVN
- XHTML
- Oracle
- ASP.NET
- C#
- Visual Studio.NET
- IIS
- git
- Perl
development interests
- browser compatibility
- SEO
- security
- OAuth
- performance
- OpenID
- optimization
- HTML5
- NoSQL
- best practices
- APIs
- CSS3
- A/B Testing
interested in learning
- Cassandra
- Flex
- MongoDB
- CouchDB
- Gearman
- Air
- Android development
- Flash
- IPhone development
personal interests
- snowboarding
- golf
- reading
- soccer
- tennis
- coding
- home improvement
- open source
- tech blogs
character traits
- driven
- attentive
- eager to learn
- focused
- hard working
- funny
- down to earth
- smart
- creative
- self starter
/> Example Code
This page is a work in progress. It is intended to give you a peak at some work that I have open sourced or made publicly available which may not be so easy to find on your own.
- zend-php-clean-url - A clean URL (permalink) generator for Zend
- Tickspot-PHP - A client library for the TickSpot Time Tracking API
- csrf - A CSRF Protection Module for Kohana 3
- Zend-Recurly-Client-PHP - A port of recurly-client-php over to ZF