I am a senior Linux system administrator and web developer with 15 years of experience in planning, coordination, implementation, and maintenance of applications and infrastructure required to support day-to-day operations and long-term goals in varied business environments.
The portal is a web-based application to facilitate reporting of equipment inspections and product deliveries for the petroleum industry. This application permits the technicians to log inspections and deliveries via their mobile devices, giving in-office personnel immediate access to the data. Customers are also able to login to view generated PDFs of the reports.
Additional functionality has been added to track the location and status of thousands of leased cylinders and the product in them.
This project includes an extensive documentation site to accompany the source code.
Created a high availability DNS cluster with a primary node and four secondary nodes. Each secondary node is an independant virtual machine in a different data center, making them geographically spread. Zones are automatically managed by the secondary nodes using PowerDNS's super masters feature, making cluster management simple and automated. The system makes uses of DNS specific monitoring checks so that if any node is unresponsive for more than 30 seconds, requests are automatically routed to the next available node.
The first prototype used node.js for the realtime backend, while the alpha was refactored to use MQTT (with Mosquitto), but it was found to be unstable with the particular requirements of the application, so the beta version was built on top of RabbitMQ.
Fully automated solution to deploy fully functional, pre-populated Wordpress websites based on a single form. System optionally registers domain name, creates DNS zone, email configuration, FTP account as needed depending on form options. Deployment process includes creating database, deploying prebuilt Wordpress website, ensuring Wordpress core/themes/plugins are all up to date, and doing various confirmation processes. Solution includes a custom administration panel for managing the deployed websites.
A custom web application to merge data from six different SCADA sources, along with location-specific weather data to provide the user with an overview of their propietary monitoring telemetry. Data is synchronized via raw data files and imported into a collated database, and viewed using a custom PHP application. The frontend implements Bootstrap for mobile-friendly screens, and Google Charts API for smooth graphs.
Designed and implemented a business application which combined the features of four applications into a single solution. These included portions of customer relationship management (CRM), project management, document management, and time tracking features. Use of web-based technologies gives the client flexibility for future features and scalability for business growth, along with remote-access capability for out-of-office staff requirements. The application saves the client a significant number staff hours per week in administrative overhead, and gives them better oversight and tracking on day-to-day operations.
The ad-hoc voting machine used Twitter's Firehose API to subscribe to specific streams. All tweets were parsed for specific syntax that would grant topics or users specific points. For example: a tweet of
#linux + would mean the tweet author was upvoting the
linux topic, while a tweet of
@kodekrash #linux + would mean the author was upvoting
kodekrash on the
linux topic (assuming the author was not
kodekrash -- ego voting not permitted!). The tokenizer understood about 20 different voting syntaxes, with support for multiple topics, links, users, contextual topics, and various combinations.
The purpose of this prototype was three-fold:
1. Create a semi-intelligent tokenizer that could scale under heavy load
2. Experiment with realtime asynchronous data processing
3. Experiment with gamification metrics in a simplified system
WorkJS is a set of custom user interface widgets implemented as jQuery plugins. All the widgets used consistent DOM management, and implemented a single ajax data layer. Widgets included: accordion, autocomplete, button bar, data grid, data view, dialog, navigation bar, notifications, panels, spinner, card stack, tabs, timeline, and tree view.
Designed, built, and integrated automated recurring billing solution for Cloudstack hosting environment. The application is responsible for creating new accounts, Cloudstack configuration for each account, and monthly usage-based billing of each account. This was accomplished using Cloudstack's API and the Authorize.net payment services API.
Implemented a cloud hosting environment using Cloudstack within a datacenter. This included configuration and deployment of redundant iSCSI nodes, with hot-swappable NFS servers providing the storage backend for the initial rollout of a four hypervisor cluster. Was also responsible for the creation of several base virtual machine images for various tasks including web server, email server, and DNS server.
Design, prototype, and implement cloud-deployed platform for managing large data sets of geospatial+temporal data. Platform includes application development framework to assist application builders with creating applications to produce and consume the data sets. Data can be mapped using a multi-user collaborative map editor, from which KML documents are generated for display using Google Earth. The system makes heavy use of internal APIs, integrates a number of external APIs, and relies on a pub/sub model for much of the collaborative feature set.
Design for a pluggable/scalable infrastructure management application to replace existing Java solution. The application is designed as a scalable API implementation, in which any server node can selectively expose resources via optional API endpoints (ie: web services, email services, user accounts, printers, etc). Using a basic pub/sub model, the controller application is notified of available services, giving administrators direct access to distributed resources across many machines in different locations.
Prime GNU/Linux is a custom Linux distribution compiled from source code. Several derivative versions were built to power thin client stations on several production lines in a factory environment.
Designed and implemented six large-screen displays for network operations control center. All data was collated from several Nagios deployments and displayed in a number of ways - 3D charts/graphs, plotted on rotating 3D maps, and summary listings. Backend development included custom plugins and monitoring agents for pro-active information collection, integration with Google Maps, and a number of charting solutions.
Development and deployment of 40 node thin-client system for an interactive computer lab. This solution incorporated several boot images for various uses which were deployed on-demand to several hardware combinations.
Development of a custom web application with used gamification techniques to provide children with step by step "missions" which taught them to build robotics projects based on the LEGO Mindstorms system.
Development of a custom Point of Sale system to manage pre-purchased lab time, including on-demand creation and printing of membership cards with barcodes with were used to log in and out of the system. Also included standard Point of Sale support for products.
Built a 12 node OpenMOSIX cluster as a proof of concept. Once completed, used to compile custom Linux kernels.
Designed and implemented a multi-process data crawler solution for collating 20,000+ remote XML documents from thousands of locations on a rotating four hour schedule. Data was collected into a replicated MySQL database for indexing and searching. Ran at snewp.com for about a year.
Mentioned in numerous blogs and a couple of printed books.
Developed and ran a multi-protocol chat bot system which interacted with users using both textual and vocal commands. The bot executed various groups of commands (checking weather, searching movie listings, RSS headlines, etc) over several protocols and technologies. The Alice/AIML intelligence engine was integrated to assist in interacting with users using common speech.