code | cv | research
I enjoy exploring, diagnosing & transforming large, complex software projectsPh.D from 🐯Princeton Computer Science. B.S. from 🐻Cornell Computer Science
email: daniel@dantasfiles.com
Technical Guides & Occasional News
-
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. -
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() -
Created a GitHub pull request to fix an existing Chrome extension
-
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. -
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. In 2003, 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. -
Provided feedback on draft programming languages textbook, which was incorporated into final version
-
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 Princeton COS 126: Computer Science: An Interdisciplinary Approach
The course uses the Java programming language to introduce fundamental programming concepts, including conditionals, loops, arrays, functions, and object-oriented programming. Additional topics include algorithms and data structures, theory of computing, hardware and software systems, and machine learning. -
Harmless Advice published at ACM Foundations of Object-oriented Languages
This paper develops a simple object calculus with harmless aspect-oriented advice. A piece of harmless advice is a computation that, like ordinary aspect-oriented advice, executes when control reaches a designated control-flow point. -
Teaching Assistant for Princeton COS 326: Compiling Techniques
Concepts include syntax analysis, semantics, code generation, and optimization. Translation of imperative languages (such as C), functional languages (such as ML), and object-oriented languages (such as Java) will be studied. -
New Wu and Upton fellows welcomed to Princeton campus
The Gordon Y.S. Wu Fellowship and the Francis Lothrop Upton Fellowships are given to graduate students in engineering. -
On the Need for System-Level Support for Ad-hoc & Sensor Networks published at ACM Operating Systems Review (OSR)
We are currently designing and implementing a distributed, power-aware, adaptive operating system, called MagnetOS, specifically targeting ad hoc and sensor networks. MagnetOS provides a single system image of a unified Java virtual machine across the nodes that comprise an ad hoc network.