A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_URI::$config is deprecated

Filename: core/URI.php

Line Number: 101

Backtrace:

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Router::$uri is deprecated

Filename: core/Router.php

Line Number: 126

Backtrace:

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$benchmark is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$hooks is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$config is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$log is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$utf8 is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$uri is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$exceptions is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$router is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$output is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$security is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$input is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$lang is deprecated

Filename: core/Controller.php

Line Number: 75

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$load is deprecated

Filename: core/Controller.php

Line Number: 78

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$form_validation is deprecated

Filename: core/Loader.php

Line Number: 1245

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$email is deprecated

Filename: core/Loader.php

Line Number: 1245

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 25
Function: __construct

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_DB_mysqli_driver::$failover is deprecated

Filename: database/DB_driver.php

Line Number: 371

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 27
Function: database

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Work::$visitor_model is deprecated

Filename: core/Loader.php

Line Number: 323

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 28
Function: model

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$section is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$data is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$db is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$benchmark is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$hooks is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$config is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$log is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$utf8 is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$uri is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$exceptions is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$router is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$output is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$security is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$input is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$lang is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$load is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$form_validation is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$email is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$visitor_model is deprecated

Filename: core/Loader.php

Line Number: 888

Backtrace:

File: /home1/geiertec/public_html/application/controllers/Work.php
Line: 77
Function: view

File: /home1/geiertec/public_html/index.php
Line: 295
Function: require_once

Geiertech | Work

My Work

COLE Publishing Alerts

This system allows COLE Publishing's readers and advertisers to sign up to receive an email notification, or an "alert" (just like Google Alerts), any time new content is posted under certain keywords.

Click here to view source code example

Here is one such sign-up page, on Cleaner.com.

COLE Publishing Analytics

This is an internal tool that COLE Publishing's sales staff can use to generate reports for advertisers. It marries COLE Publishing's internal advertising data to COLE's Google Analytics data and spits out a lovely, printable report, complete with graphs.

Blackout!

I built this on my iPhone over the course of a week or two. My aim with this project was to learn how touch support for mobile devices worked with javascript and HTML5's canvas element.

The objective is to black out the screen. For every square you touch, it will reverse the color of that square, and the four surrounding squares.

I still haven't beaten this game. Supposedly, one of my co-workers from COLE Publishing beat it but... pics, or it didn't happen!

You can play it here!

COLE Publishing Directory Generator

When I started at COLE, I was given the task of handling these "directories" - online sign-up forms to advertise in special or specific issues of COLE's trade publications. There are more than 30 per year, by my last count, and someone had to manually build them.

Using patterns of canned code, I built this form generator to streamline and automate the production process; which I've managed to shave down from a couple of days, to a couple of hours or less.

Here's an example of a directory built by this system: Cleaner Rehab Directory.

Isometric Canvas Demo

I've always had an obsession with isometric games; I can't explain it. With this project, my aim was to create an interactive demo using HTML5's canvas element. Sort of a "learn as you go" approach to game making.

I haven't touched this thing in years. I'd like to get back to tinkering with it though. Maybe I'll throw it up on GitHub and see if I can't get some collaborators to teach me a few new things.

NOTE: If you are an employer scoping me out for a job, please don't base your assessment of my technical skills on the source code of this project. I built this thing more than 3 years ago, when I was still in college. I've barely touched it since then.

You can check out the (ancient) working demo, here. A few controls:

  • W, A, S, and D to move.
  • X to toggle wireframe mode.
  • PGUP and PGDN to zoom in and out (respectively), HOME to reset.
  • Click and drag with mouse to move map.
  • Click on map to move character there.

Studio Ø

I had built this website for a friend of mine to showcase her artwork.

I can't link to the website because the project was scrapped at about 95% completion. I still put in a lot of work into the project. Here's a pen with the prototype for the navigation.

See the Pen Experimental Nav by Jonathan Geier (@JonnyNineToes) on CodePen.

TSC Survey Generator

This macro-driven Excel spreadsheet sends an email containing a link to a feedback survey to every customer in the spreadsheet.

This tool had already been built and utilized before I was appointed the project - my purpose was to alter it so that it worked with Outlook 2010, in light of Thrivent Financial's migration from Lotus Notes.

I left the functions for importing the customer info from the ticket system, but I updated/added functionality to process the information, compose an email to the end user, and send it with the click of a button.

Click here to view source code

TSC Backup Worklog Tool

I built this tool in VBA to work with Outlook 2010 during my employment at Thrivent Financial.

In the case that the Technology Service Center's ticket system goes down, the department can utilize the email system to manage issues.

If an issue is resolved, an email containing a worklog for the issue is sent to one mailbox to be logged later on. If the issue is escalated, an email containing the worklog is sent to an alternate mailbox to have Tier 2 assess it immediately.

Click here to view source code

"Jon Geier vs The Zombies"

I wasn't going to include this orginally... But I built this as my semester project for my Flash class in college. It's a simple "choose your own adventure" game, where you take on the role of me and have to try and survive zombies attacking my house.

In addition to utilizing Adobe Flash and Illustrator's vector graphics, there is also moderate Actionscript code in this game. It features timed responses; you'll be given a choice of what to do next, and a choice will be made for you if you don't act quick enough.

NOTE: You won't be able to play this if you're on a mobile device!

You can play it here!