orcid.org/0000-0003-0900-6903
Education
Current responsibilities
Technical Skills
- Bash
- C
- Git
- Go
- JavaScript/Typescript
- 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 for Caltech Library
- CMTools - CodeMeta Tools
- COLD - Controlled Object Lists and Datum
- metadatatools - identifier validation, normalization verification for Deno+TypeScript
- irdmtools - a collection of tools for migrating, managing and interacting with Invenio-RDM and EPrints repository software and metadata
- dataset - a tool for managing JSON documents on local disc or as a localhost web service
- 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 and Invenio RDM
- Senior Software Engineer for Web Services, Technology Enhanced Learning Division, Information Technology Services at the University of Southern California.
- 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 - 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
- A recipe for applications: Dataset & Web Components (Part I), 2025-06-12
- COLD - curating objects with Deno, Dataset and SQLite3, Code4Lib SoCal meetup at Caltech, 2024-11-15
- Newt, the second prototype, Code4Lib SoCal meetup at USC, 2024-04-19
- Newt, a small system experiment, Code4Lib SoCal meetup at UCLA, 2023-07-14
- Building software at the edges of heterogeneous repositories, at Montana State University for Open Repositories 2018, 2018-06-06
- Command Line for Librarians, co-presentation with Heather Wilson for MMWCon 2016 at UCLA, 2016-11-15
- Introducing the ArchivesSpace REST API using Python 3, presentation for the ArchivesSpace Member Forum 2016, 2016-08-02
- Bash, curl, jq: Accessing the ORCID API, presentation for Code4Lib SoCal Summer 2016 meetup, 2016-06-20
- Unified Search Box,presentation for Code4Lib SoCal meetup at Caltech, 2015-12-15
- Safely-php presentation for the USC Web Council, 2013-01-24
- USC Map and Calendar API demonstration presentation for the USC Web Council, 2010-10-06
- Lecture on software development, practice and lessons learned in ITS Web Services for the USC Center for Software Engineering CS-577 graduate course, 2006-10-04
- 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, 2005-10-05
- 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
- CLA Conference, CLA Institute Weaving the Web of the future: Distance Learning Tools, now and where they might be headed tomorrow, 2000-11-12
- Educause 1999, Advanced Applications Showcase: SMIL and its Role in Presenting Multimedia Resources, 1999-10-26, 1999-10-27
- 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.
- Doiel, R. and Lundsten, A.
- 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 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