In parallel to research, I love to learn new programming languages and technologies.
Here are some languages I know, in reverse chronological order, and some sample projects:
- Python (2016-2021): Simulations in various research-related topics, including:
- Fairpy - a library of fair division algorithms;
- Bitcoin and its new Lightning network;
- Social choice and preference profiles;
- Auctions and market equilibria.
-
Java 8 (2017-2018): a course in object-oriented programming.
-
Jekyll (2016): this website, featuring bilingual support.
-
SageMath (2015-2016): an automatic prover for our envy-free cake-cutting algorithm.
- Node.js (2013-2016): the infrastructure for negochat, as well as:
- limdu - a machine-learning framework;
- computational-geometry - covering algorithms and 2-D fair cake-cutting.
- PHP+MySQL+Javascript+CSS (2005-2016): many websites, for example:
- MeeZoog - a dating site powered by our social network trust patent.
- Temple Mount Sifting Project Unidentified Finds Research Forum.
- Textia - a wiki-game that anyone can edit.
- Tanakh Navigation Kit and my Tanakh Navigation Site.
-
Perl (2007-2014): automatic testing scripts for MeeZoog and bots for WikiSource.
- Java 6 (2011-2013): natural-language projects, including:
-
NetLogo (2011-2012): agent-based simulations of land division and Jubilee simple and with income effects.
-
C++: my M.Sc. thesis (1997-1999), real-time programming during my IAF service (1999-2004) and teaching systems programming (2018-2021).
-
Matlab (1999-2004): simulation programming during my IAF service.
- BASIC (1982): my first programming language :)