Hi, My name is Channing Norton; though you may see older references to me and my work by the name Channing Helmling-Cornell, or variations thereof, as not all services liked how long my old last name was, or the hyphen.
This GitHub account serves as my portfolio as a software developer and IT professional. This document was last updated on 2023/11/26
I pride myself on being a technology generalist that can learn how to produce quality work in a variety of areas quickly, with a solid base of fundamental skills.
This document will outline the projects I have done, the technologies I have worked with, what I'm looking to learn, and what I'm working on right now. Not all of my repositories are public, and not all the code I've produced is mine to share or showcase. Furthermore, smaller projects like one off scripts may not ever get entered into version control, though anything spanning more than a day or two's work for me does end up here now that github finally has private repos for free. Final note is, to avoid making academic dishonesty easier, the code for my coursework at RIT or other institutions is ONLY in private repos, if its entered here at all. Throughout much of university I actually used Mercurial rather than Git, purely because, for one person projects, git is a bit overkill.
NOTE: THIS DOCUMENT IS STILL A WORK IN PROGRESS. WHILE IT IS A LIVING DOCUMNENT, AND WILL NEVER BE "DONE," IT IS VERY MUCH NOT FILLED OUT.
- Introduction
- Key for This Document
- Skills
- Skills I'm looking to learn
- Completed Projects
- In Progress Projects
- On Hold Projects
- Open Source Activity
- Soft Skills
- Professional Experience
Expand
Computer Languages and Shells
Note that I've divided languages into categories by their use. You may find languages that are not exclusively or primarily used for the development of desktop applications in other sections below.
Higher level programming languages
Shells, Scripting languages, and OS automation systems
Markup, Notation, and Text Processing Languages
Obviously, with a good portion of these languages/ filetypes, there's not a TON to them. As such, the hourly specifications in the "Skill levels" portion doesn't really apply. The proficiency level relates to the amount I've worked with files in the format, and my overall level of comfort with the syntax. There's a lot more to RegEx than YAML, for instance, so more work for RegEx to reach a similar level of comprehension.
Assembly Languages and ISAs
Hardware Description Languages
I originally was exposed to Hardware Description Languages in college. While I picked up VHDL fairly well, I did not pursue things further as computer engineering simply was not my cup of tea. I do not anticipate pursuing VHDL further, though, if I had to work on projects using HDLs to a limited capacity, I would be comfortable. I have neither the experience, nor the skillset to design hardware or FPGAs. I can read and understand the work of others, however.
Operating Systems and Hypervisors
As a whole, for the desktop, I typically prefer Windows for most purposes, but for software development, I typically prefer Linux OSes for the flexibility of other window managers and customization options. For server uses, I opt for the correct tool for the job. For small and medium businesses, that is usually windows, but for anything performance intensive, or for larger networks, Linux servers are the way to go.
Notably, different skews of operating systems such as the different Linux distros, or Windows editions have an immense similarity. As such, I've used the skill ratings to reference experience with that particular skew exclusively. If I have extensive experience with similar OSes, I likely know my way around others that have lower listed experience levels quite well purely by utilizing all of the commonalities between versions.
Desktop Operating Systems by Vendor and Version
Refers to proficiency BOTH with using the OSes personally, and supporting users using the OS in small to medium business settings (defined here as having a fileserver, directory server, cloud or onprem email, DNS and print server may or may not be present, with fairly homogenous enviornments of OSes, save Mac, for which I assume windows servers.)
Server Operating Systems by Vendor and Version
Hypervisors
Niche/Other
Low code / IPAAS / no code platforms
Frameworks, APIs and Libraries
Development Tools, Build Systems, and Version Control
Development techniques and methodologies
Software Engineering Core Concepts
Service Delivery Software
IT Platforms and Tools
Enterprise Networking Ecosystems
Business Software
Other Software
I may have exposed myself to these skills very, VERY briefly, but not enough to put above. I also may have them listed above but am doing a deeper dive into them to improve my own knowledge. I am actively learning and engaging with content in the subjects ticked as of time of writing.
- Erlang
- Go
- Haskell
- Lisp
- Prolog
- Rust
- Scala
- Typescript
- TKinter
- Amazon Web Services
- Docker
Project Name | Completion year | Associated Position | Skills Utilized | Project Team Size (Myself included) | Description |
---|---|---|---|---|---|
Camera Install | 2015 | Cornerstone Bread Co. | Project Management, Budgeting, Wiring | 2 | Installed a new security system for employer, including the selection of hardware, selection of camera positioning, design of proposal to stakeholder, and physical install. Delivered final work at timeline, and under budget. Supervised external contractor assisting with work requiring certification. |
CRM+ERP Migration | 2016 | Cornerstone Bread Co. | AutoHotkey, Python, Macro Development, Excel, Professional Communications | 2 | Served under business owner to migrate existing data from CRM + ERP system to new product. Organized and automated data entry, cleanup, and generation using a variety of tools, to varied success. Managed an executive increase in scope late in project to satisfactory effect. |
WebCheckers | 2017 | Student - Rochester Institute of Technology | Java, Agile Methodology, Maven, Apache Spark, Ajax, Javascript, HTML5, Scrum, Project Management, Git | 4 | Worked with team to develop an application capable of running on a webserver, and supporting 2 players logging in and playing a game of checkers. Primarily responsible for implementing game logic using Java. Served as Scrum Master for team. |
ShoppingCart | 2018 | Student - Rochester Institute of Technology | Java, Maven, H2 Database, SQL, UI Development, Lanterna, Git | 4 | Worked with team as primary developer, contributing sizable majority of code to repository. Developed a simulation of an ecommerce site backend where users can log in, fill a shopping cart with items, and check out, including features such as automatic restocking, comprehensive analysis of stock trends, and multifaceted searching. Implemented multiple core design patterns. Served as primary archtitect for relational table design. Code is available at this repository. |
User Setup | 2020 | Capstone Information Technologies | Client Communication, Documentation, Microsoft 365, ITGlue, Active Directory, Azure Active Directory, Microsoft Exchange, Powershell, Barracuda Spam Firewall, Windows Server | 2 | Worked with account relations manager to stabilize at-risk account by reworking their new user workflow, this consisted of a comprehensive evaluation of client technical needs for varied user accounts, and a partial restructuring of their active directory, along with numerous small powershell scripts to automate and standardize key pain point for growing client. |
Major Email and Cloud Storage Migration | 2022 | PC Solutions IT Consulting | Sales, Office 365, Google Workspace, Project management, Budgeting, Estimating, Proposal, Powershell | 1 | Pitched, architected, and managed a project from start to finish to migrate 80 inbox organization from Google Workspace to Microsoft 365, including user education, inbox and cloud storage backups, data migration, stakeholder communication, and all other major aspects of performing such a migration end-to-end as an outside vendor. Delivered project 10% under budget and was ready for cutover 9 days ahead of project plan, though cutover date was kept at originally scheduled date to minimize risk. Cutover was smooth and unremarkable, client was satisified with results and purchased a 1 year support contract from PC Solutions after work was completed. This was my 5th such, and by far my largest, email migration, and my first getting data out of google workspace. |
Omeka S Exploration Project | 2023 | University of Rochester, River Campus Libraries | Omeka S, HTML5, PHP, Documentation, Apache Servers, Linux, Systems administration | ~11 | Served as applications administrator for project to confirm capabilities of and perform initial migrations to new platform for content management, Omeka S, in response to anticipated need of major software end of life. Worked to establish stakeholder needs, assess product capabilities, install, evaluate, and manage plugins, write documentation, train users, and serve as a general technical jack-of-all-trades for the project. |
- ArchivesSpace Bulk Edit UI - As a side project for work, I've been creating a user interface for performing resource-level/ collection level updates to records in ArchivesSpace conditionally, functionality that is not provided out of the box. This is made possible through the ArchivesSpace Rest API. To make this accessible to our Librarians, I am building it with a GUI using TKinter. You can view the WIP code for project in this repository.
- Foundry Accessibility Tooklit - Foundry accessibility toolkit is a project of mine to take Foundry Virtual Tabletop, which I use in my hobby as a roleplayer, and adapt it for better use by low vision users, as I noticed such options were extremely lacking, and one of my players is herself sight impaired.
- GMTK Gamejam 2021, 2023 - In 2021, I was the sole programmer for a game. While it was initially planned that 2 other programmers would join our group of 5, both dropped out of the jam midway through due to personal reasons, without code contributions. As such, while we were unable to submit, due to a number of bugs, I still learned a lot about Unity by attempting. In 2023, I had a similar result of being a sole programmer and DNF'ing, though with a much more complete project. This time, scope creep and UI programming being timeconsuming for me caused the project to fail.
Expand
As a note, the tenure of some of these positions overlap. That is intended. Near the end of my tenure, I had automated Cornerstone Bread to require infrequent attention, and moved to a consultancy basis with them while I continued with my education. PC Solutions became part time when I picked up Rochester Software Associates, and Tutoring has always been part time. I like to maintain multiple streams of income for stability reasons.##todo go through lists, populate Add an education and certification section