|Platforms||UNIX, OS X, AWS, H2O, iOS, Android, Facebook, Windows|
|Libraries||Highcharts, D3, Linkurious/Sigma, jQuery, Apache POI, xlswriter, scikit-learn, numpy, pandas, nltk|
|Software||RStudio, Jupyter / IPython, Wolfram Alpha, Neo4j, LaTeX, MySQL, Cassandra, Git, NetBeans, Eclipse, WEKA, SPSS Modeler|
|Frameworks||Django, Mezzanine, Symfony, Wordpress, Weblogic, JBoss, Glassfish|
|Technologies||J2EE, EJB, Web Services, Servlets, REST, iBeacon, Eddystone, Bluetooth, SOAP, AJAX|
|System Administration||AWS, Nginx, Apache, Lighttpd, SpamAssassin, ASSP, Exim, Postfix, Fabric, SaltStack, Dovecot, Courier, CPanel / WHM|
M.Sc. Student (Knowledge Discovery and Data Mining)10-2016 — Present
Recent graduate (MSc with Distinction) - dissertation was on developing machine learning ensembles to improve the detection of fake reviews, or spam reviews, on sites such as Amazon and TripAdvisor. Cognitive linguistics and natural language processing (NLP) are major aspects.
Projects included research into using machine learning to evaluate the credibility of websites and the information provided as well as a information visualization system for analyzing the network graph of reviews, reviewers, and products for sites like Amazon.
Specific research interests include machine learning ensembles, natural language processing, stylometry, and automated assessments of website credibility and fake news.
Independent Consultant08-2013 — 10-2016
Consultant for alpha stage startup in the online eyewear business which was to assist independent opticians to easily market their stores and wares without having to develop their own websites.
- Developed the heavily customized Django based administrative backend that would enable opticians to easily manage their wares, sales, etc in the startup's reseller system
Senior Research Engineer, Proxama03-2014 — 10-2015
Responsible for researching, analyzing, and developing new technologies for use by Proxama, such as recommendation systems, iBeacons, and HCE for contactless mobile payments.
- Developed a roadmap for Proxama's future efforts to streamline and enhance the data science aspects of its beacon network and the TapPoint marketing campaign / rewards system
- Responsible for design of a machine learning based recommendation system for analyzing consumers' financial transactions in order to increase effectiveness of marketing efforts through TapPoint
- Development and maintenance of Django based servers of a prototype EMV and HCE compatible system (i.e. contactless mobile payment) akin to ApplePay
- Team lead for a small team that developed the Certificate Authority and Web Services components of a prototype J2EE (JBoss and Glassfish) system based on the Django based prototype
- Development of Python scripts for statistical analysis of beacon related data and technical reports along with a Django app and Python library for integrating segment.com with Proxama's systems
- Researched iBeacon / Eddystone technology as part of effort towards evaluating beacon hardware from manufacturers - e.g. developed firmware for a "secure" iBeacon to prevent network sniffing
- Responsible for the creation of iOS and Android beacon related test and research applications
- Developed library for Android applications, based on beacon research, to emulate and improve on iOS's beacon proximity status
Head of IT Department, Microcinema01-2002 — 04-2014
Responsible for all IT matters such as system administration, website development, and IT strategy - the position was labor-on-demand as Microcinema's main focus was on reselling obscure and art house type films (DVDs) in bulk to wholesalers and large educational institutions.
- Used Django as the basis for the new websites and backend application for managing the product database - notable work included designing a multi-site / multi-database Django installation so both of Microcinema's websites could run off one master product database
- Designed a Video on Demand system based on Amazon Web Services
- Duties also included all system administration of the servers, including Apache, Exim, Courier, Dovecot, MySQL, etc. -- migrated server and website across several hosting companies
- Designed / developed a web based accounting system for tracking sales and royalties
- Integration of Microcinema's systems with other companies such as e-commerce platforms (Netsuite.com, Mals-e.com, Cybersource, SagePay, Paypal) and USPS
Lead Developer and Head of IT, Linescape03-2008 — 04-2013
Lead engineer / system architect for Linescape/Tarisoga, an aggregator of ocean shipping schedules much like Sabre is for the airline industry, or Expedia - also responsible for managing the part time contractors.
- System architect and lead developer for all the backend IT systems, which include the following -
- Database layer, made up of MySQL and the Neo4j graph database which holds the schedule data
- Web Services API (REST) on top of Neo4j that utilizes OAuth
- Selenium based web scraping system for processing 300+ carrier websites and their online schedules
- Data processing pipelines which clean and transform EDI, XML, HTML, text schedules to Tarisoga's XML
- Amazon RDS based system for creating large search result sets for customers
- Datafeed system for delivering weekly customized search results to customers
- Designed and developed the portal for advertisers to manage their Linescape website accounts
- Designed and developed an online marketplace for shippers to request and respond to freight rate requests
- Duties also include all system administration of the Debian based servers, including Nginx, Lighttpd, Exim, Courier, etc
Lead Developer, Ventures, Etc01-2004 — 10-2007
Full time contractor hired to design and develop the J2EE backend for Xpressbet.com (an online racetrack gambling site) that handles the wagering process and integrates with other companies' systems.
- Replaced the previous designed for C++ code / application that was jammed into Weblogic with a properly designed J2EE architecture
- SLA increased from 82% to 99.9%, maximum concurrent users increased from 2200 to beyond 4500
- Revenue increased 22% due to increase in website's stability (a million dollars a weekend sometimes)
- Was rehired to port, redesign, and enhance the back end when Xpressbet moved to using JBoss
- Installed and administered the Weblogic servers; duties included packaging and deployment of the application as well as development
- Developed Web Services for integrating Weblogic server with .NET system of partner company
- Wrote Ant based and UNIX scripts for automating daily tasks as well as for testing
- Wrote test plans and directed the Quality Assurance phase of the project
- Assisted with maintenance and enhancements of the PHP based front end of Xpressbet.com
Revuze is a data visualization system for investigating review data networks (the review, reviewer, and the reviewed item). Initially developed for use in my dissertation, but will open source when finished.machine learning, data science, Highcharts, Neo4j, D3
Sorted is a bookmark categorizer, based on the machine learning research into analyzing and categorizing web pages. Currently researching the machine learning aspects and designing the basic system.machine learning, data science, classification, Numpy, sci-kit, statistical learning
WebQ will be a project investigating using machine learning as a way of evaluating the quality of websites, based on the quality of its content and also the quality of its graphic design.machine learning, data science
Webcv is a Django based CMS for putting a resume/CV on the web which utilizes the FRESCA resume standard. Currently designing and developing.Django, Python, node.js, hackmyresume, FRESCA, JSResume
A series investigating the stylometry of different authors to determine what makes writing 'good'.Automated Assessment of Website Credibility
A literature review of research into credibility and how it applies to evaluating websites.Ensuring Veracity in Heterogeneous Data Mining
A review of the problems and solutions related to veracity in multiple heterogenous data sets.Improving Management of Forest Cover
A research study into the use of decision trees and clustering for the managment of forests.
M.Sc. Knowledge Discovery and Data Mining, University of East Anglia2016 — 2017
Dissertation is on improving fake review detection through linguistics and machine learning ensembles.
M.Sc. Informatics and Computer Science, University of Edinburgh1998 — 1999
The Informatics course focused on the practical aspects of software engineering, not Comp. Sci theory.Thesis was “MINT: A Toolbox for the Design and Simulation of Multistage Interconnection Networks”
B.Sc. Computer Engineering, Virginia Polytechnic Institute and State University1988 — 1992
The courses covered both hardware design (E.E.) and software (C.S.). Minors in C.S. and psychology.
Systems Engineering Certificate Program, George Washington University1998 — 1998
The certificate program covered the fundamentals of systems engineering.
Diploma, Writing for Film and Television, Vancouver Film School2002 — 2003
VFS is a trade school, so the courses were in the craft of film making along with making several student films. In semester 2, I switched to the writing department.