Journal Plan9 & 9Front: Le front tombe!

Posté par  (site web personnel) . Licence CC By‑SA.
24
16
août
2011

Plan9, le système d'exploitation expérimental et distribué de Bell Labs a fait l'objet d'un fork par des membres de la communauté 9front, afin que le développement de Plan9 continue « même si les ressources de plus en plus rares présentes à Bell Labs pour Plan9 finissent par disparaître » (« This true community‐approach allows further development of Plan 9, even if the shrinking resources at Bell‐Labs for Plan 9 are vanishing »).

Plan9 a d'abord été développé par Rob Pike et (…)

Quelques nouvelles rapides du langage Go

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
35
23
mar.
2011
Golang

Go devient plus stable : de nouvelles versions de Go sortent régulièrement, en moyenne une fois par semaine. C’est un rythme soutenu qui ne convient pas à tout le monde. Les développeurs de Go ont donc décidé de continuer ces versions sous le nom de weekly, mais de publier également des versions stables tous les un à deux mois. Ces versions seront soigneusement choisies et annoncées sur la nouvelle liste, golang‑announce.

Gorun est un outil qui permet de lancer en ligne de commande des « scripts » écrits en Go. Il suffit de mettre « #!/usr/bin/gorun » en 1re ligne ([[Shebang]]) pour que le script écrit en Go puisse être lancé directement.

Cgo est un outil qui permet de compiler du code Go qui utilise des bibliothèques en C. Il fonctionne, pour le moment, avec le compilateur Go de Google, mais il est aussi prévu de prendre en charge le back‑end Golang de GCC.

Capsicum, une séparation fine des privilèges pour UNIX

Posté par  . Modéré par tuiu pol. Licence CC By‑SA.
94
21
mar.
2011
Sécurité

Le projet Capsicum, lancé l'année dernière, tente d’adapter le modèle de sécurité par capacités (« capabilities ») aux systèmes UNIX. En deux mots, il s’agit de permettre aux applications de faire tourner certaines parties de leur code dans des « sandboxes » (bacs à sable) aux droits très restreints, gérés finement, avec la possibilité de recevoir ou de déléguer dynamiquement une partie de ces droits.

C’est une approche de la sécurité qui mise sur la flexibilité et l’intégration directe dans les applications (au contraire de politiques externes décidées par l’administrateur système, comme avec SELinux) pour respecter le Principle of Least Authority, qui recommande qu’un bout de programme donné fonctionne avec seulement les droits dont il a besoin pour accomplir sa tâche. Ainsi, les conséquences d’une faille sont réduites et les vecteurs d’attaque diminuent énormément. Par exemple, je ne veux pas que le logiciel qui lit mes fichiers PDF ait le droit de lire le contenu de mon répertoire personnel et d’envoyer des e-mails.

Capsicum introduit de nouveaux appels et objets système, qui demandent une (relativement petite) modification du noyau, ainsi qu’une bibliothèque logicielle en espace utilisateur pour utiliser ces nouveaux appels système. FreeBSD a déjà fait les modifications nécessaires, et les chercheurs ont pu facilement convertir plusieurs applications au modèle Capsicum : tcpdump, dhclient, gzip et, avec l’aide d’un développeur Google, le navigateur Web chromium.

Capsicum peut ainsi renforcer considérablement la sécurité des applications UNIX classiques, sans demander de les recoder entièrement. Reste à voir si les développeurs du monde du Libre seront convaincus par ces approches compartimentées, et prêts à les prendre en compte lors de la conception de leurs logiciels.

Groff sort en version 1.21

Posté par  (site web personnel) . Modéré par patrick_g.
37
17
jan.
2011
GNU
C'est le 31 décembre 2010 que Werner Lemberg, le principal mainteneur de groff, a annoncé la sortie de la version 1.21, soit près de deux ans après la sortie de la précédente version.

Pour rappel, groff est l'implémentation GNU de l'ancestral logiciel roff, interpréteur du langage de formatage de texte du même nom. Groff est généralement utilisé sur nos machines pour afficher nos pages de manuel, mais, outre la sortie en ASCII, latin1 ou UTF-8, groff peut aussi créer des fichiers HTML, xhtml, dvi, PS, ainsi que des fichiers aux formats spécifiques à certaines imprimantes.

Voici quelques-unes des améliorations apportées par cette nouvelle version:
  • Correction d'une petite faute dans tmac/hyphen.fr qui rendait impossible la césure des lignes des textes français ;
  • Ajout d'une nouvelle catégorie d'alarme nommée file pour indiquer l'absence d'un fichier appelé par mso ;
  • Amélioration du support des langues asiatiques et en particulier du japonais. C'est d'ailleurs cette amélioration importante qui a motivé Werner Lemberg à publier cette nouvelle version de groff ;
  • Création d'une nouvelle catégorie de piège (trap) actionnable lorsqu'une ligne commence par un espace, sous réserve que soit définie la macro lsm. Le saut de ligne qui advient normalement dans ce cas n'a alors pas lieu.

En seconde partie de dépêche est proposée une plus large présentation de groff et de son histoire.

Quelques nouvelles de Go, le langage de programmation

Posté par  (site web personnel) . Modéré par patrick_g.
37
5
déc.
2010
Golang
Le langage de programmation Go suit son chemin. Voici quelques faits marquants depuis la précédente dépêche sur LinuxFr.org :

Le point sur les avancées de Google Go

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
19
29
mar.
2010
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Rob Pike a pu monter une équipe chez Google pour travailler dessus, et en novembre 2009, une première version a été dévoilée au reste du monde.

Depuis, le développement continue d'avancer à un bon rythme. Des versions sont publiées tous les 10 à 15 jours.

Dernièrement, une proposition pour un mécanisme similaire aux exceptions a été discuté sur la liste de diffusion. C'est un exemple très révélateur de la manière d'avancer de l'équipe en charge de Go : ils ne se précipitent pas pour ajouter des fonctionnalités présentes dans d'autres langages parce qu'elles sont très demandées. Ils prennent le temps de réfléchir à chaque problème, et quand ils ont trouvé une piste qui semble pouvoir répondre à leurs exigences, ils publient une proposition sur la liste de diffusion. Il s'en suit des discussions qui permettent de raffiner la proposition et, sauf surprise, la proposition est intégrée dans la version suivante.

Côté communication, l'essentiel se passe sur le canal IRC #go-nuts sur freenode et sur la liste de diffusion Go-nuts. Un wiki a récemment été mis en place pour regrouper des informations sur l'écosystème de Go. Quelques jours plus tard, un blog officiel a suivi. Enfin, un dashboard permet de voir l'état des compilations sur les différentes architectures supportées.

Globalement, les personnes qui ont essayé Go semblent convaincues que ce langage est promis à un grand avenir.

Go : Un nouveau langage chez Google

Posté par  (site web personnel, Mastodon) . Modéré par Florent Zara.
29
12
nov.
2009
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Nous avons donc affaire a de vrais barbus, des légendes de la communauté des codeurs ce qui explique la curiosité qui entoure ce projet de nouveau langage. Comme Rob Pike travaille chez Google c'est donc avec le puissant soutien de son employeur que le langage Go a été développé avec les contraintes suivantes :
  • Go doit pouvoir être utilisé pour de la programmation système donc c'est un langage compilé et pas interprété ;
  • La compilation doit être très rapide pour faciliter le développement des projets (l'analyse des dépendances permet une compilation en quelques secondes) ;
  • La syntaxe doit être assez proche du C tout en corrigeant ses défauts les plus criants ;
  • La gestion de la mémoire doit être automatique (garbage collector) ;
  • Le typage doit être statique mais il n'y a pas de hiérarchie des types pour simplifier le langage ;
  • La programmation concurrente (pour exploiter les multicores) doit être intégrée au cœur du langage ; cela se fait par l'intermédiaire des « goroutines » qui sont plus légères que les threads ;
Go est le résultat de la très longue expérience de Thompson et Pike et les auteurs semblent assez fiers de leur rejeton :
« Go has fast builds, clean syntax, garbage collection, methods for any type, and run-time reflection. It feels like a dynamic language but has the speed and safety of a static language. It's a joy to use. »

La FAQ du projet évoque les questions générales et une FAQ spécifique est dédiée au langage lui-même. Un tutoriel est aussi disponible avec, pour mettre en évidence le support d'UTF8, un assez inhabituel « Hello, world; or Καλημέρα κόσμε; or こんにちは 世界 ».

Pour l'instant les remarques sur le web se concentrent sur des points de détail : la syntaxe qui ne plaît pas à tous le monde, l'absence de telle ou telle fonction (comme les exceptions), etc.
Il faut attendre un peu pour que la poussière retombe et pour avoir des analyses qui se concentrent sur les apports spécifiques du langage : les goroutines, la segmentation de la pile d'exécution, la compilation rapide, etc. Il sera également intéressant de lire des comparaisons détaillées avec les autres langages qui veulent s'attaquer au C en apportant des innovations techniques (comme par exemple le langage D).

NdM : Merci à patrick_g pour son journal à l'origine de la dépêche.

Journal Go : Un nouveau langage chez Google

Posté par  (site web personnel) .
Étiquettes :
24
11
nov.
2009
Le langage Go (sous licence BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Nous avons donc affaire a de vrais barbus, des légendes de la communauté des codeurs ce qui explique la curiosité qui entoure ce projet de nouveau langage.
Comme Rob Pike travaille chez Google c'est donc avec le puissant soutien de son employeur que le langage Go a été développé avec les (…)

La recherche en systemes informatiques ne sert a rien

Posté par  . Modéré par Fabien Penso.
Étiquettes :
0
5
août
2000
Science
Une polémique intéressante soulevée par Rob Pike (auteur avec Kernigham de 'The Practice of Programming') : Systems Software Research is Irrelevant. Une vision peu optimiste de la recherche en informatique. Un aspect particulièrement intéressant qu'il développe, est le fait que la portabilité a entrainé l'ubiquité, rendant la recherche de nouvelles choses inutile. NdM. : cette dépêche a été initialement publiée le 05/08/2000 à 14h46, perdue lors d'une migration du site, retrouvée et remise en ligne le 1er mai 2012 (les éventuels commentaires initiaux ont été perdus).