<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Cédric Van Rompay</title>
    <link>https://cedricvanrompay.fr/blog/index.xml</link>
    <description>Recent content in Blog on Cédric Van Rompay</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 11 Oct 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cedricvanrompay.fr/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Aggregated Dependency Score: A Dependency Score that Includes Transitive Dependencies</title>
      <link>https://cedricvanrompay.fr/blog/aggregated-dependency-score/</link>
      <pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/aggregated-dependency-score/</guid>
      <description>&lt;p&gt;We argue that &amp;ldquo;quality scores&amp;rdquo; for software packages must take into account the number and quality of the package&amp;rsquo;s dependencies. We suggest an algorithm that does exactly that and &lt;a href=&#34;https://github.com/DataDog/aggregated-dependency-score&#34;&gt;we provide an open-source implementation&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;alert-main&#34;&gt;&#xA;    Most of this work was done as research work at &lt;a href=&#34;https://www.datadoghq.com/&#34;&gt;Datadog&lt;/a&gt;.&#xA;&lt;a href=&#34;https://docs.datadoghq.com/code_analysis/static_analysis/&#34;&gt;Datadog Static Analysis&lt;/a&gt;&#xA;can help you monitor the software packages you use and the problems they can cause.&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;table-of-contents&#34;&gt;&#xA;    &#xA;        &lt;h3&gt;Table of contents&lt;/h3&gt;&#xA;    &#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#introduction&#34;&gt;Introduction&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#a-first-attempt-minimum-score&#34;&gt;A First Attempt: Minimum Score&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#multiplying-scores&#34;&gt;Multiplying Scores&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#mapping-scores-to-probability-of-maliciousness&#34;&gt;Mapping Scores to Probability of Maliciousness&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#incentivizing-the-removal-of-transitive-dependencies&#34;&gt;Incentivizing the Removal of Transitive Dependencies&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#acknowledgements&#34;&gt;Acknowledgements&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#appendix-a-inverse-of-f&#34;&gt;Appendix A: inverse of $f$&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#appendix-b&#34;&gt;Appendix B: Proof of the Equivalence of Two Different Expressions for the Aggregated Score&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;People in the software industry are becoming more aware&#xA;of the problems that come from depending on third-party open-source software,&#xA;and it appears necessary to lower the quantity and increase the quality&#xA;of third-party software dependencies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sempolda, un site Web pour explorer l&#39;actualité politique en France sur les sujets qui vous intéressent</title>
      <link>https://cedricvanrompay.fr/blog/sempolda/</link>
      <pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/sempolda/</guid>
      <description>&lt;p&gt;Je suis fier d&amp;rsquo;annoncer que mon projet personnel &lt;a href=&#34;https://sempolda.fr/&#34;&gt;Sempolda&lt;/a&gt; est prêt à être testé par tout le monde. Il reste beaucoup à faire et je vais continuer de l’améliorer, mais il est temps que je cherche aussi des premiers utilisateurs pour obtenir des avis, des demandes, des questions, etc.&lt;/p&gt;&#xA;&lt;p&gt;Il y a quatre ans, pendant le premier confinement, je me suis dit qu&amp;rsquo;il faudrait construire un site web pour voir facilement ce que font le gouvernement, les parlementaires et l&amp;rsquo;ensemble de la classe politique en général, sur n&amp;rsquo;importe quel sujet qui pourrait m&amp;rsquo;intéresser.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Post-Mortem Debugging in Python</title>
      <link>https://cedricvanrompay.fr/blog/post-mortem-debugging-python/</link>
      <pubDate>Sun, 07 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/post-mortem-debugging-python/</guid>
      <description>&lt;p&gt;You run a program you are working on, and it crashes, or it raises an exception. What do you do?&lt;/p&gt;&#xA;&lt;p&gt;The most widespread reaction is to add a few &lt;code&gt;print&lt;/code&gt; instructions here and there and re-run the program. These &lt;code&gt;print&lt;/code&gt; instructions can print some variables for you to see what their value was at a given moment, or they can just print some text for you to see that “the program was at this line of code at this time”, so that you understand the steps the program went through.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Year and a Half of End-to-End Encryption at Misakey</title>
      <link>https://cedricvanrompay.fr/blog/a-year-and-a-half-of-end-to-end-encryption-at-misakey/</link>
      <pubDate>Tue, 08 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/a-year-and-a-half-of-end-to-end-encryption-at-misakey/</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on Misakey&amp;rsquo;s website (&lt;a href=&#34;https://about.misakey.com/cryptography/white-paper.html&#34;&gt;here&lt;/a&gt;). When Misakey closed, it was moved here.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;A journey through some of the reasonings and technical challenges that I had so far as a software developer at Misakey specialized in cryptography and security.&lt;/p&gt;&#xA;&lt;h1 id=&#34;how-i-got-here&#34;&gt;How I Got Here&lt;/h1&gt;&#xA;&lt;p&gt;I was recruited by Misakey shortly after its first fundraising (February 2019, €1M). The mission of Misakey was, and still is as of today, to provide an easy-to-use and highly secure way to connect people to the numerous accounts they have on other websites, as well as to connect people between each other. One key element of the solution was to encrypt user data in an end-to-end fashion, meaning that, while the data exchanged by users and websites would flow through our servers, it would be encrypted with a key that Misakey does not have. Doing so greatly increases the security of user’s data, but it adds a lot of technical challenges.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reviewing Merge Requests in Your Editor Instead of GitLab/GitHub</title>
      <link>https://cedricvanrompay.fr/blog/viewing-merge-requests-in-your-editor-instead-of-gitlab-github/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/viewing-merge-requests-in-your-editor-instead-of-gitlab-github/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post presents a small tool that I built for myself to help me during code review. It lets you view the diff of merge requests (or “pull requests” if you use GitHub) using the diff viewer of your editor instead of having to browse GitLab/GitHub. After a short overview of the tool (its usage and the git commands it uses), I give a more detailed explanation of its inner functioning, I list the corner cases I took into account, and I give some details on the implementation using Python.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mathexogen, un Générateur Aléatoire d&#39;Exercices</title>
      <link>https://cedricvanrompay.fr/blog/mathexogen/</link>
      <pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/mathexogen/</guid>
      <description>&lt;div class=&#34;alert-main&#34;&gt;&#xA;  2020-05-13: J&#39;ai commencé une ré-implémentation complète de Mathexogen&#xA;  en JavaScript:&#xA;  &lt;a href=&#34;https://cedricvanrompay.gitlab.io/mathexogen/&#34;&gt;&#xA;    https://cedricvanrompay.gitlab.io/mathexogen/&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Mathexogen est une application web qui génère des exercices de mathématique avec des valeurs prises au hasard. Cela permet aux élèves de répéter un exercice sans jamais retomber deux fois sur exactement les mêmes valeurs, et aux enseignants d&amp;rsquo;éviter de donner des exercices avec les mêmes valeurs chaque année, ou même de donner à chaque élève des exercices avec des valeurs différentes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mesure de la qualité de l&#39;air : un projet-plateforme pour le lycée</title>
      <link>https://cedricvanrompay.fr/blog/mesure-de-la-qualite-de-l-air-un-projet-plateforme-pour-le-lycee/</link>
      <pubDate>Sat, 27 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/mesure-de-la-qualite-de-l-air-un-projet-plateforme-pour-le-lycee/</guid>
      <description>&lt;p&gt;Il y a quelques mois j&amp;rsquo;ai eu l&amp;rsquo;opportunité d&amp;rsquo;échanger et de travailler avec des professeurs du Lycée Français de Barcelone. En particulier je me suis penché avec eux sur les nouveaux programmes de « Sciences numériques et technologie » et sur la réalisation de projets par les élèves.&lt;/p&gt;&#xA;&lt;p&gt;Tout cela m&amp;rsquo;a donné une idée que j&amp;rsquo;appelle un « projet-plateforme » et qui consiste principalement en un ensemble de projets liés entre eux par un thème commun (ici la mesure de la qualité de l&amp;rsquo;air par des stations). Ces projets pourraient être intégrés entre eux mais seraient aussi pensés pour pouvoir être réalisés de manière indépendante, sans avoir besoin d&amp;rsquo;avoir déjà réalisé d&amp;rsquo;autres projets. Par exemple il n&amp;rsquo;y aurait pas besoin de construire une station pour commencer à faire de l&amp;rsquo;analyse de données : on pourrait utiliser les données produites par d&amp;rsquo;autres stations déjà construites.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Un TP Niveau Lycée sur la Signature RSA</title>
      <link>https://cedricvanrompay.fr/blog/un-tp-niveau-lycee-sur-la-signature-rsa/</link>
      <pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/un-tp-niveau-lycee-sur-la-signature-rsa/</guid>
      <description>&lt;p&gt;Je suis très fier d&amp;rsquo;annoncer l&amp;rsquo;inauguration d&amp;rsquo;un TP que j&amp;rsquo;ai conçu sur la signature numérique RSA. Le TP a été fait le 1er Février 2019 par les élèves de terminale S option informatique du Lycée Français de Barcelone.&lt;/p&gt;&#xA;&lt;p&gt;Le TP est hébergé à l&amp;rsquo;adresse suivante:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://cedricvanrompay.gitlab.io/tp-rsa&#34;&gt;https://cedricvanrompay.gitlab.io/tp-rsa&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idée de ce TP a été dans ma tête pendant un certain moment. Pendant mes études et mon doctorat à EURECOM, il y avait tous les ans un TP qui présentait RSA, et chaque année en le supervisant je ne pouvais m&amp;rsquo;empêcher de penser à ce que j&amp;rsquo;aurais voulu changer dans ce TP. Rapidement, voici les principales différences qu&amp;rsquo;introduit ce TP:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Une (très) Rapide Introduction à la Cryptographie</title>
      <link>https://cedricvanrompay.fr/blog/une-tres-rapide-introduction-a-la-cryptographie/</link>
      <pubDate>Wed, 07 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/une-tres-rapide-introduction-a-la-cryptographie/</guid>
      <description>&lt;h1 id=&#34;quest-ce-que-la-cryptographie-&#34;&gt;Qu&amp;rsquo;est-ce que la Cryptographie ?&lt;/h1&gt;&#xA;&lt;p&gt;La cryptographie, c&amp;rsquo;est l&amp;rsquo;étude de &lt;em&gt;l&amp;rsquo;information en présence d&amp;rsquo;un adversaire&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Regardons cette définition de plus près. Il faut que ce qu&amp;rsquo;on veut protéger soit de l&amp;rsquo;information: si vous cherchez à protéger votre vélo par exemple, il vous faut un antivol, pas un protocole cryptographique. C&amp;rsquo;est parce que votre vélo est un objet physique, pas de l&amp;rsquo;information. Si votre antivol fonctionne avec un code secret, ce code secret, lui, est de l&amp;rsquo;information: si vous voulez l&amp;rsquo;envoyer de façon sécurisée à quelqu&amp;rsquo;un, vous allez peut-être devoir utiliser de la cryptographie.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notes on an Introduction to Cryptography</title>
      <link>https://cedricvanrompay.fr/blog/notes-on-an-introduction-to-cryptography/</link>
      <pubDate>Wed, 11 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/notes-on-an-introduction-to-cryptography/</guid>
      <description>&lt;p&gt;Most intro to cryptography start by presenting the caesar cipher, then how to break it using letter frequency, then most of the time the Vigenere cipher and a few more steps including the one-time pad&#xA;to go to a presentation of AES.&#xA;At least that&amp;rsquo;s how I remember the beginning of my first course on crypto.&#xA;The following is a (crude) reflexion on how I would make an introduction to cryptography for the kind of public we were as EURECOM students.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sur l&#39;homéopathie</title>
      <link>https://cedricvanrompay.fr/blog/sur-lhomeopathie/</link>
      <pubDate>Sat, 17 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/sur-lhomeopathie/</guid>
      <description>&lt;p&gt;Les détracteurs de l&amp;rsquo;homéopathie citent le fait qu&amp;rsquo;elle n&amp;rsquo;a pas plus d&amp;rsquo;effet qu&amp;rsquo;un placebo.&#xA;Ses défenseurs citent de nombreux cas de gens qui vont mieux grâce à des traitements homéopathiques.&#xA;Derrière cet apparent paradoxe se cache un véritable dialogue de sourds,&#xA;et un difficile problème philosophique :&#xA;si vous pouvez soigner quelqu&amp;rsquo;un avec un mensonge, est-il forcément mieux de lui dire la vérité ?&lt;/p&gt;&#xA;&lt;p&gt;Que les choses soient bien claires: je suis convaincu que les soi-disant &amp;ldquo;médicaments&amp;rdquo; homéopathiques n&amp;rsquo;ont aucun effet en eux-mêmes.&#xA;En disant cela, j&amp;rsquo;ai l&amp;rsquo;air d&amp;rsquo;avoir clairement choisi mon &amp;ldquo;camp&amp;rdquo;: celui des détracteurs de l&amp;rsquo;homéopathie.&#xA;En fait, je suis assez déçu par ce qu&amp;rsquo;on entend du côté des détracteurs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Extended Euclidean Algorithm Explained</title>
      <link>https://cedricvanrompay.fr/blog/extended-gcd/</link>
      <pubDate>Sat, 16 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://cedricvanrompay.fr/blog/extended-gcd/</guid>
      <description>&lt;p&gt;As a PhD student at EURECOM (&lt;a href=&#34;https://www.eurecom.fr&#34;&gt;https://www.eurecom.fr&lt;/a&gt;)&#xA;I also supervise some course labs as a teaching assistant.&#xA;One of the labs I supervise is about RSA encryption&#xA;(&lt;a href=&#34;https://en.m.wikipedia.org/wiki/RSA_(cryptosystem)&#34;&gt;Wikipedia:RSA (cryptosystem)&lt;/a&gt;).&#xA;RSA is great to teach the basics of cryptography because&#xA;it&amp;rsquo;s a simple cryptosystem that is widely used in the real world.&#xA;However, there is one part at the beginning of the lab where many students&#xA;are struggling:&#xA;implementing the &lt;em&gt;extended euclidean algorithm&lt;/em&gt;&#xA;(&lt;a href=&#34;https://en.m.wikipedia.org/wiki/Extended_Euclidean_algorithm&#34;&gt;Wikipedia: Extended Euclidean algorithm&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
