An Eulerian path of a graph is a path that passes once on every edge of the graph.
The Hierholzer algorithm allows to find this path.
The algorithm proceeds as follows:
Choose any vertex $v_0$ of the graph $G = (V, E)$. Starting from $v_0$, build a path $c$ that passes only once per edge until it reaches $v_0$ again. If $c$ is an Eulerian cycle, we have found the Eulerian path, else Ignore all edges from $c$.
To render pseudocode in Hugo, you can use the pseudocode.js library.
Here is what I did to make this working on my blog.
Theme configuration In your theme files, you will first need to add link to the library CDN.
<!-- in themes/<theme>/layouts/partials/pseucodode.html --> <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.js" integrity="sha512-EKW5YvKU3hpyyOcN6jQnAxO/L8gts+YdYV6Yymtl8pk9YlYFtqJgihORuRoBXK8/cOIlappdU6Ms8KdK6yBCgA==" crossorigin="anonymous" referrerpolicy="no-referrer"> </script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pseudocode@latest/build/pseudocode.min.css"> <script src="https://cdn.jsdelivr.net/npm/pseudocode@latest/build/pseudocode.min.js"></script> And render all element with pseudocode HTMl class.
<!-- in themes/<theme>layouts/partials/pseudocode-render.html --> <script> let pseudocodeElements = document.
A bin for some useful UNIX command.
Add two hours This could be useful for nocmig fan, to ease the hour computation of a bird contact.
hour() { start=$1 duration=$2 IFS=":" read -r duration_hour duration_minute <<< $duration date -d "$start $(($duration_hour * 60 + $duration_minute)) minutes" +"%H:%M" } hour 17:00 5:43 22:43 WAV creation datetime Here is a small snippet that demonstrates how to get the creation date-time of a WAV file with ffprobe
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.
We can use it through the command line, in order to analyze the programming languages used in a project.
During my application to bioinformatics master degree, I had to say which programming languages I commend. So here is some quick tips to use github-linguist as I learned to do for this purpose.
Il suffit d’installer xclip:
sudo dnf install xclip # sur fedora par exemple Puis, c’est tout simple:
echo "Coucou !" | xclip -selection c Un exemple d’utilisation: copier une clé publique ssh dans le presse papier depuis le terminal:
cat ~/.ssh/id_ecdsa.pub | xclip -selection c
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.
En L1, j’avais réalisé un document pdf avec LaTeX/chemfig des acides aminées protéinogènes en représentation de FISCHER, et j’avais trouvé ça plutôt sympa, bien que ça m’avait pris pas mal de temps à rédiger.
Ajourd’hui, j’améliore ma méthode: fini le code de la structure en chemfig (extension LaTeX) a la mano, vive le code généré par du code !
Introduction Stable Diffusion est un modèle de deep learning permettant de générer des images photoréalistes à partir d’un prompt texte
J’ai récemment découver ce modèle via lexica.art, après avoir entendu parler des concurents DALL-E, Imagen et consorts.
Stable Diffusion a l’avantage d’être open source: tout le monde peut l’utiliser, et il fonctionne bien de surcroît.
Prérequis J’utilise un compte Google dédié, avec Google Colab pour faire tourner Stable Diffusion.
Le modèle devrait pouvoir tourner sur n’importe quelle plateforme Python, pourvu qu’il y ai assez de ressources GPU.
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.
At the time, I created a website in html, to present the project; but I can’t find the source code anymore… That’s a shame.
I will try to present this old project again, hoping that it may interest someone.
Sharing folder between KVM virtual machines and host, may be useful. Here is a way found in fedora forum.
Quickstart Change vm to your vm hostname.
sudo mkdir -p /mnt/shared sudo chmod -R a+rwX /mnt/shared sudo semanage fcontext -a -t svirt_home_t "/mnt/shared(/.*)?" sudo restorecon -R /mnt/shared tee fs.xml << EOF > /dev/null <filesystem type='mount' accessmode='mapped'> <source dir='/mnt/shared'/> <target dir='shared'/> </filesystem> EOF virsh shutdown vm virsh attach-device vm fs.xml --config virsh start vm ssh vm sudo mkdir -p /mnt/shared sudo tee -a /etc/fstab << EOF > /dev/null shared /mnt/shared 9p trans=virtio 0 0 EOF sudo mount -a References Virt-manager and shared folder host/guest permission issue?
To not interfere with your os configuration and keep your project reproducible, you should use a virtual environment as long as possible.
Virtual environment are a way to isolate your project from the rest of the system, and to avoid dependencies conflicts.
Python Virtualenv Lets start by installing the virtualenv package.
sudo apt install python3-venv And now you can create venvs for your project:
python3 -m venv .venv/myproject It is a good practice not to create a virtualenv with name “venv”, but to use a name that reflects the project you are working on, in order to see directly in which venv you are working.
Gephi is a software package for graph visualization. Let’s install it on Linux.
Install Gephi su - # Switch to root cd /opt/ wget https://github.com/gephi/gephi/releases/download/v0.9.5/gephi-0.9.5-linux-x64.tar.gz -o tar -xzf gephi-0.9.5-linux-x64.tar.gz rm gephi-0.9.5-linux-x64.tar.gz cd gephi-0.9.5 Now you could use it by running ./bin/gephi in the terminal.
Setup desktop entry For an easier access, you could add a desktop entry to your menu.
// /home/$USER/.local/share/applications/gephi.desktop [Desktop Entry] Name=Gephi Comment=Launch Gephi Path=/opt/gephi-0.9.5/ Exec=/opt/gephi-0.9.5/bin/gephi Terminal=true Type=Application Icon=gephi.
Rendering $\LaTeX$ formulas in Pelican is easy.
Firstly import the pelican plugin in the proper python environment:
pip install pelican-render-math Add render_math to PLUGINS list in your pelicanconf.py file:
PLUGINS = ['render_math'] Then type formula in your blog post markdown documents:
$$ \frac{1}{2} $$ $$ \frac{1}{2} $$
And that’s it !
Install plotutils Debian $ sudo apt-get install plotutils-dev Fedora $ sudo dnf install plotutils-devel Use PlotUtils to plot a graph Let us draw the $sin(x)$ function using math library.
#include <stdio.h> #include <math.h> #define RANGE 100 // Export data to stdout void plot(double *x, double *y, size_t len) { for (unsigned int i = 0; i < len; i++) printf("%lf %lf\n", x[i], y[i]); } int main(void) { int i; double x[RANGE], y[RANGE]; // Compute sin(x) for (i = 0; i < RANGE; i++) { x[i] = i * 0.
After recording bats, orthoptera or birds, it is often necessary to see the spectrograms of the sounds, for instance while analysing Vigie-Chiro Program bat records
The software needed to do so are often only for Windows, in the present article, we will learn how to install these softwares (i.e. Kaleidoscope, Syrinx, Batsound 4, 7-zip, Lupas-Rename).
Install Wine Wine is a software that enable .exe software to run on UNIX systems such as Linux or Mac OS.