The machine stops (1909, PDF link)

Programming on Parallel Machines; GPU, Multicore, Clusters and More

The moral character of cryptographic work (2015)

Practice-Oriented Provable Security and the Social Construction of Cryptography, Rogaway

The Moral Character of Cryptographic Work

The Machine Stops (1909)

Mining Semantic Loop Idioms (2018)

A Guide to Writing Mathematics

Five things we need to know about technological change (1998)

Input and Output Block Conventions for AES Encryption Algorithms (1999)

Finding Error-Handling Bugs in Systems Code Using Static Analysis (2012)

The Moral Character of Cryptographic Work

Five Things We Need to Know About Technological Change (1998)

Combining Symbolic Execution and Model Checking for Data Flow Testing (2015)

From Algorithms to Z-Scores: Probabilistic and Statistical Modeling in Computer Science

From Linear Models to Machine Learning (draft)

EMI-based Compiler Testing

Programming on Parallel Machines: GPU, Multicore, Clusters and More

Robust Programming in C

The Moral Character of Cryptographic Work

The Moral Character of Cryptographic Work

Fast Lane to Python - A quick, sensible route to the joys of Python coding

A Guide to Writing Mathematics

Code_swarm: An experiment in organic software visualization

TrustDavis: A Non-Exploitable Online Reputation System [pdf]

A Large Scale Study of Programming Languages and Code Quality in GitHub [pdf]

Neil Postman: Things We Need to Know About Technological Change (1998) [pdf]