Obsidian is a new programming language for blockchain smart contracts. I used user-centered design to integrate strong static safety features while maintaining usability.

Glacier is an extension to Java that supports transitive class immutability. I showed that Glacier can be used easily by Java programmers to detect accidental mutation of immutable structures.