We have ourselves a winner in the 2nd Programming Language World Championships! #plwc2020

Congratulations to Python, which was able to defend its title in a narrow 55 - 45 victory over C.

Third place goes to Rust with a convincing 68 - 32 against Lua.

Thank you to everyone who participated in the polls! See you next year for the third edition!

#2268 "Further Research is Needed" 

A lot of people are confused by git. Most of these people, I reckon, learned it from the outside in - from the command-line interface down. If you started with git by asking "how do I sync up my changes with my peers", then you might get the answer, but you will be missing the foundation on which that answer is built. This is the main source of confusion with git.

The better way is to learn git from the inside out. You should first learn about what objects are and how they're stored and identified, and how they relate to each other. You should learn what blobs, trees, and commits actually are, and how they relate to each other, and how commits form a linked list from which a graph of all objects can be derived.

Then you should learn how the ref database gives friendly names like "master" and "feature/foobar" to objects, and how the reflog tracks changes to references over time.

THEN, and only then, should you learn how to use the CLI. Then you can learn about using the staging area to add objects to the database and create commits, and how doing this updates the reflog.

Git makes total sense when you approach it from this angle. Supposedly hard tools like git rebase are totally understandable when you view them with the appropriate foundational knowledge.

Git is a tool which you will reach for hundreds of times a day, every day, for your entire career. Maybe it's worth learning about properly.

Idea: NFC receipts as an alternative to paper receipts

I don't want to give you my email address, but you encode the receipt data onto an NFC pad I can tap my phone to, we can save paper without giving you that oh-so-tasty data

Je rêve d'un fond de carte #openStreetMap où l'on pourrait afficher les lignes de transport en commun comme sur les cartes (et autres schémas simplifiés) de ces transports.
Par exemple avec un code couleur pour les différentes lignes.
Ça serait tellement plus pratique et lisible que l'actuel.

Ça existe ? 😃

#OSM

Dis :mastodon:, que me conseillerais-tu comme méthode pour apprendre le Braille ? Sachant que je vois encore assez pour lire plus ou moins normalement.
Je suis allé sur différents sites, des associations, mais pas de méthode qui me semble mieux que l'autre...
Il n'y a pas d'urgence mais je préfère ne pas trop attendre.
Comme disait Desproges, je vais parler en braillant.
🤗😘

Un outil en ligne de commande et une interface web permettent de consulter et modifier les bogues. On peut imaginer (rêver ?) que dans l’avenir les logiciels de forge utilisent ce système pour stocker les informations directement au sein du dépôt. Ainsi la migration serait automatique d’un hébergeur à l’autre.

Show thread

L’application git-bug s’appuie sur le système de versionnage de bas niveau de Git pour y stocker l’intégralité des informations sur les bogues directement à l’intérieur du dépôt — mais de façon séparée du code en lui-même. Vos collaborateur·rice·s récupèrent ainsi tous les bogues en synchronisant simplement le dépôt, et toutes ces données suivront naturellement le code s’il est migré vers une nouvelle forge.

Show thread

Un déménagement de forge, ça peut s’imposer si l’hébergeur ne maintient plus correctement son site, si ses valeurs viennent à diverger avec les vôtres, s’il est forcé légalement à vous en exclure… Pensez par exemple aux sanctions étasuniennes qui ont dernièrement mis les iranien·ne·s à la porte de leur compte GitHub et par conséquent de toutes les données des bogues liés à leurs projets.

Show thread

Imaginez que vous deviez déménager un projet collaboratif depuis GitHub ou GitLab vers une autre forge. Tous les fichiers stockés sur Git et leur historique seraient intacts, mais qu’adviendrait-il du contenu du système de suivi de bogues ?

➡️ git-bug est un système de suivi de bogues décentralisé qui veut offrir une solution à ce problème et réduire notre dépendance aux logiciels d’hébergement de dépôt Git.

github.com/MichaelMure/git-bug

:linux: :mint: :debian: :ubuntu: :archlinux:

Oh woao... un site qui permet de rechercher des packages dans TOUS les dépôts existants (Debian, Ubuntu, LinuxMint, Fedora, Gentoo, Arch, Manjaro, Raspbian, OpenSUSE...).

La liste des dépôts supportés est énorme: repology.org/repositories/stat

Par exemple si on prend rclone, on peut voir dans quels dépôts il est disponible, dans quelle version, et qui est le maintainer: repology.org/project/rclone/ve

13h15 – Présentation : Faciliter le calcul déterministe distribué avec WASI par Jakub Konka – salle UA2.114 (Baudoux) – @fosdem@twitter.com #FOSDEM2020 @mozilla@twitter.com @kubkon@twitter.com

Au cours des prochains jours, je vais donc passer en revue sur ce fil les douze problèmes auxquels nous avons été confrontés pendant cette édition du concours et ce qu’on peut en retirer !

Show thread

J’ai beaucoup appris au cours de mes participations au concours, je suis de fait convaincu de l’intérêt pédagogique de la pratique de la programmation compétitive. Pour s’entraîner à débroussailler des problèmes et à identifier les techniques algorithmiques pertinentes. Pour s’exposer à de nouveaux concepts mathématiques et informatiques. Pour pratiquer la programmation et le travail en équipe. Pour réseauter. Et bien d’autres choses.

Show thread

Petite particularité : chaque équipe concurrente ne dispose que d’un ordinateur pour trois et est seule, sans accès à Internet, pour l’intégralité du concours. L’histoire de l’ICPC remonte aux années ’70 ce qui en fait l’un des plus vieux concours d’informatique. À l’époque, les participants programmaient en Fortran sur des cartes perforées…

Show thread

Le SWERC est une épreuve régionale qualificative pour l’ durant laquelle, pendant cinq heures, des candidat·e·s s’attaquent en équipes de trois à une dizaine de problèmes d’algorithmique de difficulté variable. Pour résoudre un problème, une équipe doit comprendre quels principes lui sont sous-jacents, concevoir un algorithme pour le résoudre efficacement et l’implémenter.

Show thread

Ce week-end, j’ai eu l’honneur de pouvoir faire équipe avec deux amis au concours de programmation compétitive où nous avons représenté l’université de Montpellier. Il était organisé par Telecom Paris sur leur nouveau campus de Palaiseau au sud de Paris. Pour cette troisième participation à l’épreuve, nous sommes parvenus à nous hisser à la 45ᵉ place parmi les 95 équipes concourantes.

L'enfer de la programmation, conseil important 

Social

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!