<?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>http://localhost:1313/</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>Mon, 28 Sep 2026 19:09:00 +0200</lastBuildDate>
		
			<atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Query a BioPAX ontology with DuckDB</title>
				<link>http://localhost:1313/posts/biopax-query-with-duckdb-rdf/</link>
				<pubDate>Mon, 28 Sep 2026 19:09:00 +0200</pubDate>
				<guid>http://localhost:1313/posts/biopax-query-with-duckdb-rdf/</guid>
				<description>&lt;h2 id=&#34;install-duckdb&#34;&gt;Install DuckDB&lt;/h2&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;-webkit-text-size-adjust:none;&#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;pipx install duckdb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;download-pathbank-biopax-files&#34;&gt;Download PathBank BioPAX files&lt;/h2&gt;&#xA;&lt;p&gt;Throughout this blog post, we will work with example BioPAX files from the pathbank database.&#xA;I downloaded the BioPAX files from &lt;a href=&#34;https://pathbank.org/downloads&#34;&gt;https://pathbank.org/downloads&lt;/a&gt; on &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2026-09-28 Mon&amp;gt;&lt;/span&gt;&lt;/span&gt;, the announced date of generation is September 13, 2019.&lt;/p&gt;&#xA;&lt;h2 id=&#34;load-the-duckdb-rdf-extension&#34;&gt;Load the DuckDB &lt;code&gt;rdf&lt;/code&gt; extension&lt;/h2&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;-webkit-text-size-adjust:none;&#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;duckdb&#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;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;INSTALL&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;rdf&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;FROM&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;community&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;LOAD&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;rdf&lt;/span&gt;&lt;span style=&#34;color:#f00&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;how-to-load-the-content-of-a-biopax-file-with-duckdb-rdf-extension&#34;&gt;How to load the content of a BioPAX file with DuckDB rdf extension?&lt;/h2&gt;&#xA;&lt;p&gt;I extracted the zip archive in &lt;code&gt;~/data/pathbank/pathbank_all_biopax/pathbank_all_biopax/&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to load the PathwayCommons OWL file into a local QLever instance?</title>
				<link>http://localhost:1313/posts/loading-pathway-commons-qlever/</link>
				<pubDate>Sun, 12 Jul 2026 10:07:00 +0200</pubDate>
				<guid>http://localhost:1313/posts/loading-pathway-commons-qlever/</guid>
				<description>&lt;h2 id=&#34;what-are-we-talking-about&#34;&gt;What are we talking about?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://docs.qlever.dev&#34;&gt;QLever&lt;/a&gt; (pronounced &amp;ldquo;clever&amp;rdquo;) is a graph database for RDF triplets supporting the &lt;a href=&#34;https://en.wikipedia.org/wiki/SPARQL&#34;&gt;SPARQL&lt;/a&gt; query language.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pathwaycommons.org&#34;&gt;PathwayCommons&lt;/a&gt; is an initiative to gather multiple sources of metabolic pathways, from multiple databases, and merge them in a single entrypoint, using the standard &lt;a href=&#34;https://biopax.org&#34;&gt;BioPAX&lt;/a&gt; ontology.&#xA;Pathway-Commons provides a compressed OWL file for each release, as well as an API.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-do-we-want-to-do&#34;&gt;What do we want to do?&lt;/h2&gt;&#xA;&lt;p&gt;The objective of this tutorial is to show how one can load the Pathway-Commons OWL file in a local QLever instance, for unlimited local SPARQL queries.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to interface TidalCycle with LMMS via MIDI ?</title>
				<link>http://localhost:1313/posts/tidalcycle-with-lmms/</link>
				<pubDate>Sun, 07 Jun 2026 13:55:00 +0200</pubDate>
				<guid>http://localhost:1313/posts/tidalcycle-with-lmms/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://tidalcycles.org/&#34;&gt;TidalCycle&lt;/a&gt; is a livecoding environment enabling live performance of code-generated music. &lt;a href=&#34;https://lmms.io&#34;&gt;LMMS&lt;/a&gt; is a digital audio workstation software. Both are free-libre opensource softwares.&#xA;TidalCycle typically use &lt;a href=&#34;https://en.wikipedia.org/wiki/SuperCollider&#34;&gt;SuperCollider&lt;/a&gt; to generate audio based on the patterns of Tidal. We can also use any device that can handle MIDI input to generate sound from Tidal patterns.&lt;/p&gt;&#xA;&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;&#xA;&lt;p&gt;On SuperCollider window, open startup file (File &amp;gt; Open startup file), then add the following code:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-supercollider&#34; data-lang=&#34;supercollider&#34;&gt;MIDIClient.init;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the section where SuperDirt server starts, add the following before the &lt;code&gt;~dirt.start&lt;/code&gt; command:&lt;/p&gt;</description>
			</item>
			<item>
				<title>ob-exec</title>
				<link>http://localhost:1313/posts/ob-exec/</link>
				<pubDate>Thu, 14 May 2026 10:03:00 +0200</pubDate>
				<guid>http://localhost:1313/posts/ob-exec/</guid>
				<description>&lt;p&gt;I created a generic Org-babel mode, named &lt;a href=&#34;https://forge.s1gm4.eu/sortion/ob-exec/&#34;&gt;ob-exec&lt;/a&gt;. This emacs-lisp script enable to execute any executable on a code fragment within Org-mode.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-it-works&#34;&gt;How it works&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;ob-exec&lt;/code&gt; simply execute the code sample with the provided command-line&lt;/p&gt;&#xA;&lt;p&gt;For example, suppose you want to use the command line &lt;code&gt;glpsol&lt;/code&gt; of the &lt;a href=&#34;https://www.gnu.org/software/glpk/&#34;&gt;GNU Linear Programming Kit&lt;/a&gt; on a Linear program encoded in MathProg. To the best of my knowledge, there is no org-babel mode for GLPK.&#xA;It wouln&amp;rsquo;t be too difficult to build one, but suppose further that you feel lazy and want to execute GLPK solver directly.&#xA;Then, you can insert the following source code in emacs:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Tent Game in Answer Set Programming</title>
				<link>http://localhost:1313/posts/tent-game-asp/</link>
				<pubDate>Mon, 29 Dec 2025 18:40:00 +0100</pubDate>
				<guid>http://localhost:1313/posts/tent-game-asp/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;The Tent game is a logic puzzle on a square or rectangular grid. Each&#xA;grid cell can have a tree, a tent or stay empty. &amp;lt;Nourry (2024)&amp;gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The following rules must be respected:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tent can be placed on empty cells.&lt;/li&gt;&#xA;&lt;li&gt;Each tent is attached to a tree placed on an adjacent cell.&lt;/li&gt;&#xA;&lt;li&gt;A tree cannot be attached to more than one tent.&lt;/li&gt;&#xA;&lt;li&gt;Two tents cannot be placed on adjacent, nor diagonal cells.&lt;/li&gt;&#xA;&lt;li&gt;The number of tents on each row and column is specified.&lt;/li&gt;&#xA;&lt;li&gt;Some cells are not accessible, no tent can be pitched there.&#xA;&amp;lt;&amp;ldquo;Fiche: Jeux de Réflexion - Tentes&amp;rdquo; (n.d.);Nourry (2024)&amp;gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The aim of this article is to propose a implementation of the Tent game&#xA;in Answer Set Programming.&lt;/p&gt;</description>
			</item>
			<item>
				<title>News</title>
				<link>http://localhost:1313/pages/news/</link>
				<pubDate>Sun, 14 Apr 2024 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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>http://localhost:1313/posts/pseudocodejs-hugo/</link>
				<pubDate>Sat, 09 Mar 2024 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;-webkit-text-size-adjust:none;&#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;-webkit-text-size-adjust:none;&#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;-webkit-text-size-adjust:none;&#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>http://localhost:1313/posts/20240114_unixfu/</link>
				<pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;-webkit-text-size-adjust:none;&#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>http://localhost:1313/posts/github-linguist-for-programming-languages-usage-analysis/</link>
				<pubDate>Wed, 29 Mar 2023 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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>http://localhost:1313/posts/xclip-clipboard-depuis-terminal/</link>
				<pubDate>Sun, 05 Feb 2023 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;-webkit-text-size-adjust:none;&#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;-webkit-text-size-adjust:none;&#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;-webkit-text-size-adjust:none;&#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>http://localhost:1313/posts/zyme-chemical-scheme-with-chemfig-and-pubchem/</link>
				<pubDate>Sun, 02 Oct 2022 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;http://localhost:1313/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>http://localhost:1313/posts/cameratraps/arduino-camera-trap/</link>
				<pubDate>Sun, 18 Sep 2022 18:15:49 +0200</pubDate>
				<guid>http://localhost:1313/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>http://localhost:1313/posts/kvm-shared-folder/</link>
				<pubDate>Tue, 21 Jun 2022 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;-webkit-text-size-adjust:none;&#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>http://localhost:1313/posts/using-virtual-environments/</link>
				<pubDate>Sun, 19 Jun 2022 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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;-webkit-text-size-adjust:none;&#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;-webkit-text-size-adjust:none;&#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>http://localhost:1313/posts/automatized-code-documentation/</link>
				<pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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>http://localhost:1313/posts/analyze-ultrasound-on-gnulinux-using-wine/</link>
				<pubDate>Thu, 25 Mar 2021 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/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>http://localhost:1313/pages/projects/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/pages/projects/</guid>
				<description></description>
			</item>
	</channel>
</rss>
