### Approval voting

###### Fri 22 April 2022
Children approving their teacher (Photo credit: Wikipedia)

## Method explanation

Each voter can apprrove as many candidate as he wants. It can be seen as a majority judgement with only two possible notes. It can also be presented as the same process as a time management system (such as doodle).

## Implementation

To compare with other methods, I start with the ballots for majority judgment and for each ballot approve all candidates whose note is above a threshold.

def jm_to_approval(jm_vote):
"""transform vote for "juement majoritaire" to approval list."""
notes = MajorityJudgement.notes
values = dict(zip(notes, range(7)))
return [name for name, appr in jm_vote.items() if values[appr] < 4]


For the rest, simple counters are enough:

• to count number for each candidate
• to count the total number of voters

Graphical representation rely on plot bar.

## Results

The results can be different from the one from other voting methods. I'm surprised by the difference between Borda method and approval method. In Borda method, the candidates after the third one have really few points compared to the first ones. In the approval method, if a voter approve 4 candidates, all those candidates have the same approval (no distinction between them).

Approval method

This may also come from the threshold I put. I choose this threshold because I think a voter approve all the OK. Nevertheless, it seems the number of approval (archive) can be less than expected (less than 2 approval in average). I find this number really really low. Perhaps it is due to the political offer that does not correspond to voters expectations.

Category: python Tagged: geopolitics python vote

### Voting method reflections

###### Fri 28 January 2022
Transparent voting box (Photo credit: Wikipedia)

This article presents personal thoughts on voting methods. More specifically, it presents guarantees offer by the traditional non-electronic voting method and won’t elaborate on electronic voting.

## Specifications

First, let’s define few specifications I’d like to develop.

• any voter can understand how …

Category: reflections Tagged: geopolitics reflection vote

### Tkinter and Asyncio

###### Thu 18 February 2021
Asynchronous process results waiting (Photo credit: Wikipedia)

Graphical interfaces are typically the kind of object that can take advantage of asynchrounous programming as a GUI spend lot of time waiting for user input.

Tkinter <https://docs.python.org/3/library/tkinter.html#module-tkinter>_ is a kind of standard for graphical …

Category: how to Tagged: python asyncio

### Latex generator using Jinja

###### Wed 11 November 2020

The goal is to generate a PDF file using python. I decided to generate $$\LaTeX$$.

## Pipeline

I decided to use jinja as its documentation mention it.

\begin{equation*} \boxed{\text{Jinja template}} \xrightarrow[\text{python}]{} \boxed{\LaTeX} \xrightarrow[\text{pdflatex}]{} \boxed{\text{PDF}} \end{equation*}

The …

Category: LaTeX Tagged: python LaTeX Jinja

### HTTP to HTTPS

###### Fri 24 July 2020
Public key (Photo credit: Michael Drummond)

The goal was to migrate from HTTP to HTTPS

## HTTPS overview

The HTTPS protocol rely on TLS (previously SSL) to ensure data integrity (data cannot be modified unnoticed), confidentiality (requested URL and content are only known by end points) and authentication (end points are …

Category: network security Tagged: Unix Debian tools how to network security

### Wikipedia crawling (part II)

###### Thu 11 June 2020
Crawling (Photo credit: Wikipedia)

Wikipedia has specific infobox templates. This is the normalized way to enter specification inside wikipedia articles. It provides templates with already defined fields. For example the planet template has fields such as periapsis or …

Category: how to Tagged: python wikipedia html data retrieval

### Travis setup

###### Tue 12 May 2020
One job in continuous integration pipeline (Photo credit: Wikipedia)

The goal is to setup a CI pipeline based on Travis with external dependencies integrated to a Github repository

## Travis basics

To enable Travis integration in Github, one must edit ./.travis.yml file.

I won't go into detail. The setup is …

Category: how to Tagged: travis ci how to