What is this graph

PhD student at the Programming Group in the School of Computer Science -
University of St. Gallen

Alumni of EPFL and AUB

Alumni of EPFL and AUB

[first].[last]@unisg.ch

In August 2021 I joined the Programming Group at the University of St. Gallen, Switzerland as a PhD student where I'm supervised by Guido Salvaneschi.

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

In June 2017 I obtained a master's degree in computer science from the École polytechnique fédérale de Lausanne (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 the American University of Beirut (AUB). My bachelor's graduation project was to design and implement a quantum functional language.

Ideally I would like to be actively engaged in computer science research, or teach programming (languages) techniques or mathematics.

I discovered and taught myself how to program at the age of 14 through unconventional means. As a result everytime I hear about the work of others or share my own I learn of yet another approach to programming. So consider this an active invitation to be contacted; if you have an idea or project you want to talk about then consider me interested, so reach out!

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.

- Formal Study of Programming Languages,
- Mathematical Logic (and its relation to programming),
- Quantum Computation from the perspective of computability and complexity. Here's an introductory article about
Quantum Computation
^{[PDF]}, - Numerical Simulations.

And in general anything "exotic".

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:

- C, D, Haskell, Scheme, Java
- Python, Bash, Javascript, PHP
- HTML, CSS (and Sass), LaTeX, and Markown

My primary editor is Vim.

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

**System F-CA**My masters thesis that builds on the work of Fengyun Liu where we design a precise-and-safe polymorphic effect system using capabilities using one kind of functions (*kind*here does not refer to the standard type-theoretic definition).**MG-QTM Simulator**Simulates MG-Quantum Turing Machines and visualises them. MG-QTMs are more general SR-QTMs^{[PDF]}. For the visualization of the graph I used a Forced-Directed Graph Drawing Algorithm^{[PDF]}.*[Completed but not released yet]***Braqet**A quantum functional programming language whose type system is based on a linear type system.*[In Progress]***Steg**text-to-text steganography tool; hiding text in plain sight. [Source Code]**Damncheck**A property-based testing library for D. [Source Code]**Simulation of a Quantum Particle in a Box**[Source Code] [PDF Report]I found the first 5,087,137 digits of*e*Project*e*in ~1hr29min. In 2019 I wrote a parallel version that descreases the runtime linearly with the number of processes and ended up finding the same digits in 27min5sec with 8 threads. [Talk]**GodHands**Displays 3D models in anaglyph. [Source Code] [Demo]

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 ∈ ℕ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)._{8}k ∈ ℕ_{8}while |x-k| < 4: x := x + 1 mod 8