<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The blog of a juvenile &lt;i&gt;Geekus biologicus&lt;/i&gt;</title>
    <link>https://blog.samuel.ortion.fr/</link>
    <description>Recent content on The blog of a juvenile &lt;i&gt;Geekus biologicus&lt;/i&gt;</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Sun, 14 Apr 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.samuel.ortion.fr/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>News</title>
      <link>https://blog.samuel.ortion.fr/pages/news/</link>
      <pubDate>Sun, 14 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/pages/news/</guid>
      <description>&lt;div id=&#34;outline-container-headline-1&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-1&#34;&gt;&#xA;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2025-10-01 Wed&amp;gt;&lt;/span&gt;&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-1&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;Je commence une thèse au Laboratoire d&amp;#39;Analyses Bioinformatiques pour la Génomique et le Métabolisme au Génoscope (&lt;a href=&#34;https://labgem.genoscope.cns.fr/&#34;&gt;LABGeM&lt;/a&gt;).&#xA;Je vais travailler sur une méthode de reconstruction de réseaux métaboliques à l&amp;#39;échelle des pangénomes de bactéries et d&amp;#39;archées.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div id=&#34;outline-container-headline-2&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-2&#34;&gt;&#xA;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2025-01-01 Wed&amp;gt;&lt;/span&gt;&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-2&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;&#xA;Je commence un stage de Master 2 au LaMME, sous la direction de Carène Rizzon, Marie Szafranski et Franck Samson du LaMME et de Emmanuelle Lerat du LBBE (CNRS / Lyon). Il porte sur la prédiction de la redondance fonctionelle de paire de gènes dupliqués chez &lt;em&gt;Arabidopsis thaliana&lt;/em&gt; avec des approches de &lt;em&gt;machine learning&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to render pseudocode in Hugo with pseudocode.js</title>
      <link>https://blog.samuel.ortion.fr/posts/pseudocodejs-hugo/</link>
      <pubDate>Sat, 09 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/pseudocodejs-hugo/</guid>
      <description>&lt;p&gt;To render pseudocode in Hugo, you can use the &lt;code&gt;pseudocode.js&lt;/code&gt; library.&lt;/p&gt;&#xA;&lt;p&gt;Here is what I did to make this working on my blog.&lt;/p&gt;&#xA;&lt;h2 id=&#34;theme-configuration&#34;&gt;Theme configuration&lt;/h2&gt;&#xA;&lt;p&gt;In your theme files, you will first need to add link to the library CDN.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- in themes/&amp;lt;theme&amp;gt;/layouts/partials/pseucodode.html --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.js&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75af00&#34;&gt;integrity&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;sha512-EKW5YvKU3hpyyOcN6jQnAxO/L8gts+YdYV6Yymtl8pk9YlYFtqJgihORuRoBXK8/cOIlappdU6Ms8KdK6yBCgA==&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75af00&#34;&gt;crossorigin&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;anonymous&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;referrerpolicy&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;no-referrer&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;link&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;rel&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;href&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;https://cdn.jsdelivr.net/npm/pseudocode@latest/build/pseudocode.min.css&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;https://cdn.jsdelivr.net/npm/pseudocode@latest/build/pseudocode.min.js&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And render all element with &lt;code&gt;pseudocode&lt;/code&gt; HTMl class.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- in themes/&amp;lt;theme&amp;gt;layouts/partials/pseudocode-render.html --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00a8c8&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;pseudocodeElements&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;document&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#75af00&#34;&gt;getElementsByClassName&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;pseudocode&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00a8c8&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#f00&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#00a8c8&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;element&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;of&lt;/span&gt; &lt;span style=&#34;color:#75af00&#34;&gt;pseudocodeElements&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f00&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75af00&#34;&gt;pseudocode&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#75af00&#34;&gt;renderElement&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#75af00&#34;&gt;element&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f00&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- in themes/&amp;lt;theme&amp;gt;/layouts/_default/baseof.html --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;head&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {{ if .Param &amp;#34;pseudocode&amp;#34; }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      {{ partialCached &amp;#34;pseudocode&amp;#34; . }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {{ end }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;head&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;body&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;main&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {{ block &amp;#34;main&amp;#34; . }}{{ end }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {{ if .Param &amp;#34;pseudocode&amp;#34; }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            {{ partialCached &amp;#34;pseudocode-render&amp;#34; . }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {{ end }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;main&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;body&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;writing&#34;&gt;Writing&lt;/h2&gt;&#xA;&lt;p&gt;Then, in your Markdown article, add the following in your frontmatter:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unixfu</title>
      <link>https://blog.samuel.ortion.fr/posts/20240114_unixfu/</link>
      <pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/20240114_unixfu/</guid>
      <description>&lt;p&gt;&#xA;A bean for some useful UNIX command snippets.&lt;/p&gt;&#xA;&lt;div id=&#34;outline-container-headline-1&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-1&#34;&gt;&#xA;Add two hours&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-1&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;&#xA;This could be useful for nocmig fan, to ease the hour computation of a bird contact.&lt;/p&gt;&#xA;&lt;div class=&#34;src src-bash&#34;&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hour&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;start&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;$1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;duration&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;$2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;IFS&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;read&lt;/span&gt; -r duration_hour duration_minute &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;$duration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    date -d &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;$start&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#00a8c8&#34;&gt;$((&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;$duration_hour&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;$duration_minute&lt;/span&gt;&lt;span style=&#34;color:#00a8c8&#34;&gt;))&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt; minutes&amp;#34;&lt;/span&gt; +&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;%H:%M&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hour 17:00 5:43&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;pre class=&#34;example&#34;&gt;&#xA;22:43&#xA;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div id=&#34;outline-container-headline-2&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-2&#34;&gt;&#xA;WAV creation datetime&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-2&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;Here is a small snippet that demonstrates how to get the creation date-time of a WAV file with &lt;code class=&#34;verbatim&#34;&gt;ffprobe&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analyze projects programming languages using github-linguist</title>
      <link>https://blog.samuel.ortion.fr/posts/github-linguist-for-programming-languages-usage-analysis/</link>
      <pubDate>Wed, 29 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/github-linguist-for-programming-languages-usage-analysis/</guid>
      <description>&lt;p&gt;github-linguist is a Ruby library and command line tool for detecting the programming languages used in a project. It is used by GitHub to detect the language of a project and to generate language statistics.&lt;/p&gt;&#xA;&lt;p&gt;We can use it through the command line, in order to analyze the programming languages used in a project.&lt;/p&gt;&#xA;&lt;p&gt;During my application to bioinformatics master degree, I had to say which programming languages I commend. So here is some quick tips to use &lt;code&gt;github-linguist&lt;/code&gt; as I learned to do for this purpose.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Astuce: Copier du texte dans le presse-papier depuis un terminal Linux</title>
      <link>https://blog.samuel.ortion.fr/posts/xclip-clipboard-depuis-terminal/</link>
      <pubDate>Sun, 05 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/xclip-clipboard-depuis-terminal/</guid>
      <description>&lt;p&gt;Il suffit d&amp;rsquo;installer &lt;code&gt;xclip&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo dnf install xclip &lt;span style=&#34;color:#75715e&#34;&gt;# sur fedora par exemple&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis, c&amp;rsquo;est tout simple:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;Coucou !&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f00&#34;&gt;|&lt;/span&gt; xclip -selection c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Un exemple d&amp;rsquo;utilisation: copier une clé publique ssh dans le presse papier depuis le terminal:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat ~/.ssh/id_ecdsa.pub &lt;span style=&#34;color:#f00&#34;&gt;|&lt;/span&gt; xclip -selection c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Générer le code LaTeX/chemfig d&#39;une réaction chimique avec Zyme</title>
      <link>https://blog.samuel.ortion.fr/posts/zyme-chemical-scheme-with-chemfig-and-pubchem/</link>
      <pubDate>Sun, 02 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/zyme-chemical-scheme-with-chemfig-and-pubchem/</guid>
      <description>&lt;p&gt;Durant les trois années de licence bioinformatique, nous avons des cours de biochimie, et ceux ci viennent avec leur lots de structure chimiques à connaître.&lt;/p&gt;&#xA;&lt;p&gt;En L1, j&amp;rsquo;avais réalisé un document pdf avec LaTeX/chemfig des &lt;a href=&#34;https://blog.samuel.ortion.fr/upload/chemical/acides_amin%C3%A9es_prot%C3%A9inog%C3%A8nes.pdf&#34;&gt;acides aminées protéinogènes&lt;/a&gt; en représentation de FISCHER, et j&amp;rsquo;avais trouvé ça plutôt sympa, bien que ça m&amp;rsquo;avait pris pas mal de temps à rédiger.&lt;/p&gt;&#xA;&lt;p&gt;Ajourd&amp;rsquo;hui, j&amp;rsquo;améliore ma méthode: fini le code de la structure en chemfig (extension LaTeX) &lt;em&gt;a la mano&lt;/em&gt;, vive le code généré par du code !&lt;/p&gt;</description>
    </item>
    <item>
      <title>Arduino Camera Trap</title>
      <link>https://blog.samuel.ortion.fr/posts/cameratraps/arduino-camera-trap/</link>
      <pubDate>Sun, 18 Sep 2022 18:15:49 +0200</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/cameratraps/arduino-camera-trap/</guid>
      <description>&lt;p&gt;Some years ago, I had the opportunity to create a camera trap based on an Arduino board. The goal of this project was to capture photos of wild animals, and to have fun with electronics and programming.&lt;/p&gt;&#xA;&lt;p&gt;At the time, I created a website in html, to present the project; but I can&amp;rsquo;t find the source code anymore&amp;hellip; That&amp;rsquo;s a shame.&lt;/p&gt;&#xA;&lt;p&gt;I will try to present this old project again, hoping that it may interest someone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to mount a shared folder between Linux KVM Host and Guests</title>
      <link>https://blog.samuel.ortion.fr/posts/kvm-shared-folder/</link>
      <pubDate>Tue, 21 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/kvm-shared-folder/</guid>
      <description>&lt;p&gt;Sharing folder between KVM virtual machines and host, may be useful. Here is a way found in fedora forum.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quickstart&#34;&gt;Quickstart&lt;/h2&gt;&#xA;&lt;p&gt;Change &lt;code&gt;vm&lt;/code&gt; to your vm hostname.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mkdir -p /mnt/shared&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chmod -R a+rwX /mnt/shared&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo semanage fcontext -a -t svirt_home_t &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;/mnt/shared(/.*)?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo restorecon -R /mnt/shared&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tee fs.xml &lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;&amp;lt; EOF &amp;gt; /dev/null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;filesystem type=&amp;#39;mount&amp;#39; accessmode=&amp;#39;mapped&amp;#39;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;source dir=&amp;#39;/mnt/shared&amp;#39;/&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;target dir=&amp;#39;shared&amp;#39;/&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;/filesystem&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;EOF&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virsh shutdown vm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virsh attach-device vm fs.xml --config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virsh start vm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh vm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mkdir -p /mnt/shared&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo tee -a /etc/fstab &lt;span style=&#34;color:#d88200&#34;&gt;&amp;lt;&amp;lt; EOF &amp;gt; /dev/null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;shared /mnt/shared 9p trans=virtio 0 0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;EOF&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mount -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ask.fedoraproject.org/t/virt-manager-and-shared-folder-host-guest-permission-issue/10938/5&#34;&gt;Virt-manager and shared folder host/guest permission issue?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>How to use virtual environments</title>
      <link>https://blog.samuel.ortion.fr/posts/using-virtual-environments/</link>
      <pubDate>Sun, 19 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/using-virtual-environments/</guid>
      <description>&lt;p&gt;To not interfere with your os configuration and keep your project reproducible, you should use a virtual environment as long as possible.&lt;/p&gt;&#xA;&lt;p&gt;Virtual environment are a way to isolate your project from the rest of the system, and to avoid dependencies conflicts.&lt;/p&gt;&#xA;&lt;h2 id=&#34;python-virtualenv&#34;&gt;Python Virtualenv&lt;/h2&gt;&#xA;&lt;p&gt;Lets start by installing the virtualenv package.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install python3-venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And now you can create venvs for your project:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 -m venv .venv/myproject&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It is a good practice not to create a virtualenv with name &amp;ldquo;venv&amp;rdquo;, but to use a name that reflects the project you are working on, in order to see directly in which venv you are working.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to make automatic documentation using Doxygen, breathe and Sphinx</title>
      <link>https://blog.samuel.ortion.fr/posts/automatized-code-documentation/</link>
      <pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/automatized-code-documentation/</guid>
      <description>Doing documentation is required, to allow people to use your project. Here I present a rather easy solution.</description>
    </item>
    <item>
      <title>Analyze Ultrasound on GNU/Linux using Wine</title>
      <link>https://blog.samuel.ortion.fr/posts/analyze-ultrasound-on-gnulinux-using-wine/</link>
      <pubDate>Thu, 25 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/posts/analyze-ultrasound-on-gnulinux-using-wine/</guid>
      <description>&lt;p&gt;After recording bats, orthoptera or birds sounds, it is often necessary to have a look at the spectrograms of the sounds, for instance while analyzing &lt;a href=&#34;http://www.vigienature.fr/fr/chauves-souris&#34;&gt;Vigie-Chiro Program&lt;/a&gt; bat records.&lt;/p&gt;&#xA;&lt;p&gt;The software needed to do so are often developed only for Windows. In this article, we will learn how to install these softwares (e.g., Kaleidoscope, Syrinx, Batsound 4, 7-zip and Lupas-Rename).&lt;/p&gt;&#xA;&lt;h2 id=&#34;install-wine&#34;&gt;Install Wine&lt;/h2&gt;&#xA;&lt;p&gt;Wine is a software that enable .exe software to run on UNIX systems such as Linux or Mac OS.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.samuel.ortion.fr/pages/projects/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.samuel.ortion.fr/pages/projects/</guid>
      <description></description>
    </item>
  </channel>
</rss>
