Jusqu'à 32768//6 * 6 - 1 = 32765, la répartition entre les 6 chiffres (0 .. 5) est équivalente : 5461 chacun.
Mais 32766, dont le modulo 6 est 0, ajoute une chance pour 0.
Et 32767, dont le modulo 6 est 1, ajoute une chance pour 1.
Au final, ce générateur de mauvaise qualité a la distribution suivante:
0 : 5462 / 32768 = 0,16668
1 : 5462 / 32768 = 0,16668
2 : 5461 / 32768 = 0,16665
3 : 5461 / 32768 = 0,16665
4 : 5461 / 32768 = 0,16665
5 : 5461 / 32768 = 0,16665
C'est un pouillème, et dans notre cas pas très important.
Mais si tu utilise ça avec un modulo plus grand, la distorsion s'amplifie et peut avoir des effets non désirés.
Bref, si l'application est sérieuse, ne pas utiliser ça ; et c'est vrai dans tous les langages : RANDOM et MODULO = PAS BIEN !
$RANDOM retourne une valeur entre 0 et 32767 (2**15 valeurs).
Donc fonctionne exactement pour des puissances de 2 mais par pour les autres cas.
Pour les autres cas, la distribution n'est pas parfaite.
Bon pour 7, l'imprécision est très faible, moins de 1 pour 1000.
Mais je dirai que c'est un coup de chance.
En français : un SGBD n'est pas nécessairement un SGBDR.
Il est encore fréquent qu'un concepteur de logiciel choisisse une base de données relationnelles pour manipuler ses données alors que l'usage n'est pas adapté : quand les relations entre les données ne sont pas très importantes.
Or les bases de données relationnelles, comme toutes les formes de stockages, ont leurs inconvénients : peu performante en I/O, peu scalable et une API plutôt lourde (à base de déclaration SQL, curseur, connexion).
Une image : si ton cas d'usage est de garer ta voiture, est ce que tu vas utiliser un parking où toutes les roues sont stockées d'un côté, toutes les portes d'un autre, etc. et qu'il faut désosser la voiture pour la garer et tout reconstruire pour la récupérer ? Non, tu vas utiliser un parking où tu peux garer ta voiture en entier et la retrouver grâce au numéro de place que tu aura mémorisé.
En revanche, une base de données relationnelles peut être très adaptée à stocker les données de gestion d'une entreprise (produit, facture, stock, commande, client) qui ont besoin d'une forte intégrité et dont l'unité de l'objet est peu importante.
Le stockage clé/valeur, choisi ici, est un des plus basique. Il propose peu de fonctionnalités (en gros put/get/delete) mais est très simple à manipuler, scalable et très performant en I/O.
J'ai franchement tripé en lisant le journal.
J'avais été très frustré de ne pas pouvoir appliquer coreboot sur du matos moderne.
Si le travail abouti, on aura beaucoup progressé.
Juste deux remarques de forme qui me sont venues à la lecture :
* le titre "Le premier, un peu bébête mais super complexe : faire rentrer notre code de BIOS dans une NVRAM ridiculement petite" est trop long et on aurai dit une faute de mise en forme sur une phrase. Il faudrait le faire commencer à "faire", en supprimant le début.
* le terme téléverser est une traduction de "upload". Un wget a plutôt tendance à télécharger (= "download") dans le cas qui nous occupe.
Je vais être relou en insistant mais bup ne reprend pas un principe de gestion de configuration mais une technologie : packfile, qui lui permet de faire de la déduplication plus efficacement qu'un rsync par exemple.
Donc ça ne valide pas le principe IMHA.
Bup reprend une technologie déjà utilisée par un logiciel de gestion de configuration et s'en sert pour faire de la déduplication. Mais c'est bien un logiciel de sauvegarde.
Quand on parle de sauvegarde, le vrai besoin qui est adressé est la protection de données.
Cela passe par une analyse de risque : quelle donnée, quel risque, quel probabilité d’occurrence, quel impacte sur des choses importantes (mes souvenirs, l'effort pour les recréer, etc.).
De cette analyse découle les moyens à mettre en œuvre : copie distante, chiffrée, en de multiples endroits, dans de multiples versions, dans différents formats, etc.
La gestion de configuration ("version control") et la sauvegarde ont une intersection sur "multiple versions" qui permet de se protéger de l'erreur humaine. Mais pour que de la gestion de configuration réponde à tous les aspects de la protection de donnée, il faudrait … sauvegarder les données de son système de gestion de configuration.
La gestion de configuration répond en réalité à un autre besoin qui est la traçabilité : quel était l'état de mes source qui a permis de construire telle version de mon logiciel. Qui a introduit le bug numéro n dans les sources. Il répond aussi au besoin de résolution des conflits en cas de modification concurrentes.
Si tu perds ton git, tu perds l'historique. Si une copie locale et un git te suffise, alors tu n'avait pas besoin d'un git mais d'un simple rsync.
Désolé mais enregistré des données se dit en français "enregistrement des données".
Tu confonds avec "save" en anglais.
Sauvegarde se traduit par "backup".
Ils utilisent (enfin utilisaient, je n'ai plus regardé le code source) un hash basé sur les premiers 16Ko des fichiers
Donc c'est surtout un bug.
Un hash sur le début du fichier peut être un hint - si on a pas ce hash on est sûr que le fichier est non connu.
Mais si ce hash est connu, il faut poursuivre sur le contenu complet. C'est ce que fait FIM si je me rappelle mes lectures.
Si tu prends taille + hash complet, le risque de collision est infinitésimal.
En fait, globalement, je pense avoir la même réaction que toi : la place de l'énergie fossile et l'argent qu'elle brasse est symptomatique d'une société court-termiste, individualiste et égoïste.
Mais ce site, qui s'appelle "prix du carburant".fr et pas "quelles ressources énergétiques pour une société durable".fr a eu le mérite à sa création de raviver la concurrence entre les distributeurs. Et non, ce n'est pas parce que le produit est plus cher qu'il traite mieux les salariés ou l'environnement. Question carburant, j'estime qu'ils sont à peu près tous au même niveau.
Ce site n'est pas un site militant. Il y en a plein d'autres qui le sont et même certain dont on parle ici openfoodfact par exemple.
pas d'intro, pas de conclusion, pour un journal très long.
Je n'ai pas compris l'objet de cet article.
Si c'est pour dire que la plupart des pages HTML sont bloatées; Bah oui merci, on sait.
tu décortiques une "page officielle prise au hasard".
Mais sans en donner le lien.
Et puis une "page officielle", ça me rappelle la blague de la bite avec un attaché case.
comble du comble pour qqun qui dénonce les mauvaises pratiques du web : foutre un lien vers wikipedia avec une redirection gggle.
Non mais là, à ta place je me fais hara-kiri.
Posté par steph1978 .
En réponse à la dépêche Cheky.
Évalué à 2.
Je partage.
À la lecture du site, on sait comment ça marche mais pas ce que ça fait.
J'ai fait un outil similaire et le premier morceaux que j'ai écrit, c'est le README.
Je trouve que ça aide à aller à l'essentiel des fonctionnalités et à construire l'interface (ce qui est le plus compliqué pour moi) à partir d'un cas d'usage concret.
C'est encore plus vrai quand le public visé est non spécialiste ; j'ai galéré pour décrire le concept de "session de recherche" par exemple.
[^] # Re: Et en Java ?
Posté par steph1978 . En réponse au journal Parce que ca vaut largement un journal .... Évalué à 10.
Travaillons avec 6.
Jusqu'à 32768//6 * 6 - 1 = 32765, la répartition entre les 6 chiffres (0 .. 5) est équivalente : 5461 chacun.
Mais 32766, dont le modulo 6 est 0, ajoute une chance pour 0.
Et 32767, dont le modulo 6 est 1, ajoute une chance pour 1.
Au final, ce générateur de mauvaise qualité a la distribution suivante:
0 : 5462 / 32768 = 0,16668
1 : 5462 / 32768 = 0,16668
2 : 5461 / 32768 = 0,16665
3 : 5461 / 32768 = 0,16665
4 : 5461 / 32768 = 0,16665
5 : 5461 / 32768 = 0,16665
C'est un pouillème, et dans notre cas pas très important.
Mais si tu utilise ça avec un modulo plus grand, la distorsion s'amplifie et peut avoir des effets non désirés.
Bref, si l'application est sérieuse, ne pas utiliser ça ; et c'est vrai dans tous les langages : RANDOM et MODULO = PAS BIEN !
[^] # Re: Et en Java ?
Posté par steph1978 . En réponse au journal Parce que ca vaut largement un journal .... Évalué à 3.
C'est plus simple mais c'est faux.
$RANDOM retourne une valeur entre 0 et 32767 (2**15 valeurs).
Donc fonctionne exactement pour des puissances de 2 mais par pour les autres cas.
Pour les autres cas, la distribution n'est pas parfaite.
Bon pour 7, l'imprécision est très faible, moins de 1 pour 1000.
Mais je dirai que c'est un coup de chance.
[^] # Re: BDD
Posté par steph1978 . En réponse à la dépêche Première sortie d’Élixir : embarquez, naviguez !. Évalué à 2. Dernière modification le 03 juillet 2017 à 16:22.
En français : un SGBD n'est pas nécessairement un SGBDR.
Il est encore fréquent qu'un concepteur de logiciel choisisse une base de données relationnelles pour manipuler ses données alors que l'usage n'est pas adapté : quand les relations entre les données ne sont pas très importantes.
Or les bases de données relationnelles, comme toutes les formes de stockages, ont leurs inconvénients : peu performante en I/O, peu scalable et une API plutôt lourde (à base de déclaration SQL, curseur, connexion).
Une image : si ton cas d'usage est de garer ta voiture, est ce que tu vas utiliser un parking où toutes les roues sont stockées d'un côté, toutes les portes d'un autre, etc. et qu'il faut désosser la voiture pour la garer et tout reconstruire pour la récupérer ? Non, tu vas utiliser un parking où tu peux garer ta voiture en entier et la retrouver grâce au numéro de place que tu aura mémorisé.
En revanche, une base de données relationnelles peut être très adaptée à stocker les données de gestion d'une entreprise (produit, facture, stock, commande, client) qui ont besoin d'une forte intégrité et dont l'unité de l'objet est peu importante.
Le stockage clé/valeur, choisi ici, est un des plus basique. Il propose peu de fonctionnalités (en gros put/get/delete) mais est très simple à manipuler, scalable et très performant en I/O.
[^] # Re: Pourquoi X86 (Intel)
Posté par steph1978 . En réponse à la dépêche Un pas en avant pour les serveurs libres : le projet NERF. Évalué à 4.
Ça s'achète où ?
# GG
Posté par steph1978 . En réponse à la dépêche Un pas en avant pour les serveurs libres : le projet NERF. Évalué à 6.
J'ai franchement tripé en lisant le journal.
J'avais été très frustré de ne pas pouvoir appliquer coreboot sur du matos moderne.
Si le travail abouti, on aura beaucoup progressé.
Juste deux remarques de forme qui me sont venues à la lecture :
* le titre "Le premier, un peu bébête mais super complexe : faire rentrer notre code de BIOS dans une NVRAM ridiculement petite" est trop long et on aurai dit une faute de mise en forme sur une phrase. Il faudrait le faire commencer à "faire", en supprimant le début.
* le terme téléverser est une traduction de "upload". Un wget a plutôt tendance à télécharger (= "download") dans le cas qui nous occupe.
# prix
Posté par steph1978 . En réponse au journal Diskiopi démarre un kick. Évalué à 3. Dernière modification le 30 juin 2017 à 15:12.
bon je vais faire le grognon.
pour avoir qqch de fonctionnel, faut environ mettre 500€.
pour un prix inférieur, on trouve de bonnes tablettes, compatibles Ubuntu et Android.
par rapport, je trouve le c.h.i.p plus versatile et hackable.
comme le critère économique ne semble pas le différenciant de ce projet, quel est ce différenciant ?
[^] # Re: Délester ?
Posté par steph1978 . En réponse à la dépêche Sortie de GCC 7.1. Évalué à 4.
En anglais on dirait "offload", donc plutôt "décharger".
Où simplement "déplacer".
[^] # Re: Alternatives libres...
Posté par steph1978 . En réponse au journal Un nouveau visualiseur de PDF sous Linux. Évalué à 2.
linuxmint/xreader utilise poppler aussi.
[^] # Re: Vorbis
Posté par steph1978 . En réponse au journal Opus 1.2. Évalué à 2.
Je dirai pas mieux que Patrick_g : oreille+cerveau != micro+électronique.
[^] # Re: Leave Jack alone!
Posté par steph1978 . En réponse au journal PipeWire veut unifier la gestion des flux audio et video. Évalué à 6.
Je lis souvent sur ce site que Jack c'est trop de la balle et que PA devrait reposer six pieds sous terre depuis longtemps.
En essayant de rester objectif et en s'adressant à un néophyte, pouvez-vous expliquer ce que fait l'un et ce que fait l'autre ?
En vous remerciant.
[^] # Re: protection de données
Posté par steph1978 . En réponse au journal Gestion de versions et sauvegarde de données. Évalué à 2.
Je vais être relou en insistant mais bup ne reprend pas un principe de gestion de configuration mais une technologie : packfile, qui lui permet de faire de la déduplication plus efficacement qu'un rsync par exemple.
Donc ça ne valide pas le principe IMHA.
[^] # Re: protection de données
Posté par steph1978 . En réponse au journal Gestion de versions et sauvegarde de données. Évalué à 2.
Bup reprend une technologie déjà utilisée par un logiciel de gestion de configuration et s'en sert pour faire de la déduplication. Mais c'est bien un logiciel de sauvegarde.
# protection de données
Posté par steph1978 . En réponse au journal Gestion de versions et sauvegarde de données. Évalué à 3. Dernière modification le 19 juin 2017 à 23:32.
Quand on parle de sauvegarde, le vrai besoin qui est adressé est la protection de données.
Cela passe par une analyse de risque : quelle donnée, quel risque, quel probabilité d’occurrence, quel impacte sur des choses importantes (mes souvenirs, l'effort pour les recréer, etc.).
De cette analyse découle les moyens à mettre en œuvre : copie distante, chiffrée, en de multiples endroits, dans de multiples versions, dans différents formats, etc.
La gestion de configuration ("version control") et la sauvegarde ont une intersection sur "multiple versions" qui permet de se protéger de l'erreur humaine. Mais pour que de la gestion de configuration réponde à tous les aspects de la protection de donnée, il faudrait … sauvegarder les données de son système de gestion de configuration.
La gestion de configuration répond en réalité à un autre besoin qui est la traçabilité : quel était l'état de mes source qui a permis de construire telle version de mon logiciel. Qui a introduit le bug numéro n dans les sources. Il répond aussi au besoin de résolution des conflits en cas de modification concurrentes.
Si tu perds ton git, tu perds l'historique. Si une copie locale et un git te suffise, alors tu n'avait pas besoin d'un git mais d'un simple rsync.
[^] # Re: De l'importance des mots
Posté par steph1978 . En réponse au journal Gestion de versions et sauvegarde de données. Évalué à 2.
Désolé mais enregistré des données se dit en français "enregistrement des données".
Tu confonds avec "save" en anglais.
Sauvegarde se traduit par "backup".
[^] # Re: Attention à la dé-duplication
Posté par steph1978 . En réponse à la dépêche Optimisations et corrections pour Fim 1.2.3. Évalué à 2.
Donc c'est surtout un bug.
Un hash sur le début du fichier peut être un hint - si on a pas ce hash on est sûr que le fichier est non connu.
Mais si ce hash est connu, il faut poursuivre sur le contenu complet. C'est ce que fait FIM si je me rappelle mes lectures.
Si tu prends taille + hash complet, le risque de collision est infinitésimal.
# remarque
Posté par steph1978 . En réponse à la dépêche Lstu sort en version 0.08. Évalué à 4.
Plus précisément, SQLite ne permet qu'un écrivain à la fois mais autant de lecteurs que voulu.
cf : http://www.sqlite.org/lockingv3.html#writing
[^] # Re: Questionnement
Posté par steph1978 . En réponse au journal OpenStreetMap et carburants. Évalué à 7.
En fait, globalement, je pense avoir la même réaction que toi : la place de l'énergie fossile et l'argent qu'elle brasse est symptomatique d'une société court-termiste, individualiste et égoïste.
Mais ce site, qui s'appelle "prix du carburant".fr et pas "quelles ressources énergétiques pour une société durable".fr a eu le mérite à sa création de raviver la concurrence entre les distributeurs. Et non, ce n'est pas parce que le produit est plus cher qu'il traite mieux les salariés ou l'environnement. Question carburant, j'estime qu'ils sont à peu près tous au même niveau.
Ce site n'est pas un site militant. Il y en a plein d'autres qui le sont et même certain dont on parle ici openfoodfact par exemple.
[^] # Re: Pour une intégration des données sur application mobile
Posté par steph1978 . En réponse au journal OpenStreetMap et carburants. Évalué à 2.
Où est le code ?
[^] # Re: Améliorations
Posté par steph1978 . En réponse au journal OpenStreetMap et carburants. Évalué à 3.
Lire https://www.prix-carburants.gouv.fr/rubrique/opendata/
[^] # Re: Questionnement
Posté par steph1978 . En réponse au journal OpenStreetMap et carburants. Évalué à 4.
Je vois pas le rapport avec la morale.
Il s'agit de permettre au consommateur de comparer les prix des carburants autour de chez lui.
# matière première
Posté par steph1978 . En réponse au journal Mes péripéties avec la répétition espacée. Évalué à 2.
L'outil en soit ne paraît pas très compliqué et c'est une bonne chose.
Une limitation peut être, comme l'a souligné Ezka, au niveau de la gestion des thématiques.
Par contre, trouver la matière première ne me paraît pas simple.
Est-ce qu'il y a, à votre connaissance, des projets collaboratifs pour construire et/ou capitaliser les fiches ?
# lapin
Posté par steph1978 . En réponse à la dépêche Sortie du noyau Linux 4.11. Évalué à 2.
Je n'ai pas saisi le sens de cette phrase.
Il y a une file de réponses ICMP avec une taille finie, c'est ça ?
# moinssage
Posté par steph1978 . En réponse au journal #spaghettis xhtml standard, sauce javascript. Évalué à 3.
J'ai moinssé pour plusieurs raisons :
pas d'intro, pas de conclusion, pour un journal très long.
Je n'ai pas compris l'objet de cet article.
Si c'est pour dire que la plupart des pages HTML sont bloatées; Bah oui merci, on sait.
tu décortiques une "page officielle prise au hasard".
Mais sans en donner le lien.
Et puis une "page officielle", ça me rappelle la blague de la bite avec un attaché case.
comble du comble pour qqun qui dénonce les mauvaises pratiques du web : foutre un lien vers wikipedia avec une redirection gggle.
Non mais là, à ta place je me fais hara-kiri.
Au temps pour toi.
[^] # Re: Exemples d'utilisation ?
Posté par steph1978 . En réponse à la dépêche Cheky. Évalué à 2.
Je partage.
À la lecture du site, on sait comment ça marche mais pas ce que ça fait.
J'ai fait un outil similaire et le premier morceaux que j'ai écrit, c'est le README.
Je trouve que ça aide à aller à l'essentiel des fonctionnalités et à construire l'interface (ce qui est le plus compliqué pour moi) à partir d'un cas d'usage concret.
C'est encore plus vrai quand le public visé est non spécialiste ; j'ai galéré pour décrire le concept de "session de recherche" par exemple.
[^] # Re: Très bonne idée
Posté par steph1978 . En réponse à la dépêche Cheky. Évalué à 8.
Colombo n'est pas mort ! Hourra !
Quand j'en parlerai à ma femme, elle sera ravie.