What is this graph

About Me

Between 2017 and July 2021 I was an R&D software developer at Agilent Technologies (formerly Genohm).

In June 2017 I obtained a master's degree in computer science from EPFL in the LAMP lab. In my thesis I simplified conceptually a polymorphic safe-and-precise effect system.

In 2015 I obtained a bachelor's degree in computer science and a minor in mathematics from AUB. My bachelor's graduation project was to design and implement a quantum functional language.

I would eventually like to do a PhD, research, or teach programming languages techniques or mathematics. I discovered and self-taught myself how to program at the age of 14. I love to share what I learn with anyone interested.

I am an avid reader, my Goodreads profile lists all my non-technical interests (those outside of CS and math). I speak/read fluently three (natural) languages: English, French, and Arabic.

In my spare time, when I'm not reading or programming, I play Go, snooker, and the mandolin.

Academic Interests

And in general anything "exotic".

Technical Knowledge and Setup

I am proficient in many programming paradigms; functional, imperative, and object-oriented, with preference to functional languages. I mainly use Python for small applications, Bash for write-once-execute-once code, C and D for any heavy lifting, Octave for quick plotting and mathematical computations and Haskell for any type-theoretic experiments and programs that must be correct. I am proficient in these programming/scripting/markup languages:

My primary editor is Vim.

I live in the command line (with the help of tmux) most of the time.


What is this graph above?

This graph represents a 69-state machine, in fact, a quantum Turing machine [PDF]. It's a machine that abides by the laws of quantum mechanics. This machine can be thought of performing the following algorithm on each superposition |k,x⟩ in a 6-dimensional Hilbert space

x ∈ ℕ8
k ∈ ℕ8
while |x-k| < 4:
    x := x + 1   mod 8
This machine is significant because it is the first QTM that exhibits conditional looping (I couldn't find any), and it sheds some light on the inverse of decidable programs (the inverse of a decidable program can be proven to be sometimes undecidable).