---
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 (NodeJS/Deno)
- Make
- Oberon
- Pascal
- PHP
- Python
- 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