Here you will find some of my favorites projects of personal, professional, and academic interest. At heart I am a tinkerer, a streamliner, a helper, a do'er and a show'er.
This web server is one of my favorite hobbyist projects! Every application, web, and database program you see now is running on a single micro SD card on my home router! This website is brought to you using a combination of Lighttpd, PHP, and MYSQL.
* All multimedia content is hosted off the router and embedded into the webpage in order to minimize hardware resources. All images and videos hyperlink directly to their sources in full resolution.
One of the largest projects in my 7 year tenure at SUNY Canton was the ANGEL LMS to Blackboard CMS migration. The migration took over a year and was performed in 3 phases. The process itself was a coordinated effort between SUNY Canton Online Learning and Open SUNY. This was a massive undertaking given our CMS utilization outside of the scope of merely fully online course offerings (hybrid and supplementing face to face.)
Outside of typical everyday work duties, I was given the ability to skin the Blackboard UI using the WYSIWYG editor and the SUNY Canton theme set from the Public Relations Tool Kit. All campus colors have been matched to the identical hex values, as well as CSS modifications and theme tweaks for readability and ADA compatibility.
The SUNY Canton Blackboard home page skin, system announcements, and modules are now maintained and modified as part of my daily work duties as a Blackboard CMS Administrator.
According to the Department of Institutional Research data, SUNY Canton is currently hosting over 3,200 students with approximately 22% of the student body dedicated to fully online courses. There are more than 250 faculty members, and 40% teach at least 1 fully online course. The utilization for fully online courses alone is substantial. However, we also have to consider the remaining faculty, staff and student bodies that interact with the Blackboard Learn Course Management System (BLCMS) in other capacities.
SUNY Canton is obligated to train faculty members to effectively use the BLCMS. Although this obligation is explicit, a goal analysis approach was not used for the scope of this project, as it may have left some questions unanswered or potential problems unaddressed at such a high level of focus.
Instead, we focused more specifically on thoroughly evaluating the Online Learning Department’s options for faculty and staff training. Although the institutional need appears to be clear and distinct, the Online Learning Department’s need has undergone a thorough needs analysis to reveal the possibility of an overlooked origin, or root problem that conceives the department’s need, and possibly a different set of prescriptions to more efficiently, or more effectively fulfill the institutional training commitment as large.
We have investigated possible solutions to replace, combine, or improve upon the current implementation of faculty and staff Blackboard training, and provided the materials necessary to influence the design and development of an effective, multifaceted solution that targets learner knowledge, skills, and attitude to address the need of the department and institution overall.
The design loosely followed the Dick, Carey, and Carey model, but was not linear in approach.
The project was extensive and includes the following sections:
• Needs Assessment
• Task Analysis
• Individual Training Modules
• Learner Analysis
• Learning Assessment
• Organization of Instructional Materials
• Context Analysis
• Evaluation of Learner Achievement
• Assessment of Instructional Design
* Extensive appendices
As a follow up to the Kahoot! based learner assessment included in the systematic design BLCMS project, I also wanted an in house solution to assess learner achievement and BLCMS modular training effectiveness. The Kahoot! assessment option has a much richer feature set regarding exporting data and data analysis, however having an in house solution has it's advantages as well!
This program was created with the LiveCode IDE and was relatively easy to setup and use. However useful it was to use a visual program with WYSIWYG editor, it was more disadvantageous with a frustrating programming experience!
There were many other projects in this course as well with programming fundamentals and visual programming like Java's canvas:
• Java based maze game using Eclipse (introduction to Android Development Kit)
• C# brick breaker game using Swift (introduction to C# and Cocoa)
• Balloon Adventure game (introduction to LiveCode)
Brushton-Moira Central School District is located in Franklin County on NYS route 11. The district consists of students living in the communities of Moira, Brushton, Bangor, and North Bangor. Brushton is located 20 miles south of the Canadian border. This area of Franklin County is made of up flat cleared farm land with a few stands of hardwoods. The flat farm land provides members of the communities with a source of income growing corn, hay, and soybean that will be sold commercially.
At Brushton-Moira Central School there is currently 1,000 student’s k-12. The average graduating class is 40 students. Brushton is a rural farming community and teaching technical hands on skills is important for the students. The program see’s about 400 students go through our program each year. Evaluating the program and making it run as efficiently and successfully as possible benefits not only the district but the students and community members as well.
The primary focus of this evaluation was to see if the technology program is meeting intended course outcomes; if students, teachers, and stakeholders are satisfied with the courses or are there any improvements that need to be done for each course, and if the courses being offered are effective in teaching the content to the students. Overall, the evaluation hoped to show how valuable this program is, and if there are any changes needed to keep the value of the hands on learning the program offers to each student. A secondary focal point for the evaluation was if the assessments for the program are valid and do they really help the students, and teachers to be the best they possibly can at their role in this program?
This evaluation was extensive and includes the following sections:
• Introduction to the program
• Focus of the evaluation
• Evaluation Plan and Procedures
* Extensive appendices
These class projects were a personal favorite focusing on design. They gave birth to the favicon logo design for my sandbox websites: http://mathewcnichols.com, http://hivegate.com, and http://amsplumbingheating.com.
Previously my Adobe Illustrator usage was limited, and Adobe Photoshop was a favorite to tinker with. Working with vectors quickly became my new favorite over raster based images. My workflows have evolved to include graphic based editing done through Adobe Illustrator vectors, then exported into raster based images to finally add and manipulate in Photoshop projects with other standard raster images.
The projects include:
• 8bit based profile image creation
• Open Source Institute logo duplication
• 3D sphere and logo creation
• Realistic texture like Blackboard infographic chalkboard
• Photo manipulation and aging
• Card based board game design
• Fictitious wedding logo design
• Fictitious magazine cover design
• Epub Blackboard migration manual for faculty
• GIMP image manipulation
• Inkscape image manipulation
The purpose of our research was to explore whether Maple producers in Franklin County, New York are benefiting as members in the Franklin County Maple Association.
We performed a thorough literature review to develop an understanding of the various aspects of the maple harvesting processes. We gained insight into the maple sugaring process from tapping the trees, boiling, bottling, marketing, distribution, and selling. We developed and distributed a paper based survey consisting of 17 questions targeting the 54 members of the Franklin County Maple Association. The study took place from February 2014 through May 2014 with a 46% response rate. We visited individual sugar houses to hand out and collect the completed surveys.
This was another extensive project which includes the following sections:
• Literature review
• Research questions
• Result analysis
* Extensive appendices
Many years ago I noticed that device manufacturers were putting unnecessary software on the Windows computers they made before sending them off to the customer. I bought my own copy of Windows XP and "reformatted" any device I received. I would then dual boot Linux ("bare metal") to have the ability to use an OS that isn't under any big business control. I knew at that point I could never go back to the "standard" device Operating System that the typical end user receives. That was the defining moment I believe I became a power user.
Let's jump ahead quite a few years where mobile is becoming (some say already is) the dominant device format.
Since it's inception, Android has had a fragmented ecosystem, meaning each device vendor (Original Equipment Manufacturer,) and network provider hijacks the device and injects their own proprietary software into the operating system. This is what we refer to as "bloat." It causes the device to run slower and less efficient. Now that we are dominantly "mobile," this inefficiency really shows itself as a problem, since losing battery power basically renders the device useless. So here we see the previous OEM software bloat is an even bigger problem!
Queue CyanogenMod! Without CyanogenMod, I would most likely use the iOS platform since it is mostly free of provider bloat and there is only a single hardware manufacturer. Vertical integration can be quite nice!
Every device's firmware since my Motorola Droid OG has been flashed with CyanogenMod. This has allowed me to:
• Do some rad stuff with "Root" mode and open source programs that get "sideloaded" (outside of the official Google Play Store) that is completely locked on a typical device: (Android Debugging Bridge via CMD, Run Android Terminal, Full access to root file system, Edit SQL files to toggle a wireless access point mode, Pentest open source "white hat" wireless apps, TAP OpenVPN programs, and soo much more!)
• Become a beta tester for new software prior to Google acquisition (Tested Swype and it's foreseeable Android Native SBS will be purchased by Google too!)
• Provide feedback to the Android community regarding any of the "Nightly" branch updates and troubleshooting driver stack problems and incompatibilities (which can be NOT so fun!)
• Provide feedback to the app developers regarding any broken updates via GitHub.
The entire framework for this web server is a "proof of concept" for the Internet of Things (IoT.) This web server and many more services are running on my home router!
You may notice at times this portfolio site may seem a bit slow. That's because this site domain specifically (http://mathewcnichols.com) runs on WordPress, and the software resource utilization hits nearly 100% of the router's CPU at times! Standard HTML 5 and CSS 3 will run much faster, and a redesign is in the works!
Open Source TomatoUSB firmware (optimized for specific routers,) provides much more than just a web server! Combined with the Entware-ng package manager, the possibilities are nearly endless! Crazy things happen with a bit of craftiness, technical understanding, PATIENCE, CREATIVITY, and Google.
The web server configuration does host more sites as well with some light modification of the lighttpd.conf, php.ini, and my.cnf file:
• http://hivegate.com, provides a personal gateway into my home network using different forms of encryption and tunneling (SSH, OpenVPN, PPTP, TINC.)
• Shibby TomatoUSB firmware
• Entware-ng with Open PacKaGe Management (opkg)
• Tomatoware development environment
• OpenSSL technologies (OpenSSH, OpenVPN, OpenDNS)
• VPN server (PPTP, OpenVPN)
• SOCKS 5 proxy server daemon (3proxy)
• Tor relay server daemon
• Bitcoin mining daemon (BFGMiner)
• HTML 5 web server (Lighttpd, MySQL, PHP)