My primary research interest is Formal Verification and in particular Model Checking based on Satisfiability Modulo Theory.
I find distributed, parallel and cloud computing fascinating.
These fields address difficult problems, some of which are undecidable.
This is one of the reasons why I am particularly interested in the algorithms and techniques developed in these contexts.
I am passionate about data-security and I deeply care about technologies that allow users to be in control of their own data.
I like programming and I am curious about the different features that languages implement.
In general I prefer strongly typed, compiled languages over scripting, interpreted languages.
However, the language I am using the most is Java, followed by Python3, C++ and C.
I am learning Rust, but haven't used it in any medium / large project yet.
I really like the way Rust addresses the resource management problem.
Also I am really looking forward to the development of software verification tools for Rust.
Here are some tools in this space:
Kani,
haybale,
verus,
prusti.
Some interesting languages I tried are:
Go,
Ivy,
Dafny,
OCaml,
Haskell,
and of course, as every Emacs user, I've also hacked around Lisp.