This is a work in progress.
Currently, I am a Ph.D. student in the Software Engineering Laboratory at NTUA advised by Associate Professor Kostis Sagonas. My primary research interests are in the fields of Programming Languages Theory and Implementation. More precisely:
You can grab a PDF version of this CV from here.
For an updated list of papers, talks and other publications please visit the relevant page.
Greek Research and Academic Network (GRNET) (Feb. 2015 – present)
RELEASE: A High-level Paradigm for Reliable Large-scale Server Software (Nov. 2011 – Feb. 2015)
This an EU FP7 STREP (287510) project that aims to scale the radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines. Project partners include Heriot-Watt, Ericsson, Uppsala Universitet, Kent University, Erlang Solutions Ltd., National Technical University of Athens, and EDF (France).
ErLLVM (2011 – 2012)
A project aiming at providing multiple back ends for High Performance Erlang (HiPE), the native code compiler of the Erlang/OTP system, with the use of the LLVM infrastructure.
Various, mostly minor, contributions to open source projects Erlang/OTP, Ganeti, LLVM, etc.).
During my studies in School of Electrical and Computer Engineering at NTUA I have implemented many projects (on my own or in collaboration with some colleages) as part of various lessons.
Some of the most interesting ones (projects i enjoyed the most :) are listed below:
Implementation of a Compiler for Tony, a Python-like language (with semantics of call-by-reference, dynamically allocated types and garbage collection) in OCaml. Part of Compilers lesson. Source and language specification: [source]
Implementation of the Hindley-Milner Algorithm for simply typed λ-calculus in Haskell. Part of Programming Languages II lesson. [source]
Efficient implementation of the Travelling Salesman Problem (TSP) O(n22n) algorithm in C. [source]
Implementation of Database Management System (DBMS) in Python, Qt4 and PostgreSQL. Part of Database Systems lesson. [source] (Greek)
A device driver for a virtual character serial device for the Linux Kernel. The driver is implemented as a kernel module. Part of Operating Systems Laboratory lesson. [source] and [report] (Greek)
Design and implementation of an infrastructure to mark processeses that do not need files they own to be cached in memory. In that way, processes that need to be re-executed won’t “stall” waiting for their files to be cached-in again (because they were forced to swap-out by other “marked” processed). The infrastructure is called “Curse” and is implemented as a kernel patch for 2.6.37 Linux Kernel. Part of Operating Systems Laboratory Lesson. design, source, report (Greek)
I used to be an Administrative member of the Free and Open Source Software community of the National and Technical University of Athens. In the past, I ’ve organised and attended various Community conferences and presentations in Greece, such as FOSSCOM, Eellak conference, etc. Nowadays, I strive to remain an active FOSS community member and regularly catch myself discussing and hacking with the gang (along with beers or tsipouro!) :-)
Except for the academic and geeky stuff: