dimanche 28 janvier 2018

CC# 31,32, 33, 34 & 35

Le CC# 31 nous présente les points de discussion sur la cybersécurité.
Il y aurait trois aspects à surveiller: le secret (cartes de crédit), l'intégrité
(vol d'identité, le fake) et la disponibilité (noyer l'accès). Tous les
efforts pour contrer les attaques se basent sur des hypothèses sur
qui et avec quels moyens on pourrait vous attaquer (threat-model
pour un attack-vector).

Un ordi - et, a fortiori plusieurs ordis en botnet - possèdent
une énorme capacité pour tester les codes d'accès. C'est la raison
pour laquelle on limite le temps d'accès aux divers systèmes ( par
exemple, à trois tentatives). L'accès biométrique possède ses faiblesses
et l'accès par permission, très sécuritaire en principe, peut facilement présenter
des ouvertures en déploiement. La Défense américaine se sert du
modèle Bell-LaPadula: no read-up, no write-down. Aucun ne peut lire un
document sans posséder une permission, et aucun avec permission ne peut
apporter des changements à une filière moins cottée...

Il est de rigueur de faire tester un code de sécurité par des équipes externes.
Et très souvent, on se servira du sandboxing: isoler certaines parties d'un système,
ou encore passer par la création d'ordis virtuels.

                                     *     *     *
CC# 32
Il serait très important de toujours tenir son ordi à jour: les
mises à jour que l'on nous propose sont essentiellement des
mesures de sécurité informatique. La guerre contre les hackers et autres
formes de cyberguerre sont quotidiennes.

Le phishing nous demande d'entrer nom et mot de passe qui sont prélevées;
les trojans sont des logiciels malveillants introduits ans nos systèmes, les buffer
overflows chechent à provoquer un crash, le code injection de même. Et les
worms se propagent d'un ordi à l'autre. En tout et partout, ces activités
coûtent un demi trillion de dollars par an.

Une nouvelle forme d'attaque devient un exploit. Les hackers blancs en créent
pour anticiper sur la vulnérabilité des systèmes. Pas facile à vivre..

                                   *     *     *

 CC# 33 porte sur la sécurité, le secret,  de l'information - son historique, passant par César, 
Mary Stuart, et Énigma à la deuxième guerre mondiale - et la problématique actuelle.
En fait, il y aura toujours des failles dans nos sytèmes...

Deux armes majeures seront utilisées: le chiffrement des données, et l'utilisation
de clés mathématiques dont un seul participant connaît le secret. On intègre des
mesures sur différents aspects des la transaction, et nous voilà sécures...pour le moment.

Dans une communication avec la banque, par example, cette dernière sera identifiée
grâce à une clé publique connue. Seul un  porteur de la clé secrète (de chiffrement) saura
envoyer un  message valide. Pour gérer l'aspect temporel de la transaction, on
s'entendra sur une clé partagée complexe; et les données feront l'objet d'un chiffrement
symmétrique (le chiffrement et le déchiffrement se servent de la même clé) sur des mots
de 128 bit et plus, donc impossibles à deviner en temps raisonable .



                                          *     *     *
CC# 34 donne un apperçu, plutôt rapide, de l'intelligence
artificielle. Pour l'essentiel, l'ordinateur devient décisionnel:
il sait reconnaître un chat dans l'image, ou faire la différence
entre deux types de papillons. Et on procède, naturellement,
par matrices de données, pour aboutir à la décision. Il
devient possible de traiter d'énormes arbres décisionnels...

À un nouveau plus avancé - mais encore dans une optique
d'intelligence artificielle faible - l"ordi apprend par lui-même.
Il joue au go - et gagne contre tous - par sa capacité à jouer
des millions de parties contre lui-même. Quand même impressionnant,
c'est à ce niveau que l'automobile se conduit par elle-même.
En fait, le travail de l'ordi resemble à une interconnections de
neuronnes. Le résultat - la décision - est celle du plus haut score
parmi les possibilités s'offrant à l'ordi.

Mais l'intelligence artificielle forte reste insaisissable. Au fond, c'est
le problème de l'enfant qui ne veut pas aller au lit. Toutes les
raisons sont bonnes pour se tromper...

                                   *     *     *

CC# 35 propose une introduction au très intéressant domaine de
la vision chez l'ordinateur: l'ordi sait percevoir, mais voir complique les choses chose.
C'est-à - dire, reconnaître dans les images, et rendre des mesures appropriés.
Un example serait  l'ordi qui reconnaît l'utilisateur par son visage, qui fait office de mot
de passe.

Au premier niveau, un algorithme peut procéder un pixel è la fois, mais on se sert
actuellement de carrés de pixels (des parcelles, qui se reduisent à une valeur unique:
processus dit convolutif). S'ils offrent un contraste régulier, on a affaire à un côté,
et encore un visage, un nez. Tous ces algorithmes sont au modèle
des neuronnes - le deep learning, ou apprentissage profond - et l'ordi apprend ainsi par
expérience  à percevoir des formes.

Libre ensuite de donner un sens à la trouvaille, introduisant donc la notion contextuelle.
On aurait ici l'équipement médical qui reconnaît une tumeur; ou chez la
police, trouver un suspect dans un filière de photos. Notre programme peut ensuite
répondre de façon appropriée...par exemple, la voiture qui conduit par elle-même.

Chez l'humain, la vision serait le sens le plus vorace de bande passante, mais doit
s'allier aux autres sens. Ce sera aussi le cas aussi pour l'ordi...













lundi 22 janvier 2018

Net N

Le débat sur la Net Neutrality ne m'inquiète pas tellement;
mais je pourrais bien le regretter. Se retrouver avec du prédigérer
indigeste - un peu le drame de la télévision - et rien d'autres, ce n'est
pas réjouissant. Les problèmes du financement de l'infrastructure du Web
sont bien réels, mais il faut que le tout soit revu par des autorités
compétentes sur le fond; et c'est peut-être là la faiblesse.

La diversité actuelle à la télé produit quand même des trucs intéressants.
Ce qui me plaît; ça se retrouve sur YouTube, au plus grand bonheur des
internautes. On peut se fier, in fine, sur le gros bon sens des internautes
en communauté. Bien!! Les films qui valent la peine se font porter sur le site -
même si ce n'est que pour un court moment - et on respire. On finit
par voir des films Russes et du k-pop Koréens, on apprend le Mandarin, y'a des
trucs drôles qui échappent à la censure, les fanatiques du fitness mangent des
beignes. Bravo. Cet aspect Wild West du net est indispensable. Je m'attendais,
au début, à trouver des répetoires de musique classique et de films 1940.
Pas du tout ça; et c'est une libération. Et mes compétences en maths ont
fait un bond gigantesque.

Pour plusieurs, le Web comme gagne-pain pourrait s'améliorer. Mais les
solutions à ce dernier problème peuvent venir d'ailleurs...


                                           *    *     *
Le film de Mikhail Sokourov de l'Arche russe (2002) vaut d'être vu. C'est une ballade dans
le musée de l'Ermitage à Saint-Petersburg menée par le Marquis de Custine  -
demi-homme de lettres, moqué par Heinrich Heine - en dialogue avec la voix du réalisateur
du film et l'on a droit à des commentaires sur les oeuvres mais aussi des passages dans
divers moments de l'histoire Russe, grâce à la présence de 3000 acteurs et figurants.

J'étais triste de ne pouvoir apprécier le film sur un écran de cinéma: l'Ermitage est un
des grands musées du monde et possède des trésors d'art venus d'Italie que l'on ne verra jamais
en personne. Mais le film lui-même n'a peut-être pas son public. Filmé d'un trait
sur une caméra numérique, à la manière d'une cat video, il appartient aussi
au monde du Web. (On se souviendra que Le Cuirassé Potemkin avait introduit le montage
au cinéma en 1925).

Et la scène de danse de la fin a grandement réjoui la musicienne en moi. Sur une musique
de Glinka exécutée avec la verve que seuls les Russes savent rendre, on peut voir et entendre,
finalement, ce qu'était une Mazurka: une danse sautillante, avec élimination progressive des
couples qui se trompent, car on accélère à chaque tour. Et Custine qui se présente
à sa nouvelle partenaire en mentionnant qu'il est du Gémeaux (il était un homosexuel
connu, qui aimait 'véritablement' sa femme)...J'en ai les larmes aux yeux.


dimanche 14 janvier 2018

CC# 26, 27, 28, 29& 30



Je me suis parfois demandée comment on en
était venu à la métaphore du bureau - le desktop -
pour définir l'interface ordi utilisateur. Il y
avait surement d'autres options. Douglas Englebart a le
crédit de bien des aspects (y compris les windows et la souris)
mais de fait, c'est une équipe comprenant un de ses étudiants à
la compagnie  Xerox qui l'a mise au point (Xerox Star, 1981).
Nous voici dans le CC# 26, le GUI.

Et Xerox invita Steve Jobs pour une démonstration; il fut ébloui
et Xerox eut la chance d'acquérir des parts de Apple avant la première
offre publique.

Le Macintosh 1984, avec GUI, souris (et poubelle) avait donc
ses adeptes mais ceci s'avérait encore cher à 6 000$. Microsoft sortit le
premier Windows en 1985, et dix ans plus tard dominait complètement
le marché (95% des ordis sous windows). Windows 95 a repensé le modèle,
et on lui doit le Start, la protection mémoire, et l'Explorateur Windows.
On est même allé jusqu'à Micorosft Bob - qui
n'a jamais vraiment démarré -( mais drôlement familier de l'ADI
des pays francophones...)


    
                                        *     *     *

Le joli monde des gamers sur Internet ne serait  possible sans
la venue des techniques du graphisme 3D; il s'agit essentiellement de
traduire une image en trois dimensions sur une surface qui n'en a
que deux, donc la tâche effectuée pa les peintres d'une ère révolue,
mais avec l'animation en plus. CC# 27 dénombre les termes
employées pour effectuer ce travail.

On fera du wireframe rendering (rendu en fil de fer) - soit sur des objets
orthogonaux, ou en perspective - à l'aide de mailles triangulaires. L'enjeu sera
de réduire tant que possible le nombre d'opérations pour un jeu qui
avance rapidement. Tous connaissent les jaggies: le carré des pixels
qui crée un effet de marche d'escaliers. On se sert de l'antialiasing
pour y remédier: les pixels en bordure seront plus pâles que les autres.
On fait aussi parfois une économie en ne rendant pas la face joueur d'un objet:
ceci peut donner un sens de manque dans une scène d'action.
Et le flickering (étincelles 'blanches' pendant le jeu) reste problématique, car ceci se
produit - le Z-fighting, sur la mémoire tampon -  quand les calculs de
superposition placent un même pixel de bordure sur deux objets.

source: Wikipedia


Un carte graphique haut de gamme rend plusieurs centaines de millions
de polygones par seconde!!

                                   
                                        *     *     *

CC#28 (Networks 1 de 3) lève le voile sur les pratiques du réseautage informatique
que nous connaissons tous, mais sans en savoir le pourquoi. En retournant en arrière
aux années 1950, nous avons l'ETHERNET  et les LAN: un réseau limité d'ordis
que l'on peut considéré privé, par example, sur un campus universitaire. Tous
les ordis reçoivent l'info qui circule dans le réseau, mais seul l'ordi visé
l'acceptera (Carrier Send Multiple Access). Et la transmission se fera à l'aide d'hésitations
aléatoires en cas de collisions. Éventuellement, il faudra un interrupteur pour faciliter le traffic
entre un ordi et son voisin.

Voilà pourquoi nous avons, même aujourd'hui, des réseaux entièrement privés
et spécialisés, comme ceux des banques.

Dans nos réseaux très complexes, on tient compte du hop count: le nombre de sauts
des bouts d'information qui se promènent, car cela peut détecter une bouble qui se
serait formée etre deux stations. Le TCPIP(Transmission Control Protocol/Internet
Protocol) embarqué sur le IP rétablit l'ordre parmi les paquets, qui arrivent souvent
dans le désordre.

Il y a aujourd'hui 10 milliards d'ordis en un seul réseau, et on ne fait que commencer à
informatiser les objets qui nous entourent...

                                      *     *     *

 Le modèle dit du  Open System Interconnection (IOS) décrit les niveaux d'abstration
qui régissent tout système électronique de communication à distance. Il date de1978.
CC#29 -the Internet - s'attarde sur les niveaux mitoyens, 3 et 4, réseau et transport -
et nous laise entrevoir comment les paquets d'information circulent sur grande distance.
Ci-bas, j'ai fait deux tests pour savoir le nombre de hops ou sauts pour me connecter
à la famille royale d'Angleterre et la Maison Blanche. Moins compliqué pour se rendre
en Angleterre, du moins cet après-midi...




L'Internet est un WAN Wide Area Network, et requiert de passer par des réseaux
publiques. On fera un checksum (Addition des chiffres d'une communication:
et si le compte est resté stable, on accepte l'information). Un protocol plus sophistiqué
va remettre les paquets en bon ordre avant de les faire parvenir au LAN Local Area Network.

Il y a 300 million d'adresses Internet dans le DNS Domaine Name Server.




http://nhprice.com/what-is-ios-model-the-overall-explanation-of-ios-7-layers.html

                                          *     *     *
 Crash Course# 30 nous explique, bien clairement, ce qu'est la Toile.
Si plusieurs se servent des termes la toile et l'internet de façon équivalente,
ils ne sont pas synonymes. La toile repose sur l'internet, qui la rend possible.
Le WWW, c'est effectivement un ensemble de documents ou sites - d'information
- reliés les uns aux autres grâce à des hyperliens. Ces derniers forment un
index associatif (Memex de Vannevar Bush, 1945), permettant de se rendre
d'un texte à l'autre sans recherche d'adresse de la part de l'utilisateur.

1990 voit la première version du html; http 1991 ne connaît qu'une
commande, le get.On doit à Time Berners-Lee (et aux physiciens du CERN)
la première version du surfing; l'adresse IP est trouvée par machine et le document
expédié au demandeur. En 1993, le premier moteur de recherche apparaît, Mosaic.
Pas longtemps plus tard, nous voilà munis de Amazone et Ebay pour le commerce
en ligne.

Google se démarque pour la recherche sur le web; il ne se sert pas du nombre
de requêtes sur un site pour conclure qu'il est crédible, mais bien plutôt du nombre
de sites qui le référencent (back-reference). Un site souvent cité par d'autres sera
sans doute des meilleurs!!


mercredi 10 janvier 2018

Faire un save


Soyons clair: pour qu'un fureteur Web sache quoi faire
d'un fichier, il faut lui donner des instructions. Et la clé, c'est le format
du fichier. Si c'est une image, il faut un fichier dans ce format
pour que l'information passe par le bon déchiffrement.

Une page Web doit être au format HTML. C'est ce qui dit
au fureteur de l'exécuter. Un fichier HTML n'a pas de formatage,
car le formatage vient des instructions qu'un fichier html fournit.

Du point de vue de l'utilisateur, on crée sa page dans les règles de l'art
html, mais on fait un save pour un fichier qui sera .html et purement texte.
Ainsi, on fait un clic droit pour demander, ouvrir avec... le fureteur de
son choix, et on contemple son oeuvre en ébauche de page Web sur son ordi.


                                          *     *     *

Avant publication éventuelle, il y aura des spécifications à apporter
dans la section sur le language utilisé et le charset.
Une page html qui commence avec
sera au standard HTML5 2015.

C'est pointilleux;  un charset(character set) et
l'encoding ne sont le même concept. Le premier veut dire
l'alphabet utilisé, le seond, la correspondance binaire
pour chaque caractère. Unicode-8 offre des correspondances pour
les langue européennes. Unicode-16 sert pour les langues asiatiques.
Windows se sert de Unicode-16 à l'interne, mais 'comprend'
très bien le -8.


mercredi 3 janvier 2018

Tuyaux

LES TUYAUX GELÉS

1. Si C'est un tuyau d'entrée d'eau, commencer à chauffer
(sèche-cheveux) par le bout le plus près du robinet, sinon il y a risque de
cassure. Se servir d'un mélange d'eau chaude et froide...

https://www.thebalance.com/how-to-thaw-a-frozen-water-pipe-2124986

2. Pour un tuyau de sortie, éviter de se servir d'eau bouillante, qui pourrait
tout faire éclater brutalement. On met du sel, pour abaisser la température de
changement d'état...Et on laisse couler l'eau en continu pour éviter de geler
à nouveau...

https://www.wikihow.com/Unfreeze-Water-Pi

CC# 21, 22, 23, 24 & 25

Ce qui motive la compression de données en informatique
est bien compréhensible: le désir de faire des économies, soit
en bande passante ou en espace-support. Mais il y aura deux
régimes de compression assez différents: lossless (sans perte) et
lossy (avec perte). La première approche touchera principalement
les données passives:par exemple, on évite la redondance d'information
dans des pixels de la même couleur; ou on crée des dictionnaires
d'information répétée en donnant à ce qui apparaît le plus souvent le code
le plus court.

Le lossy est basé sur les limites dela perception humaine. On fait disparaître
le niveau de détail que l'humain perçoit mal; ou, pour la musique, les sons
trop aigus pour être entendus.


Noodles, le caniche; bien difficile de faire la différence!!

Cela peut aller trop loin, comme dans la qualité vidéo, quand on projette une
veille image que l'on a pas mis à jour (elle paraîtra gelé). Mais on n'a pas toujours
besoin de retransmettre une partie de l'image qui ne change pas, comme un fond de
scène...

                                                    *     *     *

 CC# 22

Cet exposé nous propose comment l'interaction avec l'ordinateur a pu se
développer.

Après les cartes et le clavier, on a su introduire une interaction sur écran.
Hélas, initialement sans graphisme. C'était l'ère du Command Line Interface,
que les puristes (et adminisrateurs) utilisent toujours. Run: Cmd pour Windows.

Ci-bas, un des premiers jeux Zork(1979); produit par un groupe au MIT.C'est une
aventure mais complètement conceptuelle. On peut jouer sur ifiction.org.
Assez simple, mais éventuellement on commença ainsi à pouvoir exploiter l'internet
pour un parcours multijoueurs!!


https://www.thebalance.com/play-zork-online-for-free-1357975

http://www.ifiction.org/games/playz.php

                                     *     *     *

 Le tournant vers le graphisme sur ordinateur n'aura pas
été facile: le grand problème? Les besoins en mémoire que
cela occasionne. CC# 23 nous laisse entrevoir l'évolution
qui s'est opérée à partir des années 60 aux ÉU.

On se servit d'abod des écrans pour défiler des valeurs temporaires
de régistre ( ce qui évitait de gaspiler du papier). C'était l'aire des
écrans cathodiques des premières télévisions. On pouvait présenter soit
des formes (vectorielles) ou des matrices de points (raster) mais sans la
puissance des pixels actuels. Un crayon faisait scintiller des plans sur un écran.

Plus tard, on s'aventura à présenter des caractères pré-définis - dont
80 lettres et 25 autres - dans une partie de la mémoire ROM (read only).
Et les plus hardis s'amusaient à faire des bonhommes avec des lettres(ASCI Art).
Dos jouissait même des couleurs blue et blanc. Ensuite, un petit
programme laissait apparaître des formes, dans ce qui fût
l'ancêtre de la carte graphique. On faisait ainsi les premières animations
et jeux et avec Sketchpad en 1962, les premiers usages professionnels(CAD).




Et il y a maintenant un VRAM( rapide) sur la carte graphique, et des bibliothèques
de code. Mais même en 1971, tout ceci était réservé à seulement quelques
1000 usagers.

                                    *     *     *

 J'ai entamé le CC# 24 - Guerre froide et consommation - avec
l'idée que je n'y apprendrais pas grand chose. Tout au contraire, l'épisode
fournit une vue d'ensemble très pertinente sur l'évolution de l'informatique
depuis la Seconde Guerre Mondiale.

À la sortie de la guerre, l'opposition entre les ÉU et l'Union Soviétique a motivé
d'énormes dépenses de la part du gouvernment américains. Les ordi devenaient
plus puissants - et plus lourds - mais les besoins pour la défense et éventuellement
ont forcé le passage vers les circuits intégrés. Et pendant ce temps, le Japon a
vu sa chance avec des produits électroniques personnels pour le consommateur.




Dans les années 70, Intel s'est réorienté vers les processeurs, et a commencé à fournir
le Japon.

                                       *     *     *
CC# 25 nous ramène aux débuts de l'informatique personnelle.




En 1976, Bill Gates et Paul Allen, 19 et 22 ans, ont eu l'audace
d'offir un interpreteur Basic, ce qui évitait aux bricoleurs des premiers
ordis (Altair 8800) la pénible tâche de programmer en language de bas
niveau.Les premiers ordis perso étaient des outils pour texte, jusqu'à la
venue du Apple II en 1977, avec un écran couleur
et son; mais quand même rudimentaire. Avec Radioshak et Commodore, on
avait des produits tous sous Basic pour lesquels les progammeurs pouvaient
offrir des produits: jeux, calculatrices, éditeurs textes...

En 1980, IBM aura  la sagesse de créer un ordi perso avec des composantes
autres que celles de leur compagnie: ce qu'il y avait de mieux, au meilleur prix:
processeurs Intel, MS Dos et ainsi de suite. Ils ont ainsi établit un standard
de performance, et une architecture ouverte qui permettait à divers groupes la
possibilité d'ajouter leurs composantes: mémoire,  carte graphique, joystick et
ainsi de suite. Compaq, et Dell ont pu, à leur tour, créer des ordis de cette moulure
(IBM compatible) avec des ajouts compatibles. C'est donc ici le début de la compétition
avec Apple, qui - pour maintenir la qualité - décida pour une architecture fermée,
et seuls eux pouvaient offir des produits annexes, comme les imprimantes
pour leurs ordis.

En 1984, Apple présente le Macintosh avec GUI: graphical user interface...