C'est pas comme si je faisais partie de ceux qui alertaient sur le problème depuis dès années... Aller après 30 secondes de recherche sur mon shaarli :
- https://www.cakeozolives.com/shaarli-antichesse/?YKQJGA
- https://www.cakeozolives.com/shaarli-antichesse/?jPti2w
- https://www.cakeozolives.com/shaarli-antichesse/?4AU2-w
Le concept est simple : les assureurs préfèrent payer des constructeurs automobiles afin d'acheter nos informations comportementales, informations dont ils se serviront ensuite afin de ne pas nous payer nous, lorsque nous aurions besoin d'être indemnisés en cas d'accident... Vous savez, c'est pile poil au moment où nous serons les plus fragiles et où nous aurions le plus besoin que tout soit rapide et simple...
Heureusement que l'Union Européenne nous protège avec le RGPD et qu'elle n'a jamais légiféré dans l'optique de créer un marché de la donnée, incluant les données médicales. #FREXIT #UERSS
Un exemple de plus s'ajoutant à la montagne d'exemples démontrant en quoi l'UE est un projet totalitaire, néo-libéral, à la solde des plus gros intérêts financiers de la planète mais en aucun cas du côté des peuples.
Et pourtant, une montagne tout aussi grande de personnes aveuglées, ira se battre bec-et-ongle pour maintenir ce totalitarisme en place et les asservir un peu plus chaque jour.
Facepalm
Ou alors on a déjà codé au moins une IA dans sa vie (même un perceptron tout bête suffit) et donc on comprend que l'algorithme est parfaitement neutre mais que son apprentissage est basé sur des données.
Or pour apprendre une IA a besoin de millions de données, quantité quasi impossible à trier, filtrer, nettoyer parfaitement et qu'en conséquence les biais de ses données accumulées lors des DÉCENNIES PASSÉES se retrouvent dans les associations faites par l'IA.
Mais sinon c'est sûr, toutes les IA grand public connues ayant été touchées par ces "problèmes de racisme", c'est qu'en réalité tous les développeurs spécialisés dans le machine learning sont des fascistes, racistes, xénophobes, membre du KKK, etc.
Mouais tous ils y codent leur petit if (isBlack) return "monkey";
et pour sûr Facebook a laissé faire alors même qu'il y a des revues de code !
Windows 10, même en désactivant tous les systèmes de télémétrie, envoie toutes les 30 minutes des données en Irlande, au Pays-Bas et aux USA. Microsoft n'a pas changé, elle ne promeut pas le libre, elle ne nous veut pas du bien et elle continue de fournir un système d'exploitation de l'homme et non de la machine.
Si j'organise une install-party Linux, est-ce que ça intéresse quelqu'un ?
-
L'indice des primary keys commence à 1 et non à 0 (donc faire bien attention avec des insert efrectués manuellement lorsque l'on veut s'assurer qu'un tuple dispose d'un ID en particulier).
-
Mieux vaut utiliser des ID en UNSIGNED, par exemle :
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT
Ceux-ci permettent de n'avoir que des ID positifs et rangés pas ordre croissant, ce qui améliore la recherche. De plus votre limite passera de 2 millards d'entrées à 4 milliards d'entrées dans cette table.
- Préférez le type INT UNSIGNED à BIGINT (qui peut aussi être UNSIGNED). Vous ferai une économie mémoire d'environ 12% sur les recherches et économiserez 4 octets sur le disque par tuple ayant un id (et ceci pour chaque table).
Limitations :
- BIGINT UNSIGNED permet de gérer jusqu'à 2^64 - 1 entrées alors que INT UNSIGNED jusqu'à 2^32 - 1. On risque d'atteindre plus rapidement la limite non ?
==> Oui c'est vrai, mais admettons que :
- Notre système encaisse 100 000 insertions / jour.
- Cela fera 36 500 000 d'insertions / an.
- Soit 3 650 000 000 insertions pour 1 siècle.
Si votre application est toujours là dans 10 an ce sera déjà énorme alors 1 SIÈCLE !!!
Moralité, nous ne sommes pas Google.
(Pour Chlouchloutte)
Plus j'utilise ActiveJDBC et plus je trouve ce framework excellent.
Dessiner le schéma de sa base de données et générer le SQL qui va bien à partir de ce schéma.
Voici la liste des outils que j'ai trouvé et qui soient "gratuits" (le premier est sympa) :
N.B : je n'ai pas lu les conditions d'utilisation !
Bon, dans l'idée j'utilisais Gitea et impossible de migrer de la 1.3.3 vers la 1.4.0. Systématiquement le fichier de la base indiquait une corruption pendant la migration. Auparavant j'avais déjà perdu des données.
Bref, voici ce qu'il faut faire pour (1) protéger SQLite des erreurs d'écriture et (2) réparer l'index de la base quand celui-ci est cassé (attention, je n'ai jamais réussi à récupérer un datafile mort si l'équivalent de la MFT de SQLite était touché).
1) Pour éviter les erreurs avec SQLite, ne pas activer les options : noatime et nodiratime.
En effet, SQLite se servirait de la date de mise à jour des inodes pour gérer les accès concurrentiels au datafile. Cela est certes dit au conditionnel mais en supprimant ces options de mon /etc/fstab je n'ai plus d'ennuis.
2) Pour récupérer la base corrompue il faut :
-
Installer le paquet sqlite3 :
sudo apt install sqlite3
-
Saisir la commande :
sqlite3 gitea-broken.db ".dump" | sqlite3 gitea-repaired.db
Merci à Ecyseo
Je l'avais dit ici, que payer c'est voter. Il est temps d'appliquer cette maxime à Uber maintenant.
Pour résumer l'article :
- Uber a développé un soft permettant de déconnecter n'importe que PC / Server / ... de son SI.
- Le soft est piloté par la maison mère.
- Dès qu'Uber entend parler d'une descente de police dans ses locaux (ici à Montréal), la direction ordonne la déconnexion de tout le parc de Montréal.
=> Plus de contrôle possible pour fraude.
Voilà voilà
Les ropes sont une structure de données optimisée pour manipuler des textes avec beaucoup beaucoup de caractères. Je ne connaissais pas, s'inspire des arbres visiblement.
api.gouv.fr
Gérer Hibernate (ici v3) avec l'encodate UTF-8 et MySQL
Merci pour les liens Jeekajoo
Une autre documentation sur les bonnes pratiques de versioning de base de données.
Une liste de bonnes pratiques sur le versioning de base de données.
L'avenir est à JavaScript. Un autre tuto sur les bases MongoDb
Un tuto sur CURL.
Un récapitulatif des différents types de données disponibles sur MySQL et MariaDB. Toujours pratique à avoir sous la main.