summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Aristote <quentin@aristote.fr>2022-11-11 17:27:34 +0100
committerQuentin Aristote <quentin@aristote.fr>2022-11-11 17:27:34 +0100
commit102ed4e7d78dd17ce8ce9e0b928f5123e94d0cfa (patch)
tree357bafdd2f40ca3504748998e8c9d704198a485d
add initial data
-rw-r--r--basics/default.nix65
-rw-r--r--default.nix17
-rw-r--r--education/2016-09_llg.nix12
-rw-r--r--education/2018-09_ens/2018-09_l3.nix36
-rw-r--r--education/2018-09_ens/2019-09_m1.nix39
-rw-r--r--education/2018-09_ens/2021-09_m2.nix36
-rw-r--r--education/2018-09_ens/default.nix21
-rw-r--r--education/default.nix3
-rw-r--r--experience/2019-06_lis.nix30
-rw-r--r--experience/2020-03_nii.nix28
-rw-r--r--experience/2022-03_irif.nix25
-rw-r--r--experience/2022-09_tweag.nix17
-rw-r--r--experience/default.nix8
-rw-r--r--files/avatar.jpgbin0 -> 958764 bytes
-rw-r--r--files/keys/pgp/DFC1660846EEA97C059F18534EF515441E635D36.pub66
-rw-r--r--files/keys/ssh/qaristote@latitude-7490.pub1
-rw-r--r--files/publications.json6
-rw-r--r--languages/default.nix3
-rw-r--r--languages/english.nix7
-rw-r--r--languages/french.nix7
-rw-r--r--languages/japanese.nix7
-rw-r--r--publications/default.nix29
-rw-r--r--publications/publications.json6
23 files changed, 469 insertions, 0 deletions
diff --git a/basics/default.nix b/basics/default.nix
new file mode 100644
index 0000000..c580f18
--- /dev/null
+++ b/basics/default.nix
@@ -0,0 +1,65 @@
+{ href, file, ... }:
+
+let
+ institution = {
+ position = "student in Theoretical Computer Science";
+ name = "École Normale Supérieure";
+ url = "https://www.ens.psl.eu/en";
+ };
+in {
+ inherit institution;
+ email = [
+ {
+ name = "academic";
+ address = "quentin.aristote@ens.fr";
+ }
+ {
+ name = "personal";
+ address = "quentin@aristote.fr";
+ }
+ ];
+ avatar = file "avatar.jpg";
+ location = {
+ number = "45";
+ street = "rue d'Ulm";
+ city = "Paris";
+ postalCode = "75230 CEDEX 05";
+ country = "France";
+ };
+ profiles = [
+ {
+ network = "GitLab";
+ url = "https://git.eleves.ens.fr/qaristote";
+ username = "qaristote";
+ }
+ {
+ network = "GitLab";
+ url = "https://gitlab.math.univ-paris-diderot.fr/aristote";
+ username = "aristote";
+ }
+ {
+ network = "GitHub";
+ url = "https://github.com/qaristote";
+ username = "qaristote";
+ }
+ ];
+ keys = let
+ getKeyFiles = type: keys: {
+ "${type}" = builtins.foldl'
+ (tmp: name: tmp // { "${name}" = file "keys/${type}/${name}.pub"; }) { }
+ keys;
+ };
+ in getKeyFiles "pgp" [ "DFC1660846EEA97C059F18534EF515441E635D36" ]
+ // getKeyFiles "ssh" [ "qaristote@latitude-7490" ];
+ name = "Quentin Aristote";
+ url = "https://quentin.aristote.fr/";
+ description = ''
+ I am a student at the ${
+ href "https://www.di.ens.fr/" "Computer Science Department (DI)"
+ } of the ${with institution; href url name}, an institution part of ${
+ href "https://psl.eu/en" "PSL University"
+ }.
+
+ I am mainly interested in applying abstract mathematical theories (e.g. category theory) to computer science in order to get new results for free. I am also interested in practical computer science and enjoy programming using functional languages as well as tinkering with systems.
+ '';
+}
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..f2d9b6c
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,17 @@
+{ markup, pkgs, ... }:
+
+let
+ files = ./files;
+ commonArgs = markup // { inherit files make pkgs; inherit (pkgs) lib; };
+ make = path: overrides:
+ let f = import path;
+ in f ((builtins.intersectAttrs (builtins.functionArgs f) commonArgs)
+ // overrides);
+in {
+ inherit files;
+ basics = make ./basics { };
+ publications = make ./publications { };
+ experience = make ./experience { };
+ languages = make ./languages { };
+ education = make ./education { };
+}
diff --git a/education/2016-09_llg.nix b/education/2016-09_llg.nix
new file mode 100644
index 0000000..9a13202
--- /dev/null
+++ b/education/2016-09_llg.nix
@@ -0,0 +1,12 @@
+{ href, ... }:
+
+{
+ date = { start = "2016-09-01"; end = "2018-07-31"; };
+ institution = {
+ name = "Lycée Louis-le-Grand";
+ location = "Paris, France";
+ url = "https://www.louislegrand.fr/";
+ };
+ studyType = "Higher Schools Preparatory Classes";
+ description = "MPSI - MP* (Mathematics, Physics & Computer Science)";
+}
diff --git a/education/2018-09_ens/2018-09_l3.nix b/education/2018-09_ens/2018-09_l3.nix
new file mode 100644
index 0000000..40643b5
--- /dev/null
+++ b/education/2018-09_ens/2018-09_l3.nix
@@ -0,0 +1,36 @@
+{ ... }:
+
+{
+ date = {
+ start = "2018-09-01";
+ end = "2019-07-31";
+ };
+ program = {
+ name = "ENS's Computer Science Department";
+ acronym = "DIENS";
+ studyType = "Bachelor's degrees in Computer Science and Mathematics";
+ url = "https://diplome.di.ens.fr/index_en.html";
+ };
+ courses = {
+ "Computer Science" = [
+ "Machine Learning"
+ "Databases"
+ "Formal Languages, Decidability & Complexity"
+ "Operating Systems"
+ "Algorithms & Programming"
+ "Cryptography"
+ "Programming Languages & Compilation"
+ "Semantics & Verification of Programs"
+ "Hardware Systems"
+ ];
+ Mathematics = [
+ "Algebra (Groups)"
+ "Complex Analysis"
+ "Measure Theory"
+ "Topology & Differential Calculus"
+ "Information Theory"
+ ];
+ };
+ description =
+ "Graduated with highest honors in Computer Science (17.80/20), with honors in Mathematics (14.74/20)";
+}
diff --git a/education/2018-09_ens/2019-09_m1.nix b/education/2018-09_ens/2019-09_m1.nix
new file mode 100644
index 0000000..f58e7ea
--- /dev/null
+++ b/education/2018-09_ens/2019-09_m1.nix
@@ -0,0 +1,39 @@
+{ ... }:
+
+{
+ date = {
+ start = "2019-09-01";
+ end = "2020-07-31";
+ };
+ program = {
+ name = "ENS's Computer Science Department";
+ acronym = "DIENS";
+ studyType = "First year Master's degree in Computer Science";
+ url = "https://diplome.di.ens.fr/index_en.html";
+ };
+ courses = {
+ "Computer Science" = [
+ "Random Structures & Algorithms"
+ "Path Planning in Robotics"
+ "Models & Algorithms for Networks"
+ "Deep Learning"
+ "Artificial Vision"
+ "Lambda Calculus & Categories"
+ "Combinatorial & Convex Optimisation"
+ "Parallel & Reactive Programming"
+ ];
+ Mathematics = [
+ "Functional Analysis"
+ "Dynamical Systems"
+ "Stochastic Processes"
+ "Differential Geometry"
+ "Algebra (Domains)"
+ "Logics"
+ "Data Science"
+ "Statistics"
+ "Partial Differential Equations"
+ "Algebraic Topology"
+ ];
+ };
+ description = "Completed with highest honors (18.20/20).";
+}
diff --git a/education/2018-09_ens/2021-09_m2.nix b/education/2018-09_ens/2021-09_m2.nix
new file mode 100644
index 0000000..734e944
--- /dev/null
+++ b/education/2018-09_ens/2021-09_m2.nix
@@ -0,0 +1,36 @@
+{ ... }:
+
+{
+ date = {
+ start = "2021-09-01";
+ end = "2022-07-31";
+ };
+ program = {
+ name = "Parisian Master of Research in Computer Science";
+ acronym = "MPRI";
+ studyType = "Second year Master's degree in Theoretical Computer Science";
+ url = "https://wikimpri.dptinfo.ens-cachan.fr/doku.php";
+ };
+ courses = {
+ "Computer Science" = [
+ "Denotational Semantics (Domains, Categories, Games)"
+ "Concurrency"
+ "Functional Programmming & Type Systems"
+ "Proof Systems"
+ "Proof Assistants"
+ "Non-Sequential Theory of Distributed Systems"
+ "Real-time & Hybrid Systems"
+ "Well Quasi-Orders & Algorithms"
+ "Approximation Algorithms"
+ "Molecular Algorithms"
+ "Finite Automata as Models"
+ "Game Theory"
+ "Quantum Computing"
+ "Proof of Programs"
+ "Programming Shared-Memory Multi-Threaded Machines"
+ "Probabilistic Programming"
+ ];
+ };
+ description =
+ "Graduated with highest honors (18.43/20), second of a highly-selective class of 70 students.";
+}
diff --git a/education/2018-09_ens/default.nix b/education/2018-09_ens/default.nix
new file mode 100644
index 0000000..6c5aa4a
--- /dev/null
+++ b/education/2018-09_ens/default.nix
@@ -0,0 +1,21 @@
+{ make, ... }:
+
+{
+ date = {
+ start = "2018-09-01";
+ end = "2023-08-31";
+ };
+ institution = {
+ name = "École Normale Supérieure";
+ url = "https://www.ens.psl.eu/en";
+ location = "Paris, France";
+ };
+ studyType = "Master's degree in Theoretical Computer Science";
+ years = builtins.map (path: make path { }) [
+ ./2018-09_l3.nix
+ ./2019-09_m1.nix
+ ./2021-09_m2.nix
+ ];
+ description =
+ "Took two gap years: one to follow additional postgraduate courses in Mathematics; one to do additional internships.";
+}
diff --git a/education/default.nix b/education/default.nix
new file mode 100644
index 0000000..ffe5dd9
--- /dev/null
+++ b/education/default.nix
@@ -0,0 +1,3 @@
+{ make, ... }:
+
+builtins.map (path: make path { }) [ ./2016-09_llg.nix ./2018-09_ens ]
diff --git a/experience/2019-06_lis.nix b/experience/2019-06_lis.nix
new file mode 100644
index 0000000..1f3da5d
--- /dev/null
+++ b/experience/2019-06_lis.nix
@@ -0,0 +1,30 @@
+{ ... }:
+
+{
+ date = {
+ start = "2019-06-01";
+ end = "2019-07-31";
+ };
+ institution = {
+ position = "research intern in Natural Computing";
+ name = "LiS Laboratory (UMR 7020), CNRS";
+ url = "https://www.lis-lab.fr/en/home/";
+ location = "Luminy, France";
+ };
+ supervisors = [{
+ name = "Giuseppe di Molfetta";
+ url = "https://www.giuseppe-dimolfetta.com";
+ }];
+ assets = [
+ {
+ name = "internship report";
+ id = "aristoteMarcheQuantiqueReseau2019";
+ }
+ {
+ name = "paper";
+ id = "aristoteDynamicalTriangulationInduced2020";
+ }
+ ];
+ description =
+ "Studied a quantum walker whose density changes its own environment.";
+}
diff --git a/experience/2020-03_nii.nix b/experience/2020-03_nii.nix
new file mode 100644
index 0000000..ae2a701
--- /dev/null
+++ b/experience/2020-03_nii.nix
@@ -0,0 +1,28 @@
+{ ... }:
+
+{
+ date = {
+ start = "2020-03-01";
+ end = "2020-07-31";
+ };
+ institution = {
+ position = "research intern in Applied Category Theory";
+ name = "ERATO MMSD, NII";
+ url = "https://group-mmm.org/eratommsd/";
+ location = "Tōkyō, Japan";
+ };
+ supervisors = [{
+ name = "Ichiro Hasuo";
+ url = "https://group-mmm.org/~ichiro/";
+ } {
+ name = "Jérémy Dubut";
+ url = "https://group-mmm.org/~dubut/";
+ }];
+ assets = [
+ {
+ name = "internship report";
+ id = "aristoteFibrationalFrameworkNested2020";
+ }
+ ];
+ description = "Studied a fibrational framework for nested fixed points and (bi)simulation notions for Büchi automata.";
+}
diff --git a/experience/2022-03_irif.nix b/experience/2022-03_irif.nix
new file mode 100644
index 0000000..cb06341
--- /dev/null
+++ b/experience/2022-03_irif.nix
@@ -0,0 +1,25 @@
+{ ... }:
+
+{
+ date = {
+ start = "2022-03-14";
+ end = "2022-07-31";
+ };
+ institution = {
+ position = "research intern in Applied Category Theory";
+ name = "IRIF (UMR 8243), CNRS";
+ url = "https://www.irif.fr/en/index";
+ location = "Paris, France";
+ };
+ supervisors = [{
+ name = "Daniela Petrişan";
+ url = "https:/www.irif.fr/~petrisan/";
+ }];
+ assets = [
+ {
+ name = "internship report";
+ id = "aristoteApplicationsCategoricalFramework2022";
+ }
+ ];
+ description = "Studied a categorical framework for the minimization and active learning of transition systems.";
+}
diff --git a/experience/2022-09_tweag.nix b/experience/2022-09_tweag.nix
new file mode 100644
index 0000000..01fb280
--- /dev/null
+++ b/experience/2022-09_tweag.nix
@@ -0,0 +1,17 @@
+{ href, ... }:
+
+{
+ date = {
+ start = "2022-09-14";
+ end = "2023-02-24";
+ };
+ institution = {
+ position = "Software Engineering intern";
+ name = "Tweag";
+ url = "https://www.tweag.io/";
+ location = "Paris, France";
+ };
+ description = "Ongoing. Speeding-up ${
+ href "https://github.com/tweag/pirouette" "Pirouette"
+ } (a symbolic evaluator using incorrectness logic) by optimizing its interactions with SMT solvers.";
+}
diff --git a/experience/default.nix b/experience/default.nix
new file mode 100644
index 0000000..fc65ab6
--- /dev/null
+++ b/experience/default.nix
@@ -0,0 +1,8 @@
+{ make, ... }:
+
+builtins.map (path: make path { }) [
+ ./2019-06_lis.nix
+ ./2020-03_nii.nix
+ ./2022-03_irif.nix
+ ./2022-09_tweag.nix
+]
diff --git a/files/avatar.jpg b/files/avatar.jpg
new file mode 100644
index 0000000..c1e9098
--- /dev/null
+++ b/files/avatar.jpg
Binary files differ
diff --git a/files/keys/pgp/DFC1660846EEA97C059F18534EF515441E635D36.pub b/files/keys/pgp/DFC1660846EEA97C059F18534EF515441E635D36.pub
new file mode 100644
index 0000000..64da60b
--- /dev/null
+++ b/files/keys/pgp/DFC1660846EEA97C059F18534EF515441E635D36.pub
@@ -0,0 +1,66 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBF81siEBEADA6P4m4yJNvJk6fW7nvojv+3PB06ERxcFZ4u4ZhsUnIxh1bA7w
+/QL9sm/5qcRpcsi5qEfW8rd2Bl+58XQu3CSzoRn86y21HrLwEHOuZFq+qJ/mUQKJ
+CLY5Pgm3Ni7wDDwY/QHBFhzOc7+z5QC6i/yYL1WzghSq47XBn1F/otTNs/5mi0HE
+JxrbDzV7b/lwgB2De/sxnZaNp9K3vOWLQiy6HdX31/whylziXO8u3tAUhqBXAj2Z
+T6pUWju+iCIflyuAmQCfUx9TWkuAgxUY63m/ua0jAwcd4WkeL+xRlVubqTvtDxGk
+XfPtsXiYcumtfVCThnN4Ef6Xiy9QAl5JnQYlYXwsYX+Ej4K/DRBr5g/EzsHtJn+X
+2LpYbpMKQ1rGhhV+/zPhngCtGrOFybIRIKv100wmIgGET8zbfTU5asipNxAhDiEc
+1GK8XOgFmaAFaaNgy4Fr2ixY7DmF7H53CTT47XqRGgiy2UQhFlEpraxWnBIlw4dk
+soxcBDVuYbeDrJMxQqJt/LQcESkPHymoLeVJwIXqHgcsdYkLfXidTq14cA9sP4Hn
+snoVTk0O6C8p86J4Bw2EEPKnjpJgxL+sFV8Z/3bpRGW+liprJmme5TsZsJ0EfNyV
+6L/Jw35Fe7dx04JkbwSC68SEXsR6pG4o9+7zTAeRmJSOJgY3n+cxp2/ccwARAQAB
+tDBRdWVudGluIEFyaXN0b3RlIChFTlMpIDxxdWVudGluLmFyaXN0b3RlQGVucy5m
+cj6JAlQEEwEKAD4WIQTfwWYIRu6pfAWfGFNO9RVEHmNdNgUCXzWyXwIbAwUJA8Jn
+AAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRBO9RVEHmNdNup+D/9KyhxGzDwK
+teX0xBl8rC93QUt3feHrKtlGi9cCQ+NYcAfXMp4fAzy9mPoupZRwhSyA0fgXjld0
+cEkP9y4oPVhC7maDTSnzK7fztONHa6w9MJyvG0ZtuH2nsbCMUqYHUw3qaw0yZjnn
+iT4FwNEevrFn06KUObrNXlsnWQxChJs5TTXXFyPSMT2iHQe+4Fe13nTslaLP+1TC
+65jZ/FYICnWKRngDOLfLVFJCEUvegYHcN8b/1HAj+eas1EzjfIg0EuPxP+CtFzTW
+IiffGd1TS/MiTROcZPtsTN0wCld33DUT9pF5+D+7IKvcD80oNBJ1HT3TkaCBsjt0
+PZNq2g73/J8RHAHMS0mwW4L2Sq8A2ciC9+CJFoHpvsFz/Ru95YWgcvkZfdZlbPJH
+VMx2IyyAhFvSiSA7eOVR2y3lii4qgPdLZ44AbQInq3bJbh4CwN2vt3pHsbx8VE1L
+1bTDwBrqFj2131x0HzmMb/jyfUOukJnkfE3yj81rftg8SLMno/b4pIp1KZIjv+d+
+0fj+s8Uut/ND+lBFWcGm8zzKST7EO5mYrnNxsbhKH5hJBW0/OsFo0tNtZyCaGurX
+Piyo/fES06EdQ/+tTWqxVztpvIGdwO+jVlhsF0A4+UoLEeedBUIGIYzD8B7t6trA
+H9MQGtLdk3RPDhGcSM5XEJJvNft6ep2S37QtUXVlbnRpbiBBcmlzdG90ZSAobWFp
+bikgPHF1ZW50aW5AYXJpc3RvdGUuZnI+iQJXBBMBCgBBAhsDBQkDwmcABQsJCAcC
+BhUKCQgLAgQWAgMBAh4BAheAFiEE38FmCEbuqXwFnxhTTvUVRB5jXTYFAl81s1EC
+GQEACgkQTvUVRB5jXTbZeQ/+LxiYt2k9IY3rAioErDMShSARq54XE0RQ43u4DE2j
+i8QBPeasPoWROJC17Y7jt28g3TDIHFVp8SmCZ0hFEjelQRIsN4vcaVTVeBMgGv3S
+ZFE/LLVemqKaYtKTdQIimlxi8vYHHTyhEm9Nxjg/p3VcYfy0MlBjUXSsNtYPLKKe
+a5caPC46BABSmj5OMikc1Yy5ThkA/BH/47pNhBO4++lNlpNQFEO4/fMscaytz9vo
+uiVPRYF++77rCNV22APfFEq2yRbwId9x2FDYP5FOWt4Vofw1dAwcUGQWXGoknCtv
+nnambeCTdtfNYl3fAhm1TIw383he01pvyVU9KnkSKiPEDXfPcu3r73aMgp0Yv8v0
+T5tyIR8nrZwb0IamoVCFehaZgybfdoYKVF+aVqbmgWKKjcG0OMc+G/VNjcfz7+Sz
+1WktIV1mtiXLpDflxywYaCSUMUb8lnj6rrcM1ykl59PgnVDgQoCavTMFfos+mE2k
+97K5U3VgIdUIL1tkqkBpslPkLb7MqsxDm/GQ2heaq4tEtBxYMt1/DCYFT4rPoiPv
+0iYP89i7RIw7m3PDjNNkgCCdKpWDLRLe7afIKhSStHL4UhHW3HY4LX+zgLOEExvC
+EjH29KoseO5acctuVSHEOJefy22vtQWlG+KPQxeJmmX6TtxtlZaln2pM029ZRpLK
+tte5Ag0EXzWyIQEQANm2NqZqyoGZkMdAkKyCMNL7rRWBIZGmgBGq0RpWx71r68iq
+9LriQ0cW2iNSO6/pdkNTm0T8lZbBxkVcng1k8ZLBr2Kw2TsajOodlRfG3+W59uVF
+cnkxxEo1Dz2nuUgl2qKyYdJNadu3XmDw9jr9EH/EoxC1Zrxiy1VxonYn1VvnKNQi
+hlLtBCi3lcH62dC/IQqbqYHMYdFTfthWgGeGz9ZyPspkPvqyyzywjjutvDlcNU7J
+c98Q94pSrkJh2M2ver5IDiim13+XUPv3BxwgqbiSURiZPjwiSQ2OqZGczOR9GryR
+ZVeCeLy1W8aN7qgJiJUlOnbjnjPs8WnE5VwsoTOJTGJjDK+TFlgIqzqyKpOOsEKN
+f0IPLiy5ZuBJo3qvr0TYFlzQeKvpXv5lNLcZkM8BWTiU5UpbQJSffLt42X8aoGCX
+xYfYXEquXkzWGEzyXX4K3OL85CshUdNhCHoSu8r+D+PadwSzISidUEjLDhvRwm1T
+DBLiHL2xfYupQtvy/hkWTfFH+/pSC9qugIf3R2ON8u9xPxlyngZIeHke5RToX+CJ
+FSkZuMNgcZY+esqJpOb6rXVxqkIybsUBjorjqpRifAxu40JHA5RA04l0Jcc9KvDh
+nUMkrIh7UgPAN/qHBrQObJOaE5nyE8MWA7/IUcan9P11gB3Ar5ESB+uoepN7ABEB
+AAGJAjwEGAEKACYWIQTfwWYIRu6pfAWfGFNO9RVEHmNdNgUCXzWyIQIbDAUJA8Jn
+AAAKCRBO9RVEHmNdNulOD/41aCjDzr2dbTq0wp0kowj2N0+7ZMe5dPBEXBFdZC88
+DbzvYKLLbP8ZzTLCBplKBxHYLtpDG+lzYGoKc/6SHn1w4dNZ+UQT37FbR48jkerW
+bWbOy37LliPP0QJxQJL/4VcfnIHXaJ+ml4ZmJU1y3u6WC6+I9BbyCP271fdtWiNL
+qGp2WfIlm9s48oqoqmSsk4pkFstY/6T98iULeVabBqWHDok3uN7Vy+POlbYvm9D3
+6XlCUJCbiNV1QXaBtG5kLdEMvL2vWh7UKFe97c7obMvAI+utJxnh7+QSbiqLmEx1
+tbYHRWd+Ns9HJm5BsOa6jv74EUTo+ptgg21M68oLibrYweUCj/BV9WwIDIEEA6B1
+UT8c3ciOSX8yd/kyXeKqtaWoDm+CG3BUMra7iEbJPR+iL/NUtpF/EUsD+AcT5/1z
+QzRTIgy71BEVqYILeD7NS9TkjkvvwmhVVLO1miDmdoiNG6dy2Tn48j2YYbmDfhDN
+SsFBUnXExAGIEZ4xRErkY4a6lsbD7yf48pwumeCwKY1YxTXUBMrHU4FYhpMIb7pc
+I0d3Ufec9OKLu4Nw4EWD8CQPUSJ1TBxiSnXN1kMhKhZTelWyTv2OQ04ov60KDjsp
+1KcWSPdoBwl475J1NIE4nPbxfqSQrNWif2PSnVRwWyANeCYd/W4IJ1ZWEIspYjDs
+Lg==
+=9VSs
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/files/keys/ssh/qaristote@latitude-7490.pub b/files/keys/ssh/qaristote@latitude-7490.pub
new file mode 100644
index 0000000..9ff5e91
--- /dev/null
+++ b/files/keys/ssh/qaristote@latitude-7490.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK4wGbl3++lqCjLUhoRyABBrVEeNhIXYO4371srkRoyq qaristote@latitude-7490
diff --git a/files/publications.json b/files/publications.json
new file mode 100644
index 0000000..1f82be1
--- /dev/null
+++ b/files/publications.json
@@ -0,0 +1,6 @@
+[
+ {"id":"aristoteApplicationsCategoricalFramework2022","abstract":"M2 internship report. We extend Petrişan and Colcombet's categorical framework for automata minimization and learning with new categorical algorithms and apply it to various families of automata for which minimization and learning had not been studied previously. We focus on transducers whose output lie in arbitrary monoids, weighted automata on Dedekind domains and automata whose states are quasi-ordered. This last example links automata learning together with the Valk-Jantzen lemma, widely used in the theory of well-structured transition systems.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteApplicationsCategoricalFramework2022","issued":{"date-parts":[[2022,8,20]]},"language":"en","license":"All rights reserved","title":"Applications of a categorical framework for minimization and active learning of transition systems","type":"report","URL":"https://git.eleves.ens.fr/qaristote/m2-internship-report/uploads/2594114883f26d77c2b4f3731656351a/report.pdf"},
+ {"id":"aristoteDynamicalTriangulationInduced2020","abstract":"We present the single-particle sector of a quantum cellular automaton, namely a quantum walk, on a simple dynamical triangulated 2-manifold. The triangulation is changed through Pachner moves, induced by the walker density itself, allowing the surface to transform into any topologically equivalent one. This model extends the quantum walk over triangular grid, introduced in a previous work, by one of the authors, whose space-time limit recovers the Dirac equation in (2+1)-dimensions. Numerical simulations show that the number of triangles and the local curvature grow as exp(a log(t) - bt²), where a and b parametrize the way geometry changes upon the local density of the walker, and that, in the long run, flatness emerges. Finally, we also prove that the global behavior of the walker, remains the same under spacetime random fluctuations.","accessed":{"date-parts":[[2020,8,17]]},"author":[{"family":"Aristote","given":"Quentin"},{"family":"Eon","given":"Nathanaël"},{"family":"Di Molfetta","given":"Giuseppe"}],"citation-key":"aristoteDynamicalTriangulationInduced2020","container-title":"Symmetry","DOI":"10.3390/sym12010128","ISSN":"2073-8994","issue":"1:128","issued":{"date-parts":[[2020,1]]},"language":"en","license":"http://creativecommons.org/licenses/by/3.0/","number":"1","publisher":"Multidisciplinary Digital Publishing Institute","source":"www.mdpi.com","title":"Dynamical Triangulation Induced by Quantum Walk","type":"article-journal","URL":"https://www.mdpi.com/2073-8994/12/1/128","volume":"12"},
+ {"id":"aristoteFibrationalFrameworkNested2020","abstract":"M1 internship report. We extend a previous fibration- and coalgebra-based categorical framework for characterizing greatest fixed-points, e.g. bisimilarity-like notions, as winning positions in safety games. Our new framework thus characterizes nested alternating greatest and smallest fixed-points of a fibration- and coalgebra-based categorical operator as winning positions in parity games. This provides a new kind of parity games for the model checking of coalgebraic modal logic, but unfortunately we did not manage to instantiate more general notions of bisimulations such as fair and delayed bisimulations.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteFibrationalFrameworkNested2020","issued":{"date-parts":[[2020,8,28]]},"language":"en","license":"All rights reserved","title":"Fibrational Framework for Nested Alternating Fixed Points and (Bi)Simulation Notions for Büchi Automata","type":"report","URL":"https://git.eleves.ens.fr/qaristote/m1-internship-report/uploads/3431548a277eb5fc297d8e7d93d1e3ce/aristote_quentin_m1_internship_report.pdf"},
+ {"id":"aristoteMarcheQuantiqueReseau2019","abstract":"Rapport de stage de L3. On introduit un automate cellulaire quantique à une particule, un marcheur quantique, sur une variété triangulée de dimension 2. La triangulation change à travers des Pachner moves, induits eux-même par la densité du marcheur, permettant à la surface de se transformer en n'importe quelle autre surface qui lui est topologiquement équivalente. Ce modèle généralise le marcheur quantique sur un réseau triangulaire, introduit dans un article précédent par un des auteurs, et dont la limite en espace-temps retombe sur l'équation de Dirac en 2+1 dimensions.\nDes simulations numériques montrent que le nombre de triangles et que la courbure évoluent en exp(a log(t) - bt²), où a et b paramétrisent la façon dont la géométrie change selon la densité locale du marcheur, et que, sur le long terme, la surface redevient plate. Enfin, on montre aussi numériquement que le comportement global du marcheur reste le même sous l'influence de fluctuations spatio-temporelles aléatoires.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteMarcheQuantiqueReseau2019","issued":{"date-parts":[[2019,8,25]]},"language":"fr","license":"All rights reserved","page":"15","title":"Marche quantique sur un réseau triangulaire sujet à des Pachner moves","type":"report","URL":"https://git.eleves.ens.fr/qaristote/rapport-stage-l3/-/raw/b9f9cc78ad3eabe6508be70cc27dc9bf89d34755/rapport.pdf"}
+]
diff --git a/languages/default.nix b/languages/default.nix
new file mode 100644
index 0000000..7813f50
--- /dev/null
+++ b/languages/default.nix
@@ -0,0 +1,3 @@
+{ make, ... }:
+
+builtins.map (path: make path { }) [ ./french.nix ./english.nix ./japanese.nix ]
diff --git a/languages/english.nix b/languages/english.nix
new file mode 100644
index 0000000..2e45e10
--- /dev/null
+++ b/languages/english.nix
@@ -0,0 +1,7 @@
+{ ... }:
+
+{
+ name = "English";
+ proficiency = "fluent";
+ icon = "&#x1F1EC;&#x1F1E7;";
+}
diff --git a/languages/french.nix b/languages/french.nix
new file mode 100644
index 0000000..c90cc5e
--- /dev/null
+++ b/languages/french.nix
@@ -0,0 +1,7 @@
+{ ... }:
+
+{
+ name = "French";
+ proficiency = "native";
+ icon = "&#x1F1EB;&#x1F1F7;";
+}
diff --git a/languages/japanese.nix b/languages/japanese.nix
new file mode 100644
index 0000000..926e564
--- /dev/null
+++ b/languages/japanese.nix
@@ -0,0 +1,7 @@
+{ ... }:
+
+{
+ name = "Japanese";
+ proficiency = "intermediate";
+ icon = "&#x1F1EF;&#x1F1F5;";
+}
diff --git a/publications/default.nix b/publications/default.nix
new file mode 100644
index 0000000..2c85dff
--- /dev/null
+++ b/publications/default.nix
@@ -0,0 +1,29 @@
+{ pkgs, lib, ... }:
+
+let
+ csl = lib.importJSON ./publications.json;
+ export = id: publication: format:
+ let
+ publicationJSON =
+ builtins.toFile "${id}.json" (builtins.toJSON [ publication ]);
+ publicationOut = pkgs.runCommand "${id}.${format}" { } ''
+ "${pkgs.pandoc}/bin/pandoc" "${publicationJSON}" --from csljson --to "${format}" --output "$out"
+ '';
+ in builtins.readFile publicationOut;
+ tryInherit = inheritFrom: attrs:
+ with lib;
+ foldl' (tmp: next:
+ tmp ++ optional (hasAttr next inheritFrom) (getAttr next inheritFrom)) [ ]
+ attrs;
+in builtins.map (publication:
+ with publication;
+ let exportThisTo = export id publication;
+ in publication // {
+ year = with builtins; toString (head (head issued.date-parts));
+ url = URL;
+ cite = {
+ bibtex = exportThisTo "bibtex";
+ biblatex = exportThisTo "biblatex";
+ csljson = exportThisTo "csljson";
+ };
+ }) csl
diff --git a/publications/publications.json b/publications/publications.json
new file mode 100644
index 0000000..1f82be1
--- /dev/null
+++ b/publications/publications.json
@@ -0,0 +1,6 @@
+[
+ {"id":"aristoteApplicationsCategoricalFramework2022","abstract":"M2 internship report. We extend Petrişan and Colcombet's categorical framework for automata minimization and learning with new categorical algorithms and apply it to various families of automata for which minimization and learning had not been studied previously. We focus on transducers whose output lie in arbitrary monoids, weighted automata on Dedekind domains and automata whose states are quasi-ordered. This last example links automata learning together with the Valk-Jantzen lemma, widely used in the theory of well-structured transition systems.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteApplicationsCategoricalFramework2022","issued":{"date-parts":[[2022,8,20]]},"language":"en","license":"All rights reserved","title":"Applications of a categorical framework for minimization and active learning of transition systems","type":"report","URL":"https://git.eleves.ens.fr/qaristote/m2-internship-report/uploads/2594114883f26d77c2b4f3731656351a/report.pdf"},
+ {"id":"aristoteDynamicalTriangulationInduced2020","abstract":"We present the single-particle sector of a quantum cellular automaton, namely a quantum walk, on a simple dynamical triangulated 2-manifold. The triangulation is changed through Pachner moves, induced by the walker density itself, allowing the surface to transform into any topologically equivalent one. This model extends the quantum walk over triangular grid, introduced in a previous work, by one of the authors, whose space-time limit recovers the Dirac equation in (2+1)-dimensions. Numerical simulations show that the number of triangles and the local curvature grow as exp(a log(t) - bt²), where a and b parametrize the way geometry changes upon the local density of the walker, and that, in the long run, flatness emerges. Finally, we also prove that the global behavior of the walker, remains the same under spacetime random fluctuations.","accessed":{"date-parts":[[2020,8,17]]},"author":[{"family":"Aristote","given":"Quentin"},{"family":"Eon","given":"Nathanaël"},{"family":"Di Molfetta","given":"Giuseppe"}],"citation-key":"aristoteDynamicalTriangulationInduced2020","container-title":"Symmetry","DOI":"10.3390/sym12010128","ISSN":"2073-8994","issue":"1:128","issued":{"date-parts":[[2020,1]]},"language":"en","license":"http://creativecommons.org/licenses/by/3.0/","number":"1","publisher":"Multidisciplinary Digital Publishing Institute","source":"www.mdpi.com","title":"Dynamical Triangulation Induced by Quantum Walk","type":"article-journal","URL":"https://www.mdpi.com/2073-8994/12/1/128","volume":"12"},
+ {"id":"aristoteFibrationalFrameworkNested2020","abstract":"M1 internship report. We extend a previous fibration- and coalgebra-based categorical framework for characterizing greatest fixed-points, e.g. bisimilarity-like notions, as winning positions in safety games. Our new framework thus characterizes nested alternating greatest and smallest fixed-points of a fibration- and coalgebra-based categorical operator as winning positions in parity games. This provides a new kind of parity games for the model checking of coalgebraic modal logic, but unfortunately we did not manage to instantiate more general notions of bisimulations such as fair and delayed bisimulations.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteFibrationalFrameworkNested2020","issued":{"date-parts":[[2020,8,28]]},"language":"en","license":"All rights reserved","title":"Fibrational Framework for Nested Alternating Fixed Points and (Bi)Simulation Notions for Büchi Automata","type":"report","URL":"https://git.eleves.ens.fr/qaristote/m1-internship-report/uploads/3431548a277eb5fc297d8e7d93d1e3ce/aristote_quentin_m1_internship_report.pdf"},
+ {"id":"aristoteMarcheQuantiqueReseau2019","abstract":"Rapport de stage de L3. On introduit un automate cellulaire quantique à une particule, un marcheur quantique, sur une variété triangulée de dimension 2. La triangulation change à travers des Pachner moves, induits eux-même par la densité du marcheur, permettant à la surface de se transformer en n'importe quelle autre surface qui lui est topologiquement équivalente. Ce modèle généralise le marcheur quantique sur un réseau triangulaire, introduit dans un article précédent par un des auteurs, et dont la limite en espace-temps retombe sur l'équation de Dirac en 2+1 dimensions.\nDes simulations numériques montrent que le nombre de triangles et que la courbure évoluent en exp(a log(t) - bt²), où a et b paramétrisent la façon dont la géométrie change selon la densité locale du marcheur, et que, sur le long terme, la surface redevient plate. Enfin, on montre aussi numériquement que le comportement global du marcheur reste le même sous l'influence de fluctuations spatio-temporelles aléatoires.","author":[{"family":"Aristote","given":"Quentin"}],"citation-key":"aristoteMarcheQuantiqueReseau2019","issued":{"date-parts":[[2019,8,25]]},"language":"fr","license":"All rights reserved","page":"15","title":"Marche quantique sur un réseau triangulaire sujet à des Pachner moves","type":"report","URL":"https://git.eleves.ens.fr/qaristote/rapport-stage-l3/-/raw/b9f9cc78ad3eabe6508be70cc27dc9bf89d34755/rapport.pdf"}
+]