Qui est le coupable ? Le processeur ! Retour sur un bogue important des SkyLake & Kaby Lake Intel

Posté par  . Édité par bubar🦥, Benoît Sibaud, Davy Defaud, ZeroHeure, Nils Ratusznik et patrick_g. Modéré par Benoît Sibaud. Licence CC By‑SA.
42
6
juil.
2017
Matériel

Certains d’entre vous ont peut‐être vu passer l’information : les derniers processeurs Intel des familles Skylake et Kaby Lake sont victimes d’un bogue lorsque l’hyper‐threading est activé. On trouve par exemple un article sur Ars Technica, et Debian propose des instructions détaillées pour corriger le problème en mettant à jour le microcode (firmware) du processeur.

Cette dépêche propose revenir sur les événements qui ont mené à la découverte du problème. Xavier Leroy le décrit en détail dans un article sur le blog de l’équipe Gallium, dont je proposerai un résumé pour les lecteurs francophones.

Journal Un décalage de 64 bits, ça vous inspire comment ?

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
46
14
mai
2017

Salut à tous,
après l'excellent journal d'Anaseto sur le fameux "1+3a", un pote à moi, prof de maths à L'INSA de Rouen, m'a demandé de faire ce petit journal après une "découverte" faite par ses étudiants.
Ceux-ci écrivant des tests unitaires en Free Pascal sont tombés sur un comportement non documenté qui nous a amené à nous poser la question du "comment ksa fait sur les autres langages" :)

Le problème

Le problème vient de l'opérateur de décalage de (…)

Journal Une petite histoire d'utilisation type fort dans Ocaml

Posté par  . Licence CC By‑SA.
16
14
jan.
2017

Obtenir du code correct par l'utilisation de types

Je vais illustrer cette idée avec un cas trivial mais pragmatique. Pour se mettre à un langage, rien ne vaut un petit projet perso, avant de passer aux choses sérieuses en regardant le code écrit par d'autres. Dans mon cas, il s'agit de l'écriture d'un utilitaire pour afficher des schémas Kicad et les différences entre deux versions (rien de gros ni professionnel comme GNU, comme dirait l'autre). Par avance, mes excuses aux (…)

Journal Après le MOOC OCaml

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
11
28
déc.
2016

J’ai participé au MOOC Ocaml qui s’est terminé le 18 décembre 2016. Tous les exercices du MOOC Ocaml pouvaient être faits dans un environnement du type de celui de Try OCaml

Pour continuer d’apprendre OCaml et développer des projets en Ocaml sur son poste, il faut se frotter aux outils gravitant autour du langage Ocaml, principalement ceux de build.

Dans ce journal je parlerais de la solution qui me semble la plus simple pour démarrer un projet OCaml et ensuite (…)

Journal Xavier Leroy est le lauréat 2016 du Prix Milner.

Posté par  . Licence CC By‑SA.
Étiquettes :
53
25
nov.
2016

Hier, jeudi 24 novembre 2016, Xavier Leroy a reçu le prix Milner à Londres à la Royal Society. Le prix Milner est le plus grand prix européen en informatique; il est décerné conjointement par la Royal Society, l'Académie des Sciences et l'académie allemande Leopoldina. Il est décerné en l'honneur de l'informaticien britannique Robin Milner qui fut lauréat du Prix Turing en 1992.

Le prix revient cette année à Xavier Leroy pour ses travaux tant théoriques que pratiques sur la fiabilité (…)

Journal Tagless-final ou l'art de l'interprétation modulaire.

Posté par  . Licence CC By‑SA.
32
22
nov.
2016

Dans la lignée du journal EDSL et F-algèbres, ce journal présente une méthode pour plonger un langage dans un autre (ici OCaml) qui généralise la précédente et centrée autour de la notion d'interprétation. Contrairement aux méthodes plus courantes pour résoudre cette question, la méthode tagless-final permet également de résoudre le problème de l'extensibilité : étendre un type de donnés, ajouter des opérations dessus, sans avoir à réécrire du code déjà compilé et cela avec la sécurité du (…)

Découvrir MetaOCaml dans son navigateur

Posté par  . Édité par ZeroHeure, bubar🦥, Benoît Sibaud, Davy Defaud et Pierre Jarillon. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
29
13
nov.
2016
Programmation fonctionnelle

OCaml est un langage de programmation généraliste, fonctionnel et statiquement typé. MetaOCaml est une extension. Le « Meta » dans le nom fait référence à la méta‐programmation, l’écriture de programmes qui manipulent des programmes.

Un cours sur MetaOCaml est disponible en ligne sur le site de l’université de Cambridge.

Journal Découvrir MetaOCaml dans son navigateur

Posté par  . Licence CC By‑SA.
Étiquettes :
19
12
nov.
2016
Ce journal a été promu en dépêche : Découvrir MetaOCaml dans son navigateur.

OCaml est un langage de programmation généraliste, fonctionnel et statiquement typé.

MetaOCaml est une extension, un dialecte non-standard du langage qui a une longue histoire. Dérivée de MetaML il y a environ 15 ans, c'est toujours resté un prototype de recherche, avec une base d'utilisateur petite mais active au fil des années—au contraire de la plupart des prototypes de recherche qui meurent de mort naturelle assez vite. Le "Meta" dans le nom fait référence à la méta-programmation, l'écriture de programmes (…)

Apprendre la programmation fonctionnelle avec le MOOC OCaml

Posté par  . Édité par Benoît Sibaud, palm123, jcr83 et dourouc05. Modéré par bubar🦥. Licence CC By‑SA.
26
15
sept.
2016
Éducation

Pour la deuxième année consécutive, l'université Paris Diderot, en partenariat avec la Sorbonne, INRIA, IRILL et OCamlPro, organise un MOOC d'initiation à la programmation fonctionnelle avec le langage OCaml. Les leçons débuteront le 26 septembre 2016 et se termineront le 12 décembre. Les cours seront donnés en anglais mais des sous-titres sont disponibles aussi bien en anglais qu'en français. Il est toutefois possible de s'inscrire jusqu'au 25 novembre pour les retardataires.

Journal Malfunction: réutiliser la représentation intermédiaire du compilateur OCaml

Posté par  . Licence CC By‑SA.
24
24
juin
2016

Stephen Dolan (github, vielle page perso) est un étudiant en thèse d'informatique à Cambridge, UK, et il a de nombreux talents et des centres d'intérêt variés au sein de la discipline. D'un côté il a un goût pour l'élégance mathématique assez visible dans ses travaux (en particulier son travail de thèse très intéressant sur le sous-typage, avec une forte inspiration algébrique), de l'autre c'est aussi un hacker qui s'intéresse à l'implémentation, et a par exemple fait une (…)

Journal EDSL et F-algèbres

Posté par  . Licence CC By‑SA.
Étiquettes :
16
12
juin
2016

Bonjour,

J'ai récemment eu à concevoir un DSL et en recherchant quelques informations et bonnes pratiques je suis tombé sur ce lien contenant une vidéo youtube instructive.

L'idée est la suivante, pour intégrer un langage dédié dans un langage hôte (qui supporte des types algébriques), il y a au premier abord deux méthodes :

  1. Construire un type algébrique correspondant à la syntaxe des expressions du langage, et ensuite construire des fonctions d'évaluation qui produisent les valeurs attendues à partir (…)

OCaml 4.03

73
2
mai
2016
Programmation fonctionnelle

La version 4.03.0 du langage OCaml est paru le 25 avril 2016. OCaml est un langage fonctionnel de la famille des langages ML (dont font partie SML et F#, ou Rust avec une définition élargie).

OCaml est entre autre utilisé pour implémenter le langage Coccinelle (régulièrement utilisé dans la communauté des développeurs du noyau Linux) ou MirageOS (ensemble de bibliothèques pour construire des unikernels). On compte aussi l'implémentation du langage Hack chez Facebook, l'interpréteur de référence pour le projet WebAssembly, ou encore l'analyseur statique de Code C Frama-C.

OCaml

Il s'agit d'un langage fonctionnel multi-paradigmes fortement typé qui permet de mélanger librement les paradigmes fonctionnel, impératif et objet. Cette version 4.03 fait suite à la version 4.02 publiée en juillet 2015.

Journal première sortie de "DAFT Allows File Transfers"

Posté par  (site web personnel) . Licence CC By‑SA.
12
2
fév.
2016

Chers lecteurs,

J'ai le plaisir d'annoncer la première sortie de DAFT (v0.0.1).

https://github.com/UnixJunkie/daft

DAFT est un outil en ligne de commande pour transférer des fichiers de manière sécurisée, par exemple pendant une expérience computationnelle distribuée. C'est le compagnon idéal (pour les fichiers) de logiciels tels que PAR ou GNU parallel. PAR est un outil pour bouger efficacement ses données quand il n'y a pas de système de fichier distribué d’installé sur les noeuds. PAR ne nécessite pas de droits root (…)

Journal Meetup OCaml - OUPS

Posté par  (site web personnel) . Licence CC By‑SA.
21
6
nov.
2015

Bonjour'nal !

Je me présente Romain Calascibetta et je suis un développeur OCaml. Depuis Janvier 2013, des personnes représentant la communauté OCaml ont décidé de lancer un rendez-vous mensuel pour tous ceux qui connaissent OCaml de près ou de loin. Ce rendez-vous prend la forme d'un Meetup avec des conférences animées par des acteurs de l'industrie OCaml, des pizzas, des boissons et des gens cools.

Mais dans ce beau monde déterministe typé, voilà qu'il y eu un effet de bord. En (…)

Journal Rashell, bibliothèque de programmation shell résiliante pour OCaml

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
18
26
sept.
2015

Une des difficultés principales dans la programmation shell est la gestion des erreurs dans l'utilisation des tubes (pipes) qui sont pourtant au cœur de la programmation shell, et la plupart des interfaces fournies dans nos langages de programmation préférés ne font rien pour améliorer la situation: la règle générale est que soit les erreurs fans les sous-processus sont ignorées, soit il faut mettre en place une infrastructure assez lourde pour récupérer ces erreurs.

La solution à ce (…)