Michael Clark

Doctoral Student at Brigham Young University's Internet Security Research Lab

Orem, Utah
(801)-810-4433
clark.michael.c@gmail.com

Position Objective

Assistant professor position in a CS/Security/IT related department with expectations of excellence in both teaching and research.

Qualifications

Research Objective

Aid system designers use minimally obtrusive remote authentication methods. Ultimately, enable systems designers to choose authentication strategies via a table lookup instead of familiarity and convenience.

Research Interests

Publications

  1. Clark, Michael, et al. "A Comparison of Three Approaches to Assist Users in Memorizing System-Assigned Passwords." Symposium on Usable Security and Privacy (USEC) 2024. Internet Society, 2024.
  2. Clark, Michael, and Kent Seamons. "Passwords and Cryptwords: The Final Limits on Lengths." Proceedings of the 2022 New Security Paradigms Workshop. 2022.

Education

  1. Fall 2019–Summer 2025 (Expected) PhD in Computer Science

    Brigham Young University

    My research focuses on making randomly-generated passwords easier to remember. Courses include Statistical Methods for Research (STAT 511 and 512), Cognitive Psychology (PSYCH 375), a basic Introduction to Teaching course, undergraduate design courses (CS 356 and CS 456), HCI methods (IT&C 555), and readings courses in Security, Usability, and Usable Security.

    Adviser
    Kent Seamons
    GPA
    3.97
  2. 2005–2006 MSc in Information Systems and Operations Management

    The Hong Kong University of Science and Technology

    Topics covered included IT strategy and management, Project, Workflow, and Innovation Management, Computer and Internet Security, Logistics and Supply Chain management, and Business Strategy.

    GPA
    10.60/12 (equivalent to 3.87 per the IERF)
  3. Summer 2001–Spring 2005 BSc in Computer Science

    Brigham Young University

    Elective senior courses in Networking, AI, Machine Learning, Databases, and Digital Signal Processing. Focused on becoming an embedded systems programmer and understanding the foundational underpinnings of modern computer systems and protocols.

    GPA
    3.38 (85%)

Topics I can comfortably teach

Professional Experience

Teaching

  1. Class
    CS111 at Brigham Young University
    Semester/Term
    Spring 2023
    Acomplishments

    Adapted the class for a half-semester and taught it. Starting with nearly 100, we had 56 students at the end. The students rated me at a mean of 3.9 (3.5–4.3) out of 5 (the department average is 4.2–4.7). Students received an average GPA of 3.06.

Research

  1. 2019–Present Research Assistant

    Work with and mentor other students in the lab while designing and conducting experiments under the guidance of Dr Kent Seamons.

  2. 2006 Research Assistant

    Wrote a program which assisted Dr Paul Forster by transforming 5 CDs of assorted files of mixed fixed width database entries into a searchable SQL database.

  3. 2005 Research Assistant

    Assisted Dr Theodore Clark by taking over and making changes in Skylords.com to investigate the effects of change on a closed market. Added a marketplace, defensive and production buildings, and adjusted various constants under Dr Clark's direction.

Programming

Languages and Skills

Employment:

  1. Company
    GarageSmart
    Duration
    November 2018–30 August 2019
    Title
    Programmer
    Language
    C
    Decription

    Wrote firmware to communicate (over BLE advertising packets) between the motor controller microprocessor (nRF52) and the phone app for IoT smart home blinds. Conducted a security review and fixed design issues in the secure communications protocol, implemented those fixes in the embedded code, and assisted the Android and iOS developers to make the minimal needed changes on their side. Designed a new secure offline pairing system from scratch to meet requirements.

    Greatest Accomplishment
    Redesigned the new proposed secure communication protocol to communicate securely.
  2. Company
    New Vistas/Tesseract Group/Hall Labs
    Duration
    November 2015–November 2018
    Title
    Senior Software Engineer/Principal Software Engineer
    Language
    NodeJS, a little C#
    Decription

    Hired to rewrite PHP accounting and timesheet application in NodeJS without source or spec save some designs. Project changed after a year or so to use deepstream + RethinkDB, then about 8 months later to LoopBack, then was somewhat canceled/shelved. Worked next on a glue app to bind disparate services to replace the PHP code (using express), and also on a UWP (C#/XAML) kiosk display app. When the Kiosk project died, moved to server software for network communications between an app and embedded systems. Continued to maintain the glue app alongside embedded development and after.

    Greatest Accomplishment
    The glue app was still running in production last I checked.
  3. Company
    Self Employed
    Duration
    July 2013–November 2015
    Language
    Python, PHP, C
    Decription

    Find clients, implement code per requirements, tracking time used and minimizing client costs. Practice new languages, frameworks, and tools.

    Greatest Accomplishment
    Implemented control software for a custom USB controller on a Teensy LC.
  4. Company
    Intuiplan (now Jolt)
    Duration
    April 2013–July 2013
    Decription

    I worked mostly on the complicated syncing logic behind the Intuiplan system. I worked well with Yii, new to me at the time, and was able to make improvements to the site architecture. Additionally, I taught myself how and implemented many unit tests across the legacy codebase.

  5. Company
    InsideSales.com
    Duration
    January 2012–April 2013
    Title
    Software Engineer
    Language
    PHP
    Decription

    I worked on the main Lead Management Platform product in a team of 5 developers for approximately 4 months, then filled a need supporting responseaudit.com for several months, beta testing our internal design framework. I significantly reduced the data entry workload of auditing a company using a bookmarklet, with a significant chunk of domain knowledge to fill in form fields. The bookmarklet was successful enough that the completely automatic web crawler and form filler was shelved, and I was moved over to work with another programmer to pick up our internal management site rewrite. Over 6 months or so we juggled with the code into a fairly readable state, while porting the bulk of the remaining features from the old site over. In the end I was placed in the new R&D department, to help iron out and alpha test the design of another new internal framework.

    Greatest Accomplishment
    Found a creative solution to bulk data entry in the ResponseAudit tool, using a bookmarklet to inject intelligent JS which would be verified by human intelligence.
  6. Company
    ZAGG, Inc
    Duration
    July 2011–December 2011
    Title
    Web Developer
    Language
    PHP
    Decription

    Maintain zagg.com, access various external APIs (memorably Best Buy's), introduce and maintain new APIs. Wrote and carefully tested a sed script to clean up inconsistent whitespace formatting across our software. Cut one significant file down from 4000 lines to just over 2000 lines of mixed HTML and PHP by careful analysis and understanding, and encapsulating some behavior into a pair of classes.

    Greatest Accomplishment
    Patch for PHP bug #49853 was released in PHP 5.3.11.
  7. Company
    Hit Web Design/Heritage Internet Technologies
    Duration
    September 2008–March 2011
    Title
    PHP Programmer III/Lead Programmer
    Language
    PHP
    Decription

    Architect and implement custom database driven websites for clients. Complete/rescue projects abandoned by outsource programmers. Architect and build new framework for in house social networking product with extensive plugin support, working with a team. Build several new analytics products to sell to customers.

    Greatest Accomplishment
    Patent applied for CakePHP based AOP/plugin framework - my most difficult 300 lines of code.
  8. Company
    SkyLords.com
    Duration
    2008-current
    Title
    Primary Coder
    Decription

    I hate seeing websites go offline - thus I obtained permission to take over Skylords once the university was no longer interested in it. Keep site online, fixing any bugs which develop due to deprecated code. Manage backups, redundancy, hosting costs, etc. Keep in contact with community, implement new features, and improve code structure. In maintenance mode as my focus is elsewhere at present.

    Greatest Accomplishment
    Got email working from a home server for a time.
  9. Company
    Hong Kong University of Science and Technology
    Title
    Research Assistant
    Duration
    2005–2006
    Decription

    Develop and support the SkyLords.com website. Convert a collection of similar flat file databases across 5 CDs into a single relational database.

    Greatest Accomplishment
    Wrote a program to handle arbitrarily nested zipped files, find and parse the various data file formats.