--- title : "Robert Doiel, Software Engineer/Analyst" --- <a href="https://orcid.org/0000-0003-0900-6903" target="orcid.widget" rel="noopener noreferrer" style="vertical-align:top;"><img src="https://orcid.org/sites/default/files/images/orcid_16x16.png" style="width:1em;margin-right:.5em;" alt="ORCID iD icon">orcid.org/0000-0003-0900-6903</a> Education --------- - [Mount Saint Mary's University](http://www.msmu.edu/) - Masters of Arts, Humanities, May 2010 - [University of Southern California](http://www.usc.edu/) - Bachelor of Science, Computer Science, May 2004 - [College of the Canyons](http://www.canyons.edu/) - Associate of Arts, Humanities, May 1989 Current responsibilities ------------------------ - Application development for [Caltech Library](http://library.caltech.edu) working with - Aggregation and search related [projects](https://caltechlibrary.github.io) - Content integration with [ArchivesSpace](http://archivesspace.org/), [EPrints](http://eprints.org), [Invenio RDM](https://inveniosoftware.org/products/rdm/) - Content Migration from EPrints to Invenio RDM - Applications for cross-walking data between systems Technical Skills ---------------- - Bash - C - Git - Go - JavaScript/Typescript (Deno) - Make - Oberon - Pascal - PHP - Python - [SQL/PSM](https://en.wikipedia.org/wiki/SQL/PSM) - Various SQL/NoSQL database platforms - SQLite3 - Postgres+PostgREST - MySQL/MariaDB - Design and implementation of - Web API and middleware - content management systems - automated content aggregation, migration and analysis - in browser services Current Projects ---------------- - Build [cool things](https://caltechlibrary.github.io) for Caltech Library - [newt](https://caltechlibrary.github.io/newt) - a rapid development platform for metadata application used by galleries, libraries, archives and museums - [irdmtools](https://caltechlibrary.github.io/irdmtools) - a collection of tools for migrating, managing and interacting with Invenio-RDM and EPrints repository software and metadata - [dataset](https://caltechlibrary.github.io/dataset) - a tool for managing JSON documents on local disc or as a localhost web service - [datatools](https://caltechlibrary.github.io/datatools) - a collection of command line utilities for working with CSV, JSON and Excel Workbooks Past responsibilities --------------------- - Data migration for old Caltech Archives system to ArchivesSpace - Senior Software Engineer for [Web Services](http://www.usc.edu/web), [Technology Enhanced Learning](http://tel.usc.edu) Division, [Information Technology Services](http://itservices.usc.edu) at the [University of Southern California](http://www.usc.edu). - Software architecture and implementation for applications, APIs and data services for web and mobile devices - Technology evaluation - Code audits - Integration of security practices and tools into developer workflow - Mentoring junior members of our developer team - Specialties - Back end content delivery systems - RESTful API implementations - Data migration and transformation - Automating content analysis - Special Purpose content management systems Past Projects ------------- - Infrastructure research and planning - 4th generation USC Event Calendar system (legacy, LAMP) - [Safely-php](https://github.com/uscwebservices/safely-php) - a PHP micro-library for creating RESTful services and sites (maintenance, PHP) - Developed DOM aware general purpose content migration tools between websites, legacy CMS and new CMS (completed, NodeJS+jsDom) - High performance JSON API, single blog search engine and news.usc.edu (retired, PHP+NodeJS+MongoDB) - 2nd generation of our URL cache service (in production, LAMP) - Web content extraction of legacy USC websites for importation into Wordpress (completed, NodeJS+MongoDB+MySQL) - emergency.usc.edu infrastructure improvements (legacy, Blogger+NodeJS+UltraDNS) - 3rd generation USC Event Calendar API (retired, LAMP) - USC Map data API - (retired, LAMP) - WSCORE3, 3rd generation common PHP and JavaScript libraries used by Web Services for data access, API construction and data sanitizing (retired, PHP) - Feed Management API for USC Reader (retired, LAMP) - Design, implement and deploy public webcam API (retired, LAMP) - Evaluating infrastructure options for replacing our legacy content management system and events calendar system (completed) - Architect and implement second generation webcam image and video processing (retired, LAMP) - Developed a strategy to support mobile web devices (legacy, LAMP) - Migrating our legacy first generation CMS to a VMWare environment (retired, LAMP+Unix utilities) - WSCORE2, a light weight general purpose library for PHP and JavaScript development. (retired, LAMP+JS) - Varanosaurus — a light weight monitoring system (retired, NodeJS+MongoDB) - Thornton Alumni Directory (inactive, LAMP) - Schedule of Classes API and caching service (legacy, LAMP) - JSON and XML API for the USC Events Calendar System (retired, LAMP) - USC Events Calendar System - Installer and configuration sub system, feed generation and management, custom calendar theme engine (retired, LAMP) - Project management, web application architecture and development, database architecture and development for Trojan Network (retired LAMP) - Project management, web application and database architect for Roger Sherwood’s Housing Prototypes (retired, ZOPE) - Project management, web application and database architect for USC International Alumni Conference 2001 (retired, ZOPE) - Web application and database design for APRU’s Distance Learning and the Internet (retired, ZOPE) - Courseware testing, evaluation, training, data conversion and management for USC’s Blackboard installation (retired, Perl/LAMP) - Software design and development for Visualizing Ideology with Dr. Steve Ross (site generation tools, interactive course modules (retired, Perl+LAMP - Project management, application architecture for Exercise Science with Dr. Jill McNitt-Gray (retired, Java applet for "digitizing" image points) - Tool development and design for Oral Pathology website with Dr. Bill Crawford (retired, Perl based site generation tools) Presentations ------------- - September 15, 2016, [Command Line for Librarians](https://caltechlibrary.github.io/command-line-for-librarians), co-presentation with Heather Wilson for [MMWCon 2016](https://mmwcon.org/sessions/21a) at UCLA - Aug 2, 2016, [Introducing the ArchivesSpace REST API using Python 3](https://rsdoiel.github.io/archivesspace-api-workshop), presentation for the [ArchivesSpace Member Forum 2016](https://archivesspace.atlassian.net/wiki/display/ADC/ArchivesSpace+Member+Forum+2016) - June 20, 2016, [Bash, curl and jq: Accessing ORCID public API](https://rsdoiel.github.io/bash-curl-and-jq-presentation/), presentation for Code4Lib SoCal Summer 2016 meetup - December 15, 2015, [Unified Search Box](http://caltechlibrary.github.io/unified-search-box/presentation.html) presentation for Code4Lib SoCal meetup at Caltech - January 24, 2013, [Safely-php](https://docs.google.com/presentation/d/1Efh9Z_HGBOxxYsupHQDok9-CjL4aBC-lGIAnZu5mm1E/edit?usp=sharing) presentation for the USC Web Council - October 6, 2010, [USC Map and Calendar API](usc-api-demos) demonstration presentation for the USC Web Council - October 4, 2006, Lecture on software development, practice and lessons learned in ITS Web Services for the USC Center for Software Engineering CS-577 graduate course - October 5, 2005, Lecture on software development, practice and lessons learned in the Center for Scholarly Technology for the USC Center for Software Engineering CS-577 graduate course - Fall 2004, Lecture on software development, practice and lessons learned in the Center for Scholarly Technology for the USC Center for Software Engineering CS-577 graduate course - Fall 2003, Lecture on software development, practice and lessons learned in the Center for Scholarly Technology for the USC Center for Software Engineering CS-577 graduate course - November 12, 2000, CLA Conference, CLA Institute Weaving the Web of the future: Distance Learning Tools, now and where they might be headed tomorrow - October 26-27, 1999, Educause 1999, Advanced Applications Showcase: SMIL and its Role in Presenting Multimedia Resources - Fall 1999 Quickstart: 1/2 day seminar - Slam Dunk: One Course Website in One Day - Introduction to CourseInfo. October 22, 1999 - September 24, 1999, LACASIS Fall Workshop 1999, SMIL, integrating streamed resources on the Web - Spring/Summer 1999 Quickstart : 1 to 3 day immersive seminars for faculty. Workshops given - _Putting your site on USC Web_ covering FTP, Telnet and Unix file permissions - _Turn It Up_, Streaming Audio on the Web - _Roll ’Em_, Streaming Video on the Web - _Smile: You’re Gonna Love SMIL_ Introduction to SMIL basics. Publications ------------ - Doiel, R. and Lundsten, A. - [Getting Ready for Internet2](https://campustechnology.com/articles/2001/04/getting-ready-for-internet2.aspx), April 2001 issue of Syllabus Magazine. - Doiel, R. and Lundsten, A. - [Digital Video and Internet 2: Growing Up Together](https://campustechnology.com/articles/2001/07/digital-video-and-internet2-growing-up-together.aspx) for Aug 2000 issue of Syllabus Magazine. - Doiel, R. - _Forming a Good Courseware Environment_ for Handbok i IT-pedagogik för utbildare (Handbook in IT-pedagogy for educators) by Nyberg, Rainer & Strandvall, Tommy (Eds.) (2000) - Doiel, R. and Lundsten, A. - _SMIL, web sites of the future_ for CNET/Builder.com - Thursday April 22, 1999 - Doiel, R. and Lundsten, A. - _Internet 2: better, stronger, faster_ for CNET/Builder.com - Thursday April 22, 1999 ### Technical Reviews for Publishers - Review and blurb for _[Learning JavaScript: A Hands-On Guide to the Fundamentals of Modern JavaScript](http://www.amazon.com/dp/0321832744)_ by Tim Wright; Publisher: Addison-Wesley Professional; 1 edition (August 5, 2012) - Review of _The Java Developer's Toolkit: Techniques and Technologies for Web Programmers_ by Joshua Marketos for _Internet Research: Electronic Networking Applications and Policy_ Volume 8, Number 1, 1998 - Review of _Administering Usenet News Servers_ by James McDermott and John Phillips John for _Internet Research: Electronic Networking Applications and Policy_ Volume 8, Number 1, 1998