Loading...

/> 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
    Corey
    Ballou
    Web
    Developer
    Address
    12308 Ridge Cove Cir, Charlotte, NC 28273
    Website
    http:/www.jqueryin.com
    Phone
    (315) 751 - 0002
    Email
    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
     
      • 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.
     
    MODE Visual — Charlotte, NC
    Feb '08 - June '10
    Web Developer
     
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
     
    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

      • 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 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 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 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.

    /> Contact

    You can alternatively contact me directly at corey@coreyballou.com.