I just deleted my Twitter account. Twitter has been unbearable for a while, but the censorship in France has dramatically increased over the past few months, with arbitrary account suspensions, soft-ban of some accounts and finally Twitter support condoning straight up insults and defamatory content.
I had it coming, staying on that platform. Twitter, never again.

I developed a daemon in . I used an event loop approach, with a select and many recv channels for various events (including a context.Done). Some of them are dynamically added, as the program executes. For this, I was forced to use reflect.Select instead of the builtin select keywords. I started wondering if I was not implementing smth that is not typical in Go?
Did you already implemented a daemon that way in Go? What is your feedback about this approach? What is your preferred approach?

Si tu veux te documenter sur le d'un point de vue technique, on en a parlé pendant 4h30 (!!) hier soir : youtube.com/watch?v=1pZir1BPDH

Il y en a des choses à en dire, pour un truc qui existe depuis si peu de temps. La vidéo offre une vision d'ensemble.

Did I mention the -s option ?

> file only attempts to read and determine the type of argument files which stat(2) reports are ordinary files.

Ordinary, not "regular". Yeah, because the file type "symlink" is "ordinary".

```bash
$ file -s truc
truc: symbolic link to go.sum
$ file -sL truc
truc: ASCII text
```

Who designed this CLI? And why?

Show thread

The file command from libmagic has two options:
* -h, --no-dereference
* -L, --dereference

They control whether file follows symlinks.
Demonstration :

```bash
$ file -h
<prints help, because missing filename, not because --help>
$ file -h truc
truc: symbolic link to go.sum
$f file -L truc
truc: ASCII text
$ file -Lh truc
truc: symbolic link to go.sum
$ file -hL truc
truc: ASCII text
```

More than 6 years after standardization, the Go HTTP/2 implementation is STILL missing the client code for Server Push... github.com/golang/go/issues/18
Oh sure, the server impl can push. But you cannot use it from the client side... (disabled with an hardcoded value).

And I am talking about Go because most Python server implementations (including Flask and Django) do NOT even support server push at all. They rely on the HTTP server to do it (Link response header).

HTTP/2 really is a train wreck.

TousAntiCovid, :fr: 

À noter qu'ils ont par ailleurs publié une étude très détaillée des analytics, et de leur impact significatif sur la vie privée, que je recommande fortement de lire !
gitlab.inria.fr/stopcovid19/st

Show thread

TousAntiCovid, :fr: 

Ce thread n'aurait pas été possible sans le travail inestimable de @JohanD_0@twitter.com, @gilbsgilbs@twitter.com et @cryptosaurus6@twitter.com et des membres du salon matrix -sanitaire:matrix.piotr.paris
Merci à eux.

Show thread

TousAntiCovid, :fr: 

Alors pourquoi ?
En toute bonne foi, je ne vois que deux réponses possibles : 
* les statistiques sont trop faussées pour être exploitables, ou collectées pour faire joli ;
* les chiffres d'utilisation de l'application sont mauvais.
Chacun se fera un avis.

Show thread

TousAntiCovid, :fr: 

Chaque activité est horodatée, et certaines sont associées à un identifiant unique généré lors de l'installation.
Les statistiques communiquées par le gouvernement auraient donc pu être basées sur le nombre d'identifiants uniques sur une période d'observation. 

Show thread

TousAntiCovid, :fr: 

Il se trouve que @TousAntiCovid dispose de statistiques très détaillées (21 événements différents) qui sont envoyées à un serveur, et qui indiquent ce que fait l'utilisateur sur l'application : affichage de certaines pages, utilisation de certaines fonctions, etc. 

Show thread

TousAntiCovid, :fr: 

Est-ce que ce thread est tombé dans le sophisme du Nirvana ? Est-ce le seul chiffre qui est la disposition du gouvernement ? Est-ce le plus pertinent ? 
Vous vous en doutez, si j'écris ce thread, c'est que la réponse est non aux trois questions...

Show thread

TousAntiCovid, :fr: 

Le découplage qui a été observé à l'époque existe certainement encore, même si le ratio peut avoir changé avec l'utilisation du pass sanitaire. Mais ça montre clairement qu'utiliser le nombre d'enregistrements pour compter les utilisateurs est fallacieux.

Show thread

TousAntiCovid, :fr: 

On peut aussi noter que @cryptosaurus6 avait déjà fait une analyse suite à une demande CADA : twitter.com/cryptosaurus6/stat 
En gros, 3 ou 4 millions d'utilisateurs actifs, pour 10 à 12 millions de téléchargements à l'époque

Show thread

TousAntiCovid, :fr: 

Sur cette page, il est dit que le compteur est le nombre d'enregistrements, moins le nombre de désenregistrements. Sauf que pour se désenregistrer, il faut le faire manuellement. Désinstaller @TousAntiCovid ne désenregistre pas. Donc "personne" ne le fait.

Show thread

TousAntiCovid, :fr: 

Ces 30 millions, c'est le nombre de "register", c'est-à-dire le nombre de personnes ayant activé la fonctionnalité Bluetooth de @TousAntiCovid. En fait, les analytics sont activées par défaut, mais uniquement si on a activé le bluetooth au moins une fois 🤣

Show thread

TousAntiCovid, :fr: 

Mais est-ce que ce chiffre est même fiable ? Ce 30 millions est disponible en Open Data ici : data.gouv.fr/fr/datasets/metri

Show thread

TousAntiCovid, :fr: 

Chaque installation sur un téléphone différent compte vers un téléchargement supplémentaire sans pour autant être réellement un utilisateur supplémentaire. Assimiler les téléchargements aux utilisateurs uniques est tout bonnement fallacieux.

Show thread

TousAntiCovid, :fr: 

2) de nombreux commentaires font état du fait que @TousAntiCovid plante ou a planté régulièrement, et que la seule correction qu'ils aient trouvée était de désinstaller et de réinstaller.
3) Certains utilisateurs disposent de plusieurs téléphones portables, ou en changent.

Show thread
Show older
Infosec Exchange

A Mastodon instance for info/cyber security-minded people.