C'est totalement impensable d'avoir de la RAM déporté dans le docking station, c'est même du absolument n'importe quoi d'un point de vue hardware (sauf à faire un RAM disque, mais ce n'est pas ce que l'on cherche à faire).
Switcher de cpu demande bien plus de travail que de simplement redémarrer. Cela pourrait être fait par intel : un moyen de transfert de la mémoire, et de l'état du processeur, et un moyen de démarrer les périphériques utilisés : un peu comme la gestion de la veille en RAM, mais avec un réveil sur une autre machine.
On utilise déjà des docks, le but est vraiment d'avoir un cpu puissant sur les bureau. L'idée de rajouter un moyen de refroidissement est pas mal, il pourrait passer de 25W à 100W d'enveloppe thermique. Cela pourrait être fait par n'importe quel constructeur en plus. On peut même imaginer un mini watercooling pour faire ça.
C'est presque ça. Je n'ai pas l'impression que tu puisses booter la machine externe depuis le disque de la machine en TDM. Le but est de pouvoir lire le contenu comme un disque externe.
L'idéal serait d'avoir des stations de travail diskless. Pour 1000€, tu peux avoir une bombe (i7 32Go de ram), ce qui n'est pas le cas pour un portable.
En gros, tu veux un bon écran anti-reflets en full hd ou plus, en 11" ou 13" (l'idéal pour moi).
Ensuite, la puissance nécessaire dépend des usages.
Mais typiquement, en dev, on veut être très mobile (1.5kg max avec alim, 10h d'autonomie) et avoir de la puissance, ce qui n'est pas possible avec une telle mobilité. Je rève donc que ce genre d'ultraportable puissent se connecter à des stations de travail en tant que "disque dur".
Avoir 2PC est très compliqué à gérer, il faut dupliquer tous les logiciels et les données. Si on pouvait partager un SSD entre 1 machines fixes puissante et un ultra portable, cela serait top.
En plus, on pourrait avoir des stations de travail "agnostique", n'importe qui pourrait se brancher dessus, et avoir son environnement.
Pour faire cela, il faut une certaine souplesse dans l'OS. Linux ne semble pas poser de problème, mais Windows doit avoir suffisamment de protections anticopies, pour que cela ne marche pas.
" l'on fait du hardware sont enormes pour constituer par exemple les bases de references de composants"
Je n'ai jamais compris pourquoi il fallait toujours redessiner l'empreinte d'un composant, alors que les boitiers suivent tous des standards (DIP, SO,…). Un composant devrait simplement référencer ce genre d'empreinte, et permettre de nommer les pins.
"Le résultat est très verbeux, peut-on faire plus simple ? Comment se gère ce problème dans les autres langages ?"
C'est un problème de meta-programmation. Tu as une forme de code qui tu veux transformer dans une autre forme qui se compile bien. Cette transformation se fait souvent au runtime (tensorflow).
Je ne connais pas d'autres langage qui gère correctement la metaprogrammation qui fonctionne à la compilation. Il me semble que Lisp le fait, et Rust avec ses "macro".
Dans mon premier pret, il y avait une clause qui disait explicitement que le taux montait de 0.5 point en cas de non domiciliation.
Il faut ensuite aller en justice, un avocat c'est minimum 5000€ voir 10 000 si tu n'as pas chance. C'est très loin de ce que tu gagnes à avoir 2 banques.
Ce genre de banque en deuxième banque semble pas mal pour la qualité des services. Mais souvent tu choisi ta banque en fonction du meilleur taux pour un crédit immobilier, car ils exigent la domiciliation du salaire. Ils ne veulent pas non plus un virement automatique qui vire tout sur le compte d'une autre banque. Il me semble que ces obligations sont illégales (vente lié) mais dans les faits…
Le problème est que les français sont plus fidèle à leur banque qu'à leur conjoint. Cela ne pousse pas du tout à la concurrence.
J'avais un collègue d'origine d'un pays de l'est qui trouvait dingue de devoir payer les services bancaires de base comme la CB. C'était toujours gratuit dans son pays.
"Depuis que ma banque m'a bloqué mon compte pour "besoin de mettre a jours vos renseignements" (en plus la machine buggait pas moyen de mettre a jours, j'ai du passer par le guichet heureusement ouvert), je réfléchis sérieusement à comment me passer des banques :P"
Si tu tombes sur du mauvais pain, tu changes de boulangeries, tu n'arrêtes pas de manger du pain…
"Tout cela est diffile a réaliser avec des script qui font du hashage brutal de tous les fichiers d'un répertoire."
J'aurais tenté avec une lecture de l'arborescence complète, puis comparaison byte à byte en cas de collision nom/taille. Faudrait que je tente le coup avec des morceaux d'un ancien code.
En fait, il faudrait un répertoire de référence, et des copies, si un fichier est corrompu dans le répertoire de référence, on le remplace par une copie (même nom, même taille, voir même path relatif).
Je parlais de performance à haut niveau. Souvent, les personnes veulent du C++ pour aller vite, alors que c'est leur architecture de message pourri réseau (round trip) qui pose problème, ou des appels systèmes trop nombreux, ou un nombre de refresh pas du tout maitrisé, etc…
C'est toujours le même problème : avec un code de "hack", on peut aller 10x plus vite, avec le bon algo 1000x.
Je répondais surtout à une personne qui voulait faire du "beau code", et un logiciel rapide sera toujours plus apprécié qu'un logiciel lent.
Non la complexité cyclomatique simplifie trop le problème. Elle compte juste le nombre de branche dans une fonction, or le contenu de chaque test peut être indépendant. La différence, c'est entre n tests et 2n.
Elle ne permet pas non plus de calculer les dépendances entre fonction (couverture d'instance). Typiquement une fonction qui en appel une autre. C'est le nombre total de chemin de l'executable qui compte pas vraiment, la somme des chemins de l'ensemble de chaque fonction sans tenir compte des appels.
Ensuite, c'est surtout les "états" différents qui importent, plus encore que les chemins pour y arriver (même si c'est lié). Dans une machine d'état, c'est le nombre d'état qui compte, plus que la complexité des conditions de transition.
Est-ce qu'il y a une détection des fichiers en erreur ?
Mon cas d'usage est celui de copies multiples de répertoire contenant mes archives photos (sauvegardes sur différent support faites au cours du temps). Parfois des images sont corrompues. Comment faire pour "remerger" toutes ces copies en un seul répertoire propre de référence.
J'ai compris qu'un beau code n'est pas un code ultra générique, mais un code qui se lit comme une histoire. J'ai compris ça en lisant du code de hocwp, je ne sais pas si il est encore sur le site. C'était juste limpide. Un code comme ça, peut vivre longtemps.
En informatique, ce n'est pas le code l'important, mais la fonction a réaliser, la maintenabilité, l'absence de bug, la vitesse d’exécution.
J'ai vu une fois du beau code bien générique d'un code "professionnel". Il s'agissait de faire des filtres numériques (type O = I(n)a + I(n-1)*b +I(n+2)*c…), c'était généralisé avec une gestion de liste et des fonctions utilitaire. Or la plus part des filtres était d'ordre 2, ce qui aurait du faire des équations du genre "return ab+c*d;"…
Pour arriver un peu à la même chose, je raisonne en cas de testes. Dans un monde rêvé, où tous les cas seraient testés, combien de tests cela fait ? Cela détermine le nombre d'état possible du code, et autant de problèmes potentiels, surtout après modification (non régression plus complexe).
Cela permet de se rendre compte de la qualité d'un code "stateless", ce qui évite une grande quantité de teste finalement inutile. Cela permet de séparer très clairement les données du logiciel, des données temporaires inutiles. Cela permet d'identifier des "états stables" qui permet d'y retourner en cas de plantage ou d'exception non prévu, voir d'avoir un "reset()" propre, qui évite de recréer toujours le même objet. Cela permet de limiter les données du logiciel aux stricts nécessaire aux traitements, ce qui évite de trainer toutes les entrées et ne plus savoir ce qui est valide ou non, modifier ou non, etc… Pour faire cela, cela impose de gérer les erreurs avant le traitement, cela simplifie le traitement qui considère les entrées juste, et cela permet de faire de très joli message d'erreur, car on est très proche de l'entrée de pipeline de traitement (on dispose de tous les fichiers et leur numéro de ligne).
Surtout que la plus part du temps, c'est plus simple de réécrire le code que de jongler avec la "souplesse" de l'architecture complexe, qui de toute façon ne serait jamais assez souple pour les besoins futurs.
Tu opposes un remote desktop dans le cloud et un PC. Si internet tombe, 99% de tes taches peuvent continuer sur PC. Et je vais t'apprendre un truc dingue, la sauvegarde existe aussi pour certain document sur PC. Le mail est coincé, mais tu peux toujours trouver une connexion 3G ou freewifi, au cas ou.
Je ne sais pas d'ou tu sors, mais la plus part des tâches ne nécessite pas forcément internet.
Ton archi est tout à fait comparable à la machine à papi Sun et tu ne t'en rend même pas compte. La seul chose que tu proposes est la duplication de serveur.
Mais tu oublis tout les autres spof : comme la liaison internet, la configuration réseau, les éléments type firewall ou switch managé,… Il y un tas de raisons que le truc tombe en panne. Beaucoup plus que pour un simple PC.
[^] # Re: C'est long ce salmigondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Article intéressant sur le marché du PC. Évalué à 3.
C'est totalement impensable d'avoir de la RAM déporté dans le docking station, c'est même du absolument n'importe quoi d'un point de vue hardware (sauf à faire un RAM disque, mais ce n'est pas ce que l'on cherche à faire).
Switcher de cpu demande bien plus de travail que de simplement redémarrer. Cela pourrait être fait par intel : un moyen de transfert de la mémoire, et de l'état du processeur, et un moyen de démarrer les périphériques utilisés : un peu comme la gestion de la veille en RAM, mais avec un réveil sur une autre machine.
On utilise déjà des docks, le but est vraiment d'avoir un cpu puissant sur les bureau. L'idée de rajouter un moyen de refroidissement est pas mal, il pourrait passer de 25W à 100W d'enveloppe thermique. Cela pourrait être fait par n'importe quel constructeur en plus. On peut même imaginer un mini watercooling pour faire ça.
"La première sécurité est la liberté"
[^] # Re: C'est long ce salmigondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Article intéressant sur le marché du PC. Évalué à 2.
Il y a souvent des cas spéciaux pour les périphériques bootables (cf les SSD par PCI). Je n'avais pas compris que c'était possible.
"La première sécurité est la liberté"
[^] # Re: C'est long ce salmigondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Article intéressant sur le marché du PC. Évalué à 2.
C'est presque ça. Je n'ai pas l'impression que tu puisses booter la machine externe depuis le disque de la machine en TDM. Le but est de pouvoir lire le contenu comme un disque externe.
L'idéal serait d'avoir des stations de travail diskless. Pour 1000€, tu peux avoir une bombe (i7 32Go de ram), ce qui n'est pas le cas pour un portable.
"La première sécurité est la liberté"
[^] # Re: C'est long ce salmigondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Article intéressant sur le marché du PC. Évalué à 3.
En gros, tu veux un bon écran anti-reflets en full hd ou plus, en 11" ou 13" (l'idéal pour moi).
Ensuite, la puissance nécessaire dépend des usages.
Mais typiquement, en dev, on veut être très mobile (1.5kg max avec alim, 10h d'autonomie) et avoir de la puissance, ce qui n'est pas possible avec une telle mobilité. Je rève donc que ce genre d'ultraportable puissent se connecter à des stations de travail en tant que "disque dur".
Avoir 2PC est très compliqué à gérer, il faut dupliquer tous les logiciels et les données. Si on pouvait partager un SSD entre 1 machines fixes puissante et un ultra portable, cela serait top.
En plus, on pourrait avoir des stations de travail "agnostique", n'importe qui pourrait se brancher dessus, et avoir son environnement.
Pour faire cela, il faut une certaine souplesse dans l'OS. Linux ne semble pas poser de problème, mais Windows doit avoir suffisamment de protections anticopies, pour que cela ne marche pas.
"La première sécurité est la liberté"
[^] # Re: CAO en SAAS
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le matériel libre où en sommes nous ?. Évalué à 3.
Je n'ai jamais compris pourquoi il fallait toujours redessiner l'empreinte d'un composant, alors que les boitiers suivent tous des standards (DIP, SO,…). Un composant devrait simplement référencer ce genre d'empreinte, et permettre de nommer les pins.
"La première sécurité est la liberté"
[^] # Re: C++, où quand le code asm généré est plus lisible
Posté par Nicolas Boulay (site web personnel) . En réponse au journal [C++14 ] Expressions template pour les nuls. Évalué à 1.
"Le résultat est très verbeux, peut-on faire plus simple ? Comment se gère ce problème dans les autres langages ?"
C'est un problème de meta-programmation. Tu as une forme de code qui tu veux transformer dans une autre forme qui se compile bien. Cette transformation se fait souvent au runtime (tensorflow).
Je ne connais pas d'autres langage qui gère correctement la metaprogrammation qui fonctionne à la compilation. Il me semble que Lisp le fait, et Rust avec ses "macro".
"La première sécurité est la liberté"
[^] # Re: FUD
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La Suède abandonne les paiements en espèce — ne devrait-on pas s'en inquiéter?. Évalué à 2.
Dans mon premier pret, il y avait une clause qui disait explicitement que le taux montait de 0.5 point en cas de non domiciliation.
Il faut ensuite aller en justice, un avocat c'est minimum 5000€ voir 10 000 si tu n'as pas chance. C'est très loin de ce que tu gagnes à avoir 2 banques.
"La première sécurité est la liberté"
[^] # Re: FUD
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La Suède abandonne les paiements en espèce — ne devrait-on pas s'en inquiéter?. Évalué à 2.
Ce genre de banque en deuxième banque semble pas mal pour la qualité des services. Mais souvent tu choisi ta banque en fonction du meilleur taux pour un crédit immobilier, car ils exigent la domiciliation du salaire. Ils ne veulent pas non plus un virement automatique qui vire tout sur le compte d'une autre banque. Il me semble que ces obligations sont illégales (vente lié) mais dans les faits…
"La première sécurité est la liberté"
[^] # Re: FUD
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La Suède abandonne les paiements en espèce — ne devrait-on pas s'en inquiéter?. Évalué à 4.
Le problème est que les français sont plus fidèle à leur banque qu'à leur conjoint. Cela ne pousse pas du tout à la concurrence.
J'avais un collègue d'origine d'un pays de l'est qui trouvait dingue de devoir payer les services bancaires de base comme la CB. C'était toujours gratuit dans son pays.
"La première sécurité est la liberté"
[^] # Re: FUD
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La Suède abandonne les paiements en espèce — ne devrait-on pas s'en inquiéter?. Évalué à 4.
"Depuis que ma banque m'a bloqué mon compte pour "besoin de mettre a jours vos renseignements" (en plus la machine buggait pas moyen de mettre a jours, j'ai du passer par le guichet heureusement ouvert), je réfléchis sérieusement à comment me passer des banques :P"
Si tu tombes sur du mauvais pain, tu changes de boulangeries, tu n'arrêtes pas de manger du pain…
"La première sécurité est la liberté"
[^] # Re: Et les Panama Papers, alors ?!?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La Suède abandonne les paiements en espèce — ne devrait-on pas s'en inquiéter?. Évalué à 6.
Ils sont loin d'être condamné.
"La première sécurité est la liberté"
[^] # Re: Gérer les fichiers
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Focus sur les performances avec Fim 1.2.0. Évalué à 2.
J'aurais tenté avec une lecture de l'arborescence complète, puis comparaison byte à byte en cas de collision nom/taille. Faudrait que je tente le coup avec des morceaux d'un ancien code.
"La première sécurité est la liberté"
[^] # Re: fichier en erreur ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Focus sur les performances avec Fim 1.2.0. Évalué à 2.
En fait, il faudrait un répertoire de référence, et des copies, si un fichier est corrompu dans le répertoire de référence, on le remplace par une copie (même nom, même taille, voir même path relatif).
"La première sécurité est la liberté"
[^] # Re: Un chouia simpliste ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 3.
Je parlais de performance à haut niveau. Souvent, les personnes veulent du C++ pour aller vite, alors que c'est leur architecture de message pourri réseau (round trip) qui pose problème, ou des appels systèmes trop nombreux, ou un nombre de refresh pas du tout maitrisé, etc…
C'est toujours le même problème : avec un code de "hack", on peut aller 10x plus vite, avec le bon algo 1000x.
Je répondais surtout à une personne qui voulait faire du "beau code", et un logiciel rapide sera toujours plus apprécié qu'un logiciel lent.
"La première sécurité est la liberté"
[^] # Re: chi va piano va sano
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 2.
Non la complexité cyclomatique simplifie trop le problème. Elle compte juste le nombre de branche dans une fonction, or le contenu de chaque test peut être indépendant. La différence, c'est entre n tests et 2n.
Elle ne permet pas non plus de calculer les dépendances entre fonction (couverture d'instance). Typiquement une fonction qui en appel une autre. C'est le nombre total de chemin de l'executable qui compte pas vraiment, la somme des chemins de l'ensemble de chaque fonction sans tenir compte des appels.
Ensuite, c'est surtout les "états" différents qui importent, plus encore que les chemins pour y arriver (même si c'est lié). Dans une machine d'état, c'est le nombre d'état qui compte, plus que la complexité des conditions de transition.
"La première sécurité est la liberté"
# fichier en erreur ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Focus sur les performances avec Fim 1.2.0. Évalué à 8.
Est-ce qu'il y a une détection des fichiers en erreur ?
Mon cas d'usage est celui de copies multiples de répertoire contenant mes archives photos (sauvegardes sur différent support faites au cours du temps). Parfois des images sont corrompues. Comment faire pour "remerger" toutes ces copies en un seul répertoire propre de référence.
"La première sécurité est la liberté"
[^] # Re: Moi aussi !
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 2.
Oui, mais à la fin, tu dois avoir moins de code, et ne pas le garder juste parce que tu t'es fait chier à l'écrire.
"La première sécurité est la liberté"
[^] # Re: Un chouia simpliste ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 4.
J'ai compris qu'un beau code n'est pas un code ultra générique, mais un code qui se lit comme une histoire. J'ai compris ça en lisant du code de hocwp, je ne sais pas si il est encore sur le site. C'était juste limpide. Un code comme ça, peut vivre longtemps.
En informatique, ce n'est pas le code l'important, mais la fonction a réaliser, la maintenabilité, l'absence de bug, la vitesse d’exécution.
J'ai vu une fois du beau code bien générique d'un code "professionnel". Il s'agissait de faire des filtres numériques (type O = I(n)a + I(n-1)*b +I(n+2)*c…), c'était généralisé avec une gestion de liste et des fonctions utilitaire. Or la plus part des filtres était d'ordre 2, ce qui aurait du faire des équations du genre "return ab+c*d;"…
"La première sécurité est la liberté"
[^] # Re: chi va piano va sano
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 3.
Pour arriver un peu à la même chose, je raisonne en cas de testes. Dans un monde rêvé, où tous les cas seraient testés, combien de tests cela fait ? Cela détermine le nombre d'état possible du code, et autant de problèmes potentiels, surtout après modification (non régression plus complexe).
Cela permet de se rendre compte de la qualité d'un code "stateless", ce qui évite une grande quantité de teste finalement inutile. Cela permet de séparer très clairement les données du logiciel, des données temporaires inutiles. Cela permet d'identifier des "états stables" qui permet d'y retourner en cas de plantage ou d'exception non prévu, voir d'avoir un "reset()" propre, qui évite de recréer toujours le même objet. Cela permet de limiter les données du logiciel aux stricts nécessaire aux traitements, ce qui évite de trainer toutes les entrées et ne plus savoir ce qui est valide ou non, modifier ou non, etc… Pour faire cela, cela impose de gérer les erreurs avant le traitement, cela simplifie le traitement qui considère les entrées juste, et cela permet de faire de très joli message d'erreur, car on est très proche de l'entrée de pipeline de traitement (on dispose de tous les fichiers et leur numéro de ligne).
"La première sécurité est la liberté"
[^] # Re: Moi aussi !
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 4.
Quand tu commences à écrire du code en plus, au lieu d'en effacer, tu va dans le mauvais sens. C'est un peu le principe de la factorisation.
"La première sécurité est la liberté"
[^] # Re: Un chouia simpliste ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lutter contre l'overengineering. Évalué à 7.
Surtout que la plus part du temps, c'est plus simple de réécrire le code que de jongler avec la "souplesse" de l'architecture complexe, qui de toute façon ne serait jamais assez souple pour les besoins futurs.
"La première sécurité est la liberté"
[^] # Re: blockchain
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Point d'étape sur loi française de finances 2016 (article 88) et les logiciels libres de caisse. Évalué à 2.
La loi a changé, si un vendeur de machine est pris, il est solidaire des fraudes faites avec… Je ne suis pas sûr que cela en vaut la peine.
"La première sécurité est la liberté"
[^] # Re: C'est merveilleux l'informatique
Posté par Nicolas Boulay (site web personnel) . En réponse au journal L'informatique de papa. Évalué à 3.
En France.
Au USA, on rémunère mieux les "makers" que les "sellers". Sinon, ils n'existeraient pas de salaires à 100k$ pour les ingénieurs.
"La première sécurité est la liberté"
[^] # Re: dispo
Posté par Nicolas Boulay (site web personnel) . En réponse au journal L'informatique de papa. Évalué à 5.
Tu lis un peu ce à quoi tu réponds ?
Tu opposes un remote desktop dans le cloud et un PC. Si internet tombe, 99% de tes taches peuvent continuer sur PC. Et je vais t'apprendre un truc dingue, la sauvegarde existe aussi pour certain document sur PC. Le mail est coincé, mais tu peux toujours trouver une connexion 3G ou freewifi, au cas ou.
Je ne sais pas d'ou tu sors, mais la plus part des tâches ne nécessite pas forcément internet.
"La première sécurité est la liberté"
[^] # Re: dispo
Posté par Nicolas Boulay (site web personnel) . En réponse au journal L'informatique de papa. Évalué à 1.
Ton archi est tout à fait comparable à la machine à papi Sun et tu ne t'en rend même pas compte. La seul chose que tu proposes est la duplication de serveur.
Mais tu oublis tout les autres spof : comme la liaison internet, la configuration réseau, les éléments type firewall ou switch managé,… Il y un tas de raisons que le truc tombe en panne. Beaucoup plus que pour un simple PC.
"La première sécurité est la liberté"