Code | CV | Research
Technology in NJPh.D from 🐯Princeton Computer Science. B.S. from 🐻Cornell Computer Science
email: daniel@dantasfiles.com
Technical Guides & Occasional News
-
Exploring the backend specifications generated by AWS Amplify API
This post takes a complex example GraphQL schema and walks through the backend specifications that AWS Amplify generates from it. -
Using the API.ts Typescript types generated by AWS Amplify
We explore using Typescript with AWS Amplify API in React Native, with a particular focus on the types that AWS Amplify generates into API.ts -
Owner vs. Group Access Control in AWS Amplify API
This post compares the behavior of owner access control with group access control in the AWS Amplify API. -
Multi-Tenant AWS Amplify: Method 1: Cognito Custom Attributes
This is method 1 of 3 for creating multi-tenant AWS Amplify mobile apps in React Native. In this method, the tenant information is stored in an AWS Cognito custom attribute. -
Multi-Tenant AWS Amplify
This guide explores three methods for creating multi-tenant AWS Amplify mobile apps in React Native: Cognito custom attributes, Cognito groups, and virtual Cognito groups -
Multi-Tenant AWS Amplify: Method 2: Cognito Groups
This is method 2 of 3 for creating multi-tenant AWS Amplify mobile apps in React Native. In this method, each tenant has a Cognito group associated with it. -
Multi-Tenant AWS Amplify: Method 3: Virtual Cognito Groups
This is method 3 of 3 for creating multi-tenant AWS Amplify mobile apps in React Native. In this method, each tenant has a virtual Cognito group associated with it. -
Switching from Wordpress to Medium
-
Retrieving user information from AWS Amplify authentication
This is a guide to three methods of retrieving user information from AWS Amplify authentication: Auth.currentSession(), Auth.currentUserInfo, and Auth.currentAuthenticatedUser() -
Provided feedback on draft programming languages textbook, which was incorporated into final version
-
Language Support for Processing Distributed Ad-hoc Data published at ACM Principles & Practice of Declarative Programming (PPDP)
This paper presents the design, theory and implementation of Gloves, a domain-specific language that allows users to specify the provenance (the derivation history starting from the origins), syntax and semantic properties of collections of distributed data sources. -
Language Support for Processing Ad Hoc Data published as preprint
This paper presents PADS/D, a system that generates monitoring, analysis and transformation tools for distributed ad hoc data from declarative specifications. The system generates libraries for application developers, including modules for parsing, printing, error management, data traversal and transformation which developers can use to create their own application-specific tools. -
AspectML: A Polymorphic Aspect-oriented Functional Programming Language published at ACM Transactions on Programming Languages & Systems (TOPLAS)
This article defines AspectML, a typed functional, aspect-oriented programming language. The main contribution of AspectML is the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. -
AFOSR Continues History of Success with NDSEG Fellowship Program
NDSEG is a Department of Defense (DoD) fellowship program that funds graduate students to improve our nation's science and engineering education. AFOSR selected Dr. Daniel Dantas as an NDSEG Fellow in computer science. Dr. Dantas' research focused on using aspect-oriented programming languages for computer security. -
A Simple & Expressive Semantic Framework for Policy Composition in Access Control published at ACM Formal Methods in Security Engineering (FMSE)
In defining large, complex access control policies, one would like to compose sub-policies, perhaps authored by different organizations, into a single global policy. We define an access control policy as a four-valued predicate that maps accesses to either grant, deny, conflict, or unspecified. -
Analyzing Security Advice in Functional Aspect-oriented Programming Languages presented as Ph.D thesis at Princeton Computer Science
This thesis extends functional programming languages with aspect-oriented features, primarily to explore aspect-oriented enforcement of security policies. -
Harmless Advice published at ACM Principles of Programming Languages (POPL)
This paper defines an object-oriented language with harmless aspect-oriented advice. The paper also presents an implementation of the language and a case study using harmless advice to implement security policies. -
PolyAML: A Polymorphic Aspect-oriented Functional Programmming Language published at ACM International Conference on Functional Programming (ICFP)
This paper defines PolyAML, a typed functional, aspect-oriented programming language. The main contribution of PolyAML is the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. -
Teaching Assistant for 🐯Computer Science: An Interdisciplinary Approach
An introduction to computer science in the context of scientific, engineering, and commercial applications. Topics include: programming in Java; hardware and software systems; algorithms and data structures; fundamental principles of computation; and scientific computing, including simulation, optimization, and data analysis. -
Analyzing Polymorphic Advice published as preprint
We take one of the first steps towards developing a practical, statically-typed, functional, aspect-oriented programming language by showing how to integrate polymorphism and type analysis with aspect-oriented programming features.