Bien-être & Développement personnel

Discutions amicales
 
AccueilAccueil  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Hackers and Painters

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Admin
Admin
avatar

Messages : 499
Date d'inscription : 16/04/2016

MessageSujet: Hackers and Painters   Ven 23 Juin - 23:45

Hackers and Painters


En lisant ce résumé, vous découvrirez en quoi le hacking est une discipline raffinée et sophistiquée, et son lien avec la peinture.

Vous découvrirez aussi :

- que bien souvent, sous les lunettes du hacker et du nerd boutonneux, mal fagoté et maltraité, se dissimule une intelligence magnifique et une sensibilité rare ;

- les points communs entre la composition picturale et l'art de créer du code ;

- les rudiments de l'art discret et subtil de la programmation informatique ;

- les clés de l’innovation.

Derrière beaucoup de grandes fortunes qui ont marqué leur temps et continuent à le faire aujourd'hui, se dissimulent souvent des hackers, dans le bon sens du terme, des personnes issues du monde de la programmation, du code : Steve Jobs, Bill Gates, Larry Ellison ou encore Mark Zuckerberg. L'informatique est un formidable tremplin pour celui qui sait “arrêter et prendre feu” (“halt and catch fire”) selon une expression de chez IBM. Le code est un moyen d’expression et détermine, tout comme un peintre, ce que le codeur veut dévoiler au monde et sur lui-même. C’est une partition musicale et picturale où ses concepteurs interpellent l’individu à travers un langage tout en beauté, composé de zéros et de uns.

“Hackers and Painters” défend les valeurs de ces hackers et leur donne les moyens de réussir dans ce monde en pleine explosion technologique.

Le hacker et le nerd possèdent des talents insoupçonnés

Avant toute chose, il est nécessaire d’éclaircir certains termes. Qu'est qu'un hacker ou un nerd ? un copyright ?

Le nerd

Le hacker peut aussi être un nerd, mais qu'est-ce qu'un nerd ? Ce terme désigne généralement une personne très introvertie, douée pour la programmation, passionnée par les sciences numériques et les sciences dures, comme les mathématiques et la physique.

La différence entre le hacker et le nerd se situe dans le fait que ce dernier s’intéresse plus à la théorie que ce premier. En outre, il regarde peu, voire pas du tout la télévision et a un goût prononcé pour les sujets académiques.

Un lien semble exister entre le fait d'être un nerd et celui d’être intelligent. En effet, les êtres intelligents sont souvent impopulaires auprès des autres enfants ou adolescents, qui les perçoivent comme une menace à leur ignorance. Les nerds sont donc souvent stigmatisés, voire brutalisés par le reste du groupe, surtout s’ils sont introvertis, peu ou pas intéressés par “The Voice” ou le football, mais plutôt par les machines de Turing et de Nikola Tesla, ou le principe d'incomplétude de Gödel.

Le hacker

Dans l'inconscient collectif et les médias, le terme de “hacker” désigne une personne malveillante, qui s'introduit illégalement dans les ordinateurs pour y voler des informations ou y implanter un virus informatique, afin de neutraliser le système informatique d’une entreprise ou d’un particulier. À l’inverse, chez ses compatriotes, le hacker est un bon programmeur qui s’introduit dans un système, mais dans le but d’améliorer sa sécurité, et non pour le détruire ou piller des données sensibles.

Ce mot possède donc deux définitions : il est dit d’une personne qu'elle a “hacké” pour désigner quelque chose de beau et d'intelligent, qui améliore un système informatique, aussi bien que pour parler d’un détournement malveillant. Ces deux types de personnes ont en tout cas un même objectif : transgresser les règles et les interdits.

Cette volonté d’outrepasser la loi étatique et morale ne s’est pas développée en même temps que l’informatique et remonte à bien plus loin. Le célèbre physicien Richard Feynman en est l’exemple même : durant sa contribution au Projet Manhattan (projet de recherche de la première bombe atomique durant la seconde guerre mondiale), il s'amuse à ouvrir les coffres-forts contenant des documents secrets et hautement sensibles. C'est donc une tradition qui se perpétue avec les hackers.

Une tradition, certes, mais qui a tendance à créer la confusion chez les autorités, notamment au niveau des motivations de ces derniers, et de la dualité du terme. Si le FBI ou la CIA débarquent, armés jusqu’aux dents, dans une banlieue anonyme des États-Unis, et défoncent la porte d’un adolescent de 15 ans en pleine puberté, c’est qu’il s'est fait remarquer en s'introduisant dans un réseau, sans pour autant avoir comme objectif de nuire à celui-ci.

La cybercriminalité est en effet traitée avec un grand sérieux depuis la convention de Budapest de 2001, mais les méthodes mises en place par le FBI pour y pallier ne fonctionnent manifestement pas, et pour cause : les motifs listés par l’organisation sont l'argent, la drogue, le sexe ou un désir de vengeance. La motivation intellectuelle des gentils hackers ne fait pas partie de leur liste de motifs : il leur est difficile d’imaginer que cela soit possible.

Cette façon de voir les choses a un double effet négatif. D'un côté, les autorités sont de plus en plus agacées par les actes de défiance et de désobéissance des hackers. C’est toutefois cette attitude scandaleuse qui est le propre de tout bon programmeur. De l'autre côté, le comportement de rock-star mégalo adopté par certains hackers influence les jeunes programmeurs, qui singent ce type d’attitude en espérant que cela les rendra plus intelligents.

De plus, une autre enseigne contribue malheureusement à véhiculer une image erronée des hackers : Hollywood. Le cinéma américain offre la plupart du temps une image floue des hackers, aux motivations troubles, notamment en ce qui concerne le copyright des œuvres (cinématographiques, par exemple), ce qui n’augmente pas leur popularité.

La question des copyright

En quoi les programmeurs et les codeurs sont-ils concernés par les copyright ? Quelle est la conséquence de leurs actions vis-à-vis de ceux-ci ?

Premièrement, la plupart des entreprises ou des individus, tout comme les artistes, font tout pour empêcher la copie de leurs documents ou de leurs œuvres. Pour un hacker, cela équivaut à l’inviter à braver le système de sécurité des logiciels qui les protègent, d’autant qu’il considère cela comme une entrave à la liberté intellectuelle, nécessaire à tout bon programmeur pour exercer son art.

En effet, dans le monde des hackers, la propriété intellectuelle est une menace, car c'est par l’étude des nouvelles technologies que la prochaine idée innovante peut émerger. Les propriétaires des droits considèrent cependant ne pas avoir besoin de ce type d'aide extérieure et inhabituelle. Ils sont dans l'erreur : l'innovation est souvent le fait de personnalités en marge.

Vers 1977, tout le monde pensait que l’informatique allait prospérer grâce à IBM : ils avaient tort. Personne n’a vu venir la vague de ceux qui allaient graver leur nom dans le roc et marquer l'Histoire. Il s’agit bien entendu du duo Steve Jobs et Steve Wozniak, les fondateurs de la société Apple Computer, et pionniers de l'industrie micro-informatique.

Les raisons de leur succès ? Lorsque IBM commercialise son système d'exploitation, Multics, les deux hommes le trouvent trop compliqué, trop lourd et très instable, et ils décident de créer le leur. Les deux Steve sont des outsiders, que personne ne remarque, redessinant les contours du monde, et ils se sont servis d’un logiciel existant pour en créer un nouveau, plus performant. De par leur intelligence et leurs compétences en matière d’informatique, ils ont l’étoffe du hacker, aussi bien que du nerd.

Le hacker est donc une forme de nerd, respectant peu ou pas le principe de la propriété intellectuelle, mais surtout, pratiquant la programmation, qui peut, par la maîtrise qu’elle demande, être considérée comme une forme d’art.

La création est un art, aussi bien chez le peintre que chez le hacker

Le hacker est donc, littéralement, un bidouilleur, un transgresseur de règles, qui s’introduit dans les systèmes informatiques pour les modifier de l’intérieur.

Entrons à présent dans le vif du sujet : en quoi est-il possible de faire le rapprochement entre un hacker et un peintre ? Le fait est que le hacker est plus créatif que scientifique.

En effet, l’expression de ses idées par des biais détournés n’est pas le propre des scientifiques, mais des artistes. Aussi, le hacker et le peintre ont en commun d'être avant tout des traqueurs d'élégance : le programmeur décèle une idée parmi le vivier de connaissances du monde, et commence à construire son programme à partir de celle-ci. Comme pour la peinture, il possède un canevas (le code source) où il déploie son programme, fait plusieurs tests afin de déterminer si le code est valable, puis affine ce même code avant de le ramifier. L’art repose dans cette architecture, faite de uns et de zéros, qui doit rester élégante dans sa composition. La progression est donc identique à la réalisation d’une toile, un travail par couches successives.

C’est la frustration qui peut être, comme pour le peintre, l’aboutissement du travail, une recherche perpétuelle de la perfection, sans jamais réussir à l’atteindre.

De plus, à l'instar des architectes et des écrivains, les hackers et les peintres cherchent à produire de belles œuvres. Chez le peintre, la beauté peut être exprimée par la mort ou par le meurtre, comme dans le tableau de “Judith décapitant Holopherne” d'Artemisia Gentileschi. Le programmeur tente lui aussi d’atteindre une certaine beauté, qui se manifeste plutôt dans le fait de réussir à contourner un obstacle ou un pare-feu avec raffinement, et par la recherche, la création de nouvelles techniques de contournement. L’objectif de l’un comme de l’autre est de faire évoluer leur art, afin d’atteindre la postérité.

Comme en peinture, l’apprentissage est essentiel à l’accroissement de ses compétences en hacking

Apprendre à peindre ou à hacker demande de l’entraînement, en dehors des cours universitaires. Assimiler l’art de la peinture demande de la pratique en permanence ; la maîtrise de la technique en dépend et l’évolution se fait d'une toile à l’autre. Dès qu'une technique picturale est intégrée, elle transparaît dans la toile suivante et s’assimile au processus de création.

Idem pour le hacking : la plupart des hackers ont écrit leur première ligne de code à l'âge de 13 ans et ont continué à pratiquer au fil des années jusqu’à la maîtrise de leur art. Il est probable que la plupart des créateurs de tout bord utilisent le même processus que celui de la peinture.

Un autre moyen d'apprentissage utilisable aussi bien par les peintres que par les hackers est la recherche, l’analyse et la reproduction. Le peintre va dans les musées et s'abreuve d'œuvres de maîtres en analysant les techniques utilisées, la composition d'ensemble et les couleurs. Le hacker, quant à lui, s'exerce en recherchant et étudiant le fonctionnement de programmes de qualité. Le code source de chaque programme est la transcription de la pensée de celui qui l'a réalisé et les améliorations faites par le hacker est un hommage à cette forme d’art.

Car il s’agit bien d’art : le hacking en est un, bien qu’il soit souvent considéré comme étant de l’ordre du scientifique.


Le hacking n’est pas une science à proprement parler

Le terme de “sciences de l'informatique” n'est pas très apprécié des programmeurs, car il désigne quelque chose qui n'existe pas : il évoque un patchwork de domaines liés entre eux, et pas une science unique et indivisible.

Le monde de l’informatique englobe trois catégories de personnes :

- les mathématiciens purs, qui travaillent sur la programmation et reçoivent des subventions de la DARPA — la DARPA est une division du département de la défense des États-Unis, chargée de développer de nouvelles technologies pour un usage militaire ;

- les scientifiques de l’informatique, qui travaillent et étudient le comportement des algorithmes, afin de les intégrer au sein d'un réseau ;

- les fameux hackers, qui travaillent sur les logiciels. Ils créent des logiciels aussi intéressants que possible et ce, afin qu’ils soient à la fois sophistiqués et faciles d’utilisation. L'ordinateur, pour le hacker, est l'équivalent du béton pour l'architecte ou de la peinture pour le peintre : c’est sa matière première. Le travail des hackers est souvent qualifié d’“ingénierie de logiciel”, mais le terme est inexact. Les concepteurs de logiciels ne font pas de l'ingénierie au sens propre du terme. La frontière entre la création de logiciel et l’ingénierie, si elle n’est pas clairement dessinée, existe toutefois et le hacker endosse ces deux rôles : il doit créer la spécification, et découvrir les moyens de la mettre en application.

L'autre raison pour laquelle les programmeurs n'aiment pas l'expression “sciences de l'informatique” est due au mot “science” : les hackers ne font pas de sciences au sens strict du terme. Tout au plus, c’est une science expérimentale. Aussi ne publient-ils pas d'articles dans des revues officielles pour appuyer leurs travaux. Ils pourraient le faire, en écrivant par exemple sur les obstacles à contourner lors de la programmation, afin que l'ordinateur exécute la commande, mais cela est rare.

Quelle que soit la raison, ce n'est de toute façon pas le chemin que doit emprunter un hacker, car son but est de créer quelque chose de beau, d'innovant, à partir d'éléments déjà existants, en les combinant entre eux. Aussi, écrire un article scientifique sur ce type de procédés est impensable. Malheureusement, cette impression de stagner entre deux eaux leur porte préjudice : ils sont stigmatisés et considérés comme des pseudo-scientifiques, en raison, notamment, du recyclage de procédés. S’il est difficile d’adhérer à cette méthode, en particulier en raison des différents domaines qu’ils s’approprient, elle doit être appréhendée comme un véritable art et admise.

L’opposition qu’il est possible de faire à ce refus de se considérer comme un scientifique est que, tout comme le peintre a besoin de comprendre la composition chimique de la peinture, le hacker doit être capable d’assimiler la théorie du calcul. Il lui est nécessaire de comprendre comment calculer quelque chose d'aussi complexe que le temps et l'espace, ainsi que le concept d'automate, s'il veut créer un compilateur (cf. chapitre suivant). L’usage des mathématiques étant le propre des scientifiques, il ne peut se défaire de cette catégorisation.

Le langage de la machine est lui aussi un art qu’il faut savoir maîtriser

Comment s’articule le langage de programmation faisant fonctionner l’ordinateur ?

Toute machine possède une liste de tâches à effectuer et la liste est plus ou moins longue selon ses fonctionnalités. Par exemple, une bouilloire effectue deux tâches : elle s'allume et s'éteint. Une platine CD a un mode de fonctionnement plus compliqué ; elle remplit ces deux fonctions, mais permet également d’augmenter ou de baisser le volume de la musique, de la mettre en route, sur pause, d’avancer le morceau ou de revenir en arrière. Ces différentes tâches sont programmées dans la machine avec un langage particulier.

À l’époque où les premiers ordinateurs furent créés, tous les programmes étaient constitués de séquences d'instruction et cela ralentissait les machines. Par la suite, la solution a été de créer des programmes plus légers, sous la forme d'assembleur ou de langage d'assemblage. La liste de commandes y est globalement la même, sauf que sous l'assembleur, il est possible d’utiliser des termes plus sympathiques et moins artificiels. Par exemple, l'instruction correspondant à “11001101” va être désignée par “add”, ce qui est beaucoup plus confortable pour la personne qui doit lire le code.

Cette amélioration présente toutefois un inconvénient : l’assembleur ne permet pas aux machines d’effectuer des tâches compliquées. Par exemple, pour que la machine se mette à sonner dix fois, il est impossible de lui donner comme instruction : sonne “n” fois. Au contraire, voici ce qu’il faut écrire pour qu’elle réalise cette tâche :

put the number 10 in memory location 0

a if location 0 is negative, go to line b

beep

subtract 1 from the number in location 0

go to line a

b… rest of program...

La méthode est beaucoup trop longue à appliquer. Pour créer un programme d'assembleur, il vaut donc mieux avoir un assistant qui va faire le travail redondant et pénible. Il suffit dans ce cas d’écrire quelque chose comme :

dotimes 10 beep

À l’aide de cette unique ligne, l’assistant va pouvoir créer l'assembleur, et sans la moindre erreur. C’est ce que font la majorité des programmeurs aujourd'hui. L'assistant en question n’est pas un être humain, mais un compilateur. Le compilateur est un programme qui gère un autre programme, en l'occurrence, le programme créé sous une forme qui soit compréhensible pour le hardware.

Le langage qui ressort du compilateur est appelé langage de haut-niveau ou langage évolué. Il permet de mettre en application un programme basé sur des tâches beaucoup plus complexes, comme la commande “10 beep”. L’autre avantage d'utiliser un compilateur est que le programme est plus léger, et donc portatif.

La plupart des programmeurs codent en langage de haut niveau à l'aide d'un compilateur. Cela leur permet de réduire le temps de calcul, qui leur revient moins cher, et d’augmenter en parallèle leurs propres prix. Grâce à cette économie, la recherche de nouvelles formes de langage est en pleine expansion.

Cette floraison entraîne la croissance, car la diversité offre de nouvelles solutions qui aident au développement et à l'innovation. De fait, si tout le monde se servait du même langage, le progrès serait impossible.

Pour en revenir au langage de haut-niveau, il correspond au code source, et la traduction générée en langage machine, au code binaire. Lorsqu’un individu achète un logiciel, il acquiert le code binaire, mais pas le code source. Le code binaire ainsi donné a la particularité d'être très difficile à lire, ceci afin de protéger le secret de fabrication de l'entreprise.

Pour pallier cette difficulté, certaines entreprises proposent une alternative : les logiciels open source. Dans ce cas particulier, celui qui possède le logiciel devient aussi l’acquéreur du code source et est libre de le modifier ou non, le but étant de le laisser corriger les erreurs si nécessaires, ce qui est impossible dans le cas d’un logiciel Microsoft Windows, où le code source ne s’acquiert pas. Aussi, lorsque des failles de sécurité sont découvertes sur un logiciel Microsoft, ou même au cœur du système d'exploitation de Windows, il faut attendre la prochaine mise à jour, et cela peut prendre beaucoup de temps.

Le hacker qui maîtrise son langage est capable de modifier d’autres programmes et d’exercer son art à tous les niveaux. Toutefois, il ne peut être réellement question d’art que si la forme, le design du programme, est travaillé avec soin.
Un bon hacker doit être capable de peaufiner le design de son programme et d’effectuer une recherche pertinente

Deux paramètres font la pertinence d’un programme : son design, et la recherche effectuée en amont sur les autres logiciels. Le design n'a pas besoin d'être innovant pour être apprécié, mais d’être fonctionnel et agréable. À l'inverse, la recherche n’a pas besoin d’être exhaustive, mais doit attester de l’inventivité du hacker.

La principale différence entre la recherche et le design concerne les notions de bien, de nouveauté et d'attention portée aux besoins du futur utilisateur.

Lorsqu’il s’agit d’élaborer un programme au design répondant aux attentes des utilisateurs, il ne faut pas suivre aveuglément ce que ceux-ci recommandent de faire : ils ne sont pas conscients de toutes les possibilités qui s'offrent à eux et, en général, n'analysent pas en profondeur leurs besoins. Aussi, la meilleure façon d'obtenir un design agréable est de prendre en compte les besoins et attentes du designer lui-même.

Toutefois, il est important de savoir doser son implication, car il arrive que celui-ci relègue les besoins des utilisateurs au second plan, les considérant comme incapables de déterminer ce qu’ils veulent, ou même qu’il ne fasse pas d’efforts, l’utilisateur ne lui en semblant pas digne. Aussi, quelque soit l'avis du concepteur sur ses futurs utilisateurs, la qualité de travail doit rester la même.

La chose diffère légèrement dans le domaine de la recherche, en particulier parce qu’il s’agit de recherche en mathématiques : dans ce cas, le concept d'ergonomie qui tient du design n’existe pas, les mathématiques étant une discipline purement abstraite.

Que ce soit pour la recherche ou le design, l’être humain ne doit pas être soustrait de l’équation, car il est essentiel à la création du programme. Encore une fois, il est possible de rattacher cela aux arts picturaux : à travers les siècles, le corps humain a été pensé comme corps-sujet des oeuvres réalisées. De même, le design pense et oeuvre autour du corps humain. En effet, concevoir une chaise ne peut se faire sans penser au corps, à sa forme. Il en est de même pour le design automobile, la mode et l’architecture. Esthétique, élégance et ergonomie sont ce que recherche le public aujourd’hui.


Conclusion

À l'instar d'un peintre se servant d'un croquis pour tester son idée et les différentes techniques qu'il va utiliser, le hacker doit perpétuellement retravailler son code. Il doit garder en tête que, comme dans les autres domaines de la vie, la morale doit rester le fer de lance de son travail lorsqu'il décide de concevoir un programme, et ne pas oublier qu'il crée pour des humains et non pour des machines.

Ce qu’il faut retenir de la lecture de ce résumé :

- le hacker et le nerd possèdent des talents insoupçonnés ;

- la création est un art, aussi bien chez le peintre que chez le hacker ;

- comme en peinture, l’apprentissage est essentiel à l’accroissement de ses compétences en hacking ;

- le hacking n’est pas une science à proprement parler ;

- le langage de la machine est lui aussi un art qu’il faut savoir maîtriser ;

- un bon hacker doit être capable de peaufiner le design de son programme et d’effectuer une recherche pertinente.

Revenir en haut Aller en bas
http://entraide.forumactif.org
 
Hackers and Painters
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Bien-être & Développement personnel :: Salle de lecture :: KOOBER( résumés) de livres-
Sauter vers: