La vidéo suivante est produite par la chaîne Youtube Computerphile, une excellente chaîne de se spécialisant sur diverses technologies en informatique. La vidéo est animé par le Docteur Steve Bagley (le lien de son site personnel) de l’université de Nottingham en Angleterre, il fait la présentation d’un état de l’art sur le fonctionnement externe et interne des processeurs (CPU). La présentation touche des concepts importants dans l’Architecture des Ordinateurs comme l’architecture de Von neumann, l’interaction CPU-RAM, l’exécution des instructions à travers les compartiments internes du CPU, dont Fetch, Decode, Execute, l’exécution en pipeline et le phénomène du pipeline hazard (ou risques du pipeline), qui exige un traitement spécifique pour certaines instructions.
Étiquette : vidéo
L’introduction du cours deep-learning de MIT
Une introduction en vidéo fracassante et spectaculaire du cours de deep-learning de l’université de MIT pour cette année, l’enseignant a eu avec cette introduction de bien faire comprendre aux étudiants de quoi s’agit-il et les projections effectifs des connaissances de ce cours.
Pour rappel, le deep-learning est une branche du machine-learning elle-même une sous-classe du domaine de l’inintelligence artificielle. On peut facilement observer que de nos jours c’est l’intelligence la plus avancée et la prometteuse en comparaison aux autres intelligences.
Le compilateur online OnlineGDB.com
Le site web OnlineGDB.com, est l’un des plus connu service sur le cloud qui permet d’offrir un compilateur et un environnement de développement (IDE) aux programmeurs pour une vaste gamme de langage de programmation dont: C, C++, Java, Python, C#, PHP, Ruby, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS,…etc. il permet de faire l’édition de texte, la compilation, l’édition de liens, l’exécution, le débogage,…etc. Ainsi que la sauvegarde online, le partage de code source, le téléchargement des sources…etc.
Au final, on peut dire que ce service online permet d’offrir un environnement de développement simpliste pour un énorme éventail de langages de programmation, c’est pratique pour faire des tests de langages ou faire des programmes de taille réduite pour les étudiants, mais ne peut en aucun cas rivaliser avec un vrai environnement de développement qui est généralement beaucoup plus riche et adapté pour les gros projets.
État de l’art sur les mémoires RAM
La vidéo suivante est excellente pour avoir une compréhension et un aperçu sur la technologie de mémoire qui prime sur nos machines actuelles, c’est très pédagogique et très bien illustré.
Le contenu de 3dbuzz libre d’accès
Le site 3d buzz (https://www.3dbuzz.com/) a été un excellent site web bien connu dans le domaine de la création vidéoludique, il représentait principalement une collection de vidéos sous format de tutoriels payants touchant les principaux logiciels et langages de programmation pour le développement des jeux vidéo, néanmoins une importante partie des tutoriels, comme vous pouvez le voir sur la liste en bas, n’est pas réservée que pour le domaine vidéoludique mais touche l’informatique en général. Le site malheureusement vient de fermer ses portes en cause de la mort du principal créateur du site, et la famille du défunt a voulu lui rendre hommage en libérant et mettant en accès gratuit le contenu de son site.
Le contenu du site n’est resté que quelques jours librement disponible après la fermeture du site, mais des sites miroirs comme le site miroir (https://mirror.rikuwu.com/3dbuzz/) sont actuellement disponibles répliquant les ressources du site, il existe aussi deux liens torrent (lien1 , lien2) pour télécharger tous les 205 Go du site aspiré. Il existe aussi un post reddit dédié pour la collection des différentes ressources, à consulter pour plus d’informations ou si les liens ci-dessous venaient à disparaître.
La liste de quelques outils et langages de programmation disponible sur le site est comme suite :
- 2D Artwork
- 2D Game Art
- 3Ds Max
- After Effects
- AI Programming
- ASP.net
- C#
- C# and XNA
- Blender
- C++
- Building 2D games in C++
- Building iPhone Applications
- Unity 4.5
- CryEngine 3
- Developing Unity Games for the iPhone
- Doom 3 Modding
- Drawing
- Game Assets in 3DS Max
- Far Cry Level Development
- SOLIDWORKS
- GIMP
- Half Life 2 Level Development
- Objective-C
- Android Development
- Delphi
- F#
- Windows Phone 8 Development
- Maya
- Basic Mathmatics
- MMO Development
- MOBA MMO
- Modern HTML and CSS
- Modern JavaScript
- OpenGL
- Photoshop CS5
- Python
- Quixel Suite
- React.js
- UDK
- Web Design
- XNA
- Zbrush
- et plusieurs autres…
Postmortem du jeu Diablo
Le terme postmortem désigne généralement l’analyse du déroulement d’un projet fini, avec la mise en perspective de ses sucées et ses échecs. Le projet en question sur la vidéo en bas concerne le mythique jeu sur PC Diablo, considéré pour beaucoup parmi les jeux vidéo les plus influents de tous les temps. Ce postmortem est présenté par David Brevik, le principal concepteur du jeu, il fait narration sur plusieurs anecdotes arrivées lors du dévellopement, des anecdotes parfois techniques, commerciales ou sur sa vie personnelle. L’une qui m’a le plus marqué est le fait il ne savait pas programmer avec le langage C lorsqu’il a commencé le développement de Diablo, mais qu’il l’a appris au cours du projet, aussi le fait que Battle.net, la plateforme de Blizzard pour jouer online, réputé à l’époque pour sa performance, se composait uniquement d’une seule machine qui arrivait à faire gérer des milliers de joueurs dans le monde entier. C’est sûr et certain, ce postmortem est très bénéfique et enrichissant en terme technique, ludique, et émotionnel.
La nouvelle génération des disques durs SSD M.2 NVMe
Il est bien connu que les disques durs mécaniques HDD à base de technologie magnétique tendent à disparaître, et sont replacés peu à peu par les disques durs SSD (pour Solid State Drive) à base de technologie à mémoire flash, en raison de plusieurs avantages comme la rapidité, la robustesse, l’encombrement, la consommation…etc. Malencontreusement la technologie SSD fait actuellement face à un problème hérité des disques durs HDD, qui utilisent l’interface SATA et le protocole AHCI conçus au départ spécifiquement aux disques durs HDD mécaniques et qui ne deviennent plus optimaux pour la technologie flash, d’où l’émergence de la technologie SSD M.2 NVMe (M.2 étant le l’interface et NVMe le protocole). La vidéo suivante explique plus en détail cette nouvelle technologie.
Le Processeur éducatif nommé Scott
À cette période de l’année, à l’université, c’est le summum, le sommet de la course vers la quête de l’apprentissage pour les étudiants. J’ai pu visualiser récrément une excellente vidéo sur le thème qui intéresse particulièrement les étudiants du Module Architecture des Ordinateurs, la vidéo en bas est plus centrée sur la micro-architecture, le narrateur explique le fonctionnement interne d’un processeur, avec en plus son interaction avec les autres composants d’un PC, comme la RAM, le moniteur et le clavier.
Le processeur en question est le processeur Scott, c’est un processeur académique développé par John Scott, le processeur reste comme un processeur simpliste par rapport aux processeurs actuels, mais les concepts de base restent les mêmes. John Scott a probablement acquis les bases de la conception Hardware et la conception des processeurs tout au long de sa carrière en travaillant à la silicon valley dans des entreprises comme Intel et IBM. La conception de ce processeur a abouti au final à un livre ; But How Do It Know? – The Basic Principles of Computers for Everyone, plusieurs autres éléments et informations sont accessibles sur le site consacré à ce livre, www.buthowdoitknow.com
Le processeur MOS 6502
Personnellement le processeur MOS 6502 est l’un de mes processeurs préférés, pour plusieurs bonnes raisons à mon point de vue, c’est un processeur 8 bits relativement simple avec un jeu d’instructions en tout de 56 instructions, qui en dépit de sa simplicité reste un processeur robuste avec des mécanismes dans son assembleur qui le rendent plus puissant, notamment ses douzaines (ou plus) de modes d’adressage. Le 6502 est aussi un processeur avec un énorme succès commercial, notamment son intégration dans d’importantes machines des années 80, comme le Apple-1, le Apple-2, Commodore PET et 64, la Nintendo NES, Atari 2600…etc. La vidéo en bas est celle d’une conférence sur le processeur, elle est présentée par un nom bien connu dans le domaine du hack du Hardware rétro, c’est Michael Stail (voici son blog), actuellement il est entrain de développer le noyau software d’une nouvelle machine rétro appelée Cammander X16 (plus de détails sur le lien).
Il faut savoir que la présentation est technique, destinée principalement à des connaisseurs dans le domaine, des fins d’études, des doctorants/chercheurs, des hackeurs…etc. Une bonne partie ne serait pas totalement compréhensible par des étudiants de 1-ière ou 2-ème année, mais ça reste toujours une excellente présentation pour avoir une petite idée sur le processeur 6502 et le Hardware en général. La présentation traite trois parties, la 1-ière est celle de l’architecture du processeur, les registres programmables, le jeu d’instructions, les modes d’adressages…etc., ce qui se fait généralement dans un module d’Architecture des Ordinateur. La 2-ème est celle de la microarchitecture, concernant la construction matérielle interne du processeur, sachant qu’un grand travail de reverse engineering a été fait sur le processeur pour comprendre sa microarchitecture, puisque à la base ce processeur est commercial et sa microarchitecture n’a jamais été rendue publique. Et dernièrement, l’extraction des connaissances et l’expertise du fonctionnement du processeur, et une compréhension poussée de son fonctionnement au-delà de son manuel, en créant un simulateur du processeur au niveau transistor (lien du simulateur online), comprendre les bugs hardware et les instructions non documentées…etc. Bon visionnage.
Le meilleur livre pratique de Machine Learning
Le Machine Learning (ou ML) est une branche importante de l’Intelligence Artificielle, la majorité des technologies actuelles d’IA utilisent des techniques de cette branche, comme par exemple les innovations DeepMind de Google ou les Enceintes Connectées, comme Google Home, Amazon Echo ou Apple HomePod, représentées sur la photo en bas. Je ne suis pas un spécialiste du domaine pour conseiller le meilleur livre pour apprendre cette discipline mais sur internet on arrive trouver des spécialistes qui peuvent nous orienter dans le choix d’un bon livre pour un bon investissement d’apprentissage dans le domaine. Le gars sur la vidéo en bas fait des vidéos de tutoriaux sur l’utilisation du langage Python dans le domaine du Data Science et Machine Learning, d’ailleurs le Python est très prisé pour ces deux disciplines. D’après l’auteur de la vidéo le livre Hands On Machine Learning with Scikit Learn and Tensorflow est le meilleur livre actuel sur le Machine Learning concernant l’aspect pratique du domaine (et non théorique), il explique dans la vidéo pourquoi d’après lui c’est le meilleur livre qui existe.
D’après ma modeste expérience dans l’éducation, le meilleur moyen d’apprendre pour un étudiant est un »bon » livre, j’ai toujours répété à mes étudiants qu’un bon livre vous fera apprendre dix fois plus ce que vous apprendrez en suivant le cursus normal pour module donné, et c’est tout à fait logique, les bons livres sont généralement écrits par des spécialistes avec des années d’expérience, peut être les meilleurs dans le domaine, par exemple pour le module des architecture des ordinateur le livre Computer Organization and Design écrit par David A. Patterson et John L. Hennessy, les deux auteurs sont des experts reconnus mondialement, c’étaient les deux initiateurs de la conception des processeurs RISC, de facto de 99% des processeurs actuels. Les deux auteurs ont obtenu le prix Turing, l’équivalent du prix Nobel en informatique. John L. Hennessy est l’un des fondateurs du processeur MIPS étudié dans le module, il a été le tuteur des deux étudiants Larry Page et Sergey Brin lors de leur projet de fin d’étude pour la création du moteur de recherche Google. David A. Patterson est actuellement l’un des leaders de la fondation RISC-V, le processeur dit du future. Le livre contrairement au cours permet de prendre le temps et petit à petit d’approfondir et détailler minutieusement les différents aspects du domaine.
Il faut savoir que l’Intelligence Artificielle est une discipline qui monte de jour en jour en puissance, ça serait probablement l’une des technologies prédominante dans les décennies à venir, investir dès les premières années dans cette technologie serait inch-allah bénéfique à long terme. Il faut juste savoir que ce domaine est réputé d’avoir une appréciation théorique lourde, et un background mathématique et statistique poussée. J’ai eu l’opportunité dans mon ingéniorat de travailler sur les Réseaux de neurones, l’une des techniques les plus répondues dans le ML, j’ai aussi travaillé sur les Support Vector Machine et je me rappelle qu’il me fallait étudier en plus des notions en mathématique non étudiés dans le cursus normal d’informaticien, comme certaines notions d’optimisations et d’analyses mathématiques, des concepts et théories en statistique…etc. Quoique le livre présenté en haut se concentre sur l’aspect pratique du domaine, l’aspect théorique reste pas moins important et non négligeable que l’aspect pratique.