The Avail Programming Language
Richard A. Arriaga
Copyright © 2014 Richard A. Arriaga.


Rich can be emailed by humans at The Avail Foundation.


  • M.S. Mathematics, Cleveland State University, 2009
  • B.A. Mathematics, University of South Florida, 2005
  • B.A. Classical Civilizations, Florida State University, 2001

Career Profile

Areas of expertise include:

  • Data modeling
  • Database application development
  • Application architecture
  • Asynchronous/concurrent application design/development
  • Framework design/development
  • Object-oriented analysis, design, and implementation
  • Data analysis and transformation
  • Programming language library design and implementation
  • NoSQL databases
  • Object-oriented/contextual databases
  • Relational databases
  • Technical project management
  • Technical requirements gathering
  • Developing systems from strict specifications
  • Interface development from published API specifications
  • Production system operations management
  • Production system maintenance
  • Software version control

Technical Profile

UNIX (Linux, Mac OS X, Ubuntu)
Windows 2000 / XP / Server 2003 / Server 2008 / Server 2012 / Vista / Windows 7 / Windows 8
VisualWorks® Smalltalk

Work History

The Avail Foundation Madison, Wisconsin 2011 to present
Role: Software Engineer, Co-Founder, Chief Financial Officer
Environment: Windows 7 / Windows 8, Mac OS X 10.5 — 10.10, Linux. Java, Avail, Git, Eclipse Galileo / Helios / Indigo / Juno / Kepler / Luna/ Mars.
(N.B. The Avail Foundation formally came into existence in 2012, but I began working on Avail in 2011.)
  • Assists in the design and implementation of the Avail library.
  • Develops primitives in Java for the Avail virtual machine.
  • Develops example applications in Avail such as the first Avail DSL.
  • Designed and implemented the Avail abstract codec infrastructure including UTF-8 support.
  • Developed Stacks, a comment parser that analyzes Avail source code to generate web-ready library documentation.
  • Creates documentation and website content.
  • Initiated and managed the legal creation of the Avail Foundation, LLC.
  • Manages the finances and the business operations for the Avail Foundation, LLC.

My Coverage Plan Madison, Wisconsin June 2016 to Present
Role: Senior Application Developer
Environment: Mac OS X, IntelliJ, Java, Apache Cassandra, Avail, Typescript, Javascript, WebSockets, JSON, Git, Atlassian JIRA, Atlassian Crucible, Atlassian BitBucket, Gitlab, JUnit

Design, implement, maintain, and support commercial products related to the Guruler platform, an application development platform that integrates a powerful rule engine with a high-performance server and a distributed database. The platform tightly integrates: a compiler for a strictly-typed, high-performance domain-specific language (DSL) designed to enable non-technical subject matter experts (SMEs) to develop complex rulesets and formulae; a suite of development tools, including visualization tools for understanding networks of rules and associated state variables; a customizable, asynchronous, parallel rule engine; a high-throughput, deadlock-free, asynchronous, WebSocket-enabled application server; a fully auditable, blob-oriented, distributed, multi-tenant database that automatically generates and maintains indices and data stores in accordance with query and reporting rules defined in the DSL; user-customizable data exports; data aggregation; and a skinnable modern web client. The system supports live and automated intake by multiple simultaneous users, potentially editing through disparate semantic views, and generates appropriate reports, alerts, and events. The system implements a uniform security policy that crosscuts all application layers. The main product built on the platform is the eponymous Advocus™, a customer decision support tool intended to help advocates and patients to secure healthcare benefits.

  • Architected and developed interface for dynamic generation of database tables and indices that integrate into a fully auditable, blob-oriented, distributed, multi-tenant database; developed Cassandra driver to interact with the Guruler platform.
  • Architected and developed a system that supports live and automated intake by multiple simultaneous users, potentially editing through disparate semantic views with shared state.
  • Architected and developed a data export system with an extensible export format interface which allows users to define custom-savable data exports on the client in order to export data from the system.
  • Architected and developed a concurrent data injection system with dynamically code generated client-defined data filters for injecting select data from the database into both the data export system and the data aggregation system.
  • Architected and developed a configurable concurrent data migration tool that reads targeted data from the database and passes it down a user-defined operator pipeline that transforms the data before rewriting it back to the database.
  • Architected and developed a notification system that processes email notifications to users in near real-time.
  • Developed the majority of the asynchronous, continuation-passing message processor for communicating with clients.
  • Developed centralized, server-side, continuation-passing, in-memory data store used for caching database data by all active client channels.
  • Developed client channel-specific free list cache that cooperates with the main server data store to provide shared data and channel specific data to the client.
  • Architected and developed a watchlist system for managing user worklists that tracks changes to items in the watchlist, optionally notifying users of updates via email notifications.
  • Architected and developed a templating language for configuring tenant-specific content.
  • Architected and developed a DSL for defining unit tests for subject matter expert (SME) authored rule-sets, that code generates Java test classes that can be run in the JUnit 5-based automated test runner.
  • Participated in the institutionalization of IT technical infrastructure of My Coverage Plan, Inc.
  • Participated in business development relative to the My Coverage Plan product suite.

Great Lakes Higher Education Corporation Madison, Wisconsin November 2015 to June 2016
Role: Senior Programmer Analyst
Environment: Windows 7, Eclipse, Java, J2EE, Spring, Maven, Websphere, DB2, Mainframe, HTML, CSS, Javascript, Angular, Atlassian JIRA, Atlassian Fisheye, Atlassian Crucible, SVN, REST, JSON, SQL

Great Lakes Higher Education is non-profit student loan servicer with a large technical infrastructure for developing and supporting forward facing borrower web applications as well as internal data-driven business applications.

  • Served as technical lead:
    • Interfaced with clients to establish project goals.
    • Architected solutions based upon client requirements.
    • Combined client requirements and solution architecture to develop technical project plans.
    • Created technical tasks and assigned them to appropriately-skilled team members, including myself.
    • Designed test plans to test application functionality to ensure compliance with product specifications.
    • Acted as a technical mentor to help junior team members develop both technical and project management skills.
    • Inherited and re-architected products in order to address client’s evolving needs.
  • Designed and developed a framework for a flexible type-safe copybook generator/parser that could transform Java objects into correctly formatted copy books for input into COBOL stored procedures as well as instantiate Java objects from copybook files.
  • Designed and developed framework for automatically transforming timestamps between UTC and localized time zone to compensate for variations due to lack of UTC support in DB2.
  • Acted as a technical resource for other developers to discuss design and implementation strategies for projects external to my own.

MIOsoft Corporation Madison, Wisconsin 2009 to 2015
Role: Software Engineer
Environment: Windows XP / Windows Vista / Windows 7 / Windows 8 / Server 2003 / Server 2008 / Server 2012, Mac OS X, Ubuntu, VisualWorks® Smalltalk 7.4 / 7.6 / 7.8 / 7.9 / 7.10, JavaScript, Java.

MIOsoft's MIOedge® cloud platform subsumes a very large scale, high-performance parallel/distributed database engine.

  • Designs, implements, and manages the operations of customer database applications.
  • Designed and implemented a framework for developing database applications. The framework provides support for
    • Security via authorization and authentication of users and services
    • Managing and processing client API calls to the server application over REST and WebSocket
    • Error handling and reporting for client API calls to the server utilizing system defined status codes
    • Generating client code for calling server APIs
    • Automatic unit testing for self-contained services
    • Automatic launch of debugging software upon a server error in a development environment
    • Automatic creation of JSON responses to client API requests
    • Generating Universally Unique Identifiers per RFC 4122
    • Building correct JSON with detailed error reporting
  • Designed and developed a generic user account management system that allows for both individual and organizational accounts in the same application
    • Separates the user and the account allowing a single user login to have access to multiple accounts
    • Account level access restricted via configurable account permission profiles allowing users to have different permissions per account
    • Compartmentalizes user session by account via management of session cache to prevent access to unauthorized account operations
    • Provides API integration to Stripe to enable credit card payments at the account level
  • Designed, developed, and implemented a generic, versioned, metadata-driven business logic engine.
  • Designed and developed a MIOedge-based client profile delta calculus to concurrently process point-in-time client data.
  • Utilizes MIOedge for large-scale data integration originating from a variety of disparate sources.
  • Designed and developed a generic, metadata-driven XML generator for use on the MIOedge platform.
  • Designed and developed a data visualization package engine for the MIOedge platform.
  • HIPAA-compliant system design, development, and operations management.
  • Provides code maintenance on MIOedge as well as MIOedge platform applications.
  • Designs and provides technical training for use of MIOsoft's tools.
  • Manages development/operations team across three continents.
  • Manages operations staff and interns.

Progressive Insurance Mayfield Heights, OH 2006 to 2009
Role: Data Analyst
  • Helped lead an effort to implement policies that increased claims efficiency by 14%, resulting in $134 million in annual staff savings.
  • Used SAS to redevelop claims staffing model that determines staffing levels for a 10,000-employee field claims organization.
  • Transferred national claims workload forecasting process from a manual, error-prone, Excel-based process to an error-free automated SAS process.
  • Led project to transition reporting environment for business operations to a new environment specific to the new claims staffing model.
  • Served as the principal liaison to the field claims organization for all data reporting and analysis regarding the impact and the rollout of the new centralized claims unit.
  • Served as the staffing and capacity expert on a select team assembled to hone the company's competitive edge by refocusing the structural, technological, and cultural assets of Progressive.
  • Responsible for apportioning the $1.7 billion Progressive Claims Organization's FY2008 budget.
  • Received companywide award for developing interactive budgeting tool that ran staffing-based cost scenarios for senior management.
  • Acted as lead analyst for the majority of claims staffing operational reporting.
  • Developed interactive monthly report for the CFO, detailing various staffing, workload, and financial metrics for all U.S. states.
  • Redeveloped, enhanced, automated, and effectively reduced the size of several workload and claims staff reports to increase usability for analysts and managers in the claims organization.

Progressive Insurance Bradenton, FL 2005 to 2006
Role: Special Lines Insurance Adjuster
  • Adjusted insurance claims across all Progressive product lines.
  • Completed property damage estimates for all Progressive product lines.
  • Received Quarterly Customer Service Award, for having one of the highest rated customer service index scores of Progressive insurance adjusters nationwide.
  • Was member of Special Lines Team recognized in three different quarters for having one of the highest nationwide customer service satisfaction ratings.