David J. Paola

Transactions as a service

Database transactions are pretty awesome. They’re useful in all sorts of scenarios, from concurrency to exception handling. Software-Transactional-Memory is similarly awesome – transactions for memory.

I want transactions for everything.

Imagine doing this in the shell:

$ begin transaction
$ echo "volatile value" > some_file.txt
$ git add . && git commit -m "volatile commit"
$ git push heroku master
$ end transaction

There are all sorts of reasons this won’t work. Imagine all the possible scenarios you’d need in order to make this happen – what happens if I curl -X POST <remote-site>? Can I undo a POST?

Yeah it would be really hard. But it wold rock.