Jonathan Arkell's Portfolio

Jonathan Arkell

#13, 2323 Oakmoor Dr. S.W. Calgary, Alberta T2V 4T2
Mobile: +1-403-690-3184

Employment History

Cisco Systems, Inc.

Software Engineer III
Apr 2013 - Present
  • Conceptualize, wireframe and design interfaces to Sourcefire's (now part of Cisco) Advanced Malware Protection (FireAMP) product focusing on ease of use and good security practices, including the "Quick Start" which eased product installation.
  • Implement, test, debug and refactor the both the front end and Rails-based back end web console for the FireAMP product.
  • Presenting learning sessions to the development team such as "Programming in Lisp" which exposed them to REPLs, writing DSLs, and extending ones editor; and "Object Oriented Javascript" explaining the prototype OO model and building your own object system.

Critical Mass

Technology Lead
Apr 2006 - Apr 2013
  • Hired and managed a team of web and application developers, communicated with design and client management teams, provided project estimates, project oversight, technology architecture, vendor management, troubleshooting and execution for Clorox, Best Buy, and the "mi adidas" / "mi Team" Javascript product configurator.
  • Hired and Managed a team of web developers, providing project estimates, and helping to manage the initiation, execution and delivery of projects for the Hyatt.com and Budweiser.com Websites.
  • Architected all new Hyatt.com website projects running on the ATG/Dynamo Application Server platform.
  • Wrote and presented learning sessions about what REST webservices are and why they are important; functional programming and how it applies to Javascript; and how Javascript's prototype object model differs from Java and how to use it appropriately.
  • Reduced bugs and promoted a culture of testing by developing a continuous integration and testing solution using Cruise Control, Ant and Selenium.

Teleplus Management Inc

Software Developer
Jun 2003 - Jun 2007
  • Learned the PL/B programming language to fix bugs and make enhancements to the existing application suite. Redesigned and refactored unstructured code to a structured, procedural style. Improved the design, readability and functionality of the existing code.
  • Converted an existing console application suite and add a graphical user interface, while maintaining backward compatibility.
  • Designed, programmed and tested a nightly build system; designed and developed a unit-test application and unit tests for the existing code base; install, maintain and supported the CVS version control system.

Projects

Bunny Cyborg

Apr 2012 - Present

A personal Arduino project that takes the output of an EEG, and use it to control a pair of robotic bunny ears.

  • Designing and build a set of robotic bunny ears.
  • Interfacing a Neurosky Mindwave EEG with an Arduino.
  • Examining the EEG output and determining how it should affect the movement of the ears.

Mindwave-Emacs

Apr 2012 - Present

A suite of tools to work with the Neurosky Mindwave inside of Emacs

  • Write a low level serial protocol implementation to interface Emacs with the Neurosky.
  • Write examples on how to utilize Mindwave Emacs, such as storage in org-mode table format for later analysis, display EEG Power bands to the user, and modify the Emacs GUI in subtle ways to communicate the users attention and relaxation levels.

Pumpinator

Mar 2013 - Apr 2013

A piece of electronic music hardware acting as an envelope follower that sends values as Midi CC messages.

  • Build a simple envelope measuring and amplification circuit.
  • Write software to take the digitized envelope and scale it to midi values with parameters to change attack and release values.
  • Write a simple debugger protocol to visualize the envelope generated by the Pumpinator and the midi messages it outputs.

x0xb0x

Jun 2005 - Aug 2006

An open source/open hardware clone of the Roland TB-303 synthesizer

  • Provided basic electronics technical support.
  • Administered, Hosted and modified wiki software.
  • Wrote initial content for the "x0xd0x" wiki to provide additional information for the project.