Perl 5.12 - une constante jeunesse

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
22
14
avr.
2010
Perl
Perl est un langage de script initié par Larry Wall en 1987 qui est un des fondements du mouvement des logiciels libres. Il est distribué sous la licence libre Artistic. La version 5.0 est sortie en 1994 et la version 5.12 vient de paraître. Belle pérennité et surtout magnifique travail communautaire. En effet, le gros de l'infrastructure Perl tourne autour du CPAN (Comprehensive Perl Archive Network) qui concentre des milliers de module réutilisables et en constante amélioration.

Perl utilise depuis quelques temps déjà la notation impaire pour les versions de développement et paire pour les versions stables. Depuis la version 5.11.0, la communauté Perl a basculé sur un agenda de sortie des versions à date fixe, une version de développement tous les 20 du mois en cours et une version stable tous les ans au printemps (dans l'hémisphère Nord). La 5.12 est donc la première version stable à profiter de ce nouvel agenda.

À peine sortie, un essai d'intégration dans la future Debian squeeze est déjà en route et semble sur la bonne voie. Il faut savoir que Debian n'intègre qu'une seule version de Perl à la fois et que ce langage est très intégré dans cette distribution même si à chaque version de celle-ci, de gros efforts sont réalisés pour diminuer le nombre de dépendances dans le cœur de la distribution.

Sortie de Vala 0.7.6

Posté par  . Modéré par Nÿco.
Étiquettes :
22
20
sept.
2009
Gnome
Pour rappel, Vala est un langage de programmation orienté objet dont la syntaxe ressemble beaucoup à celle de C#, mais adapté au système GObject utilisé par Gtk et GNOME.
Contrairement à C# le code n'est pas interprété par une machine virtuelle, c'est un langage compilé. Pour être plus précis, le compilateur génère de manière intermédiaire du "C", ce qui permet à un logiciel programmé en Vala d'utiliser facilement des bibliothèques en C, ou à l'inverse à une bibliothèque programmée dans un langage qui s'interface avec du "C", de faire appel à une bibliothèque programmée en Vala.

Dès le début ce nouveau langage apportait nativement des fonctionnalités très intéressantes comme :
  • Les interfaces
  • Les propriétés (spécifique aux GObjects)
  • Les signaux (démocratisé par Qt)
  • Les expressions Lambda
  • Les classe génériques
  • La gestion assistée de la mémoire
  • La gestion des exceptions

Cette nouvelle mouture apporte deux grosses nouveautés :
  • Les closures (version plus puissante des expressions Lambda)
  • Les appels asynchrones

Plus d'informations dans la suite de la dépêche.

Le point sur Java 7

Posté par  (site web personnel, Mastodon) . Modéré par baud123.
Étiquettes :
22
16
avr.
2010
Java
Pour les développeurs Java, les nouveautés que réserve Sun^WOracle pour les prochaines versions de son langage Orienté Objet sont autant de sujets d'attentes, de débats, et même pour certains ... d'espoirs ! Beaucoup a été dit et surtout bloggué depuis le lancement du projet Java 7 "Dolphin", les échanges ont été nombreux et le débat fourni. À l'heure où la sortie de cette dernière mouture de Java est imminente, faisons le point sur le sujet et tout particulièrement sur le projet Coin de Sun et des améliorations qu'il apporte à Java 7.

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

MongoDB 1.4, prêt pour la production

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
22
26
mar.
2010
Base de données
MongoDB est une base de données de type documents, sous licence GNU AGPL V3, et dont la version 1.4 vient de sortir. Elle s'inscrit dans le mouvement NoSQL, et propose des fonctionnalités très intéressantes :
  • Le stockage des documents se fait dans un format très proche du JSON (le BSON) et sans avoir à imposer un schéma ;
  • Les requêtes dynamiques sont d'une richesse fonctionnelle que je pense être équivalente au SQL, et de nouveaux opérateurs font apparition au fur et à mesure des versions ;
  • Il est possible d'indexer plein de choses, dont les objets internes et, nouveauté de la 1.4, des données géospatiales ;
  • Les requêtes peuvent être profilées ;
  • Il est faisable de stocker des objets binaires volumineux, comme des photos ou des vidéos, dans MongoDB grâce à GridFS ;
  • MongoDB supporte la réplication, le failover, et de manière expérimentale le sharding automatique ;
  • Des pilotes permettent de l'utiliser depuis de nombreux langages, dont le PHP, le Ruby et le Python.
Cela en fait une base de données solide, offrant des performances impressionnantes. Elle est déjà utilisée par de grands noms comme Sourceforge, EA, le New-York Time et bien d'autres. Elle me semble être particulièrement bien adapté pour le développement web (enfin, si vous visez à devenir le prochain twitter, Cassandra est probablement un meilleur choix). Certains prédisent même qu'elle pourrait prendre la place de MySQL dans ce domaine.

MINIX 3 - Google Summer of Code

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
21
27
mar.
2009
Noyau
MINIX 3 est un très petit système modulaire multiserveur qui vise une grande fiabilité, une tolérance aux erreurs et l'auto-guérison. Le code qui tourne en mode noyau fait approximativement 5000 lignes de code seulement.
Le reste est exécuté en tant que processus utilisateurs, en majorité des processus pour chaque pilote de périphérique et serveur.

Si un pilote plante, il est automatiquement remplacé par une nouvelle copie, sans l'intervention de l'utilisateur (ni même qu'il le sache) et sans affecter les programmes actuellement exécutés.

Il y a peu d'autres systèmes qui peuvent résister à des erreurs fatales dans des composants de système critique de manière continue.
Le but des systèmes fiables sera achevé quand :
  • aucun ordinateur n'aura de bouton RESET
    et
  • aucun utilisateur n'aura connu de plantage ni même ne connaîtra quelqu'un dans son entourage ayant expérimenté ce désagrément.
Pour la seconde année consécutive, le projet MINIX 3 est accepté au Google Summer of Code, permettant à des étudiants de travailler (travail rémunéré par Google) sur MINIX 3 durant l'été, avec certains de ses développeurs.

NdM : Cette dépêche est une traduction en français de la page MINIX sur le Google Summer of Code 2009.

Journal L’homme orchestre, partie 2 : écrire du code (en Java)

21
23
mar.
2016

Ceci est un article que je vient de publier sur mon blog et que je propose en lecture ici pour permettre la discussion, vu que j'ai désactivé les commentaires sur mon blog.
C'est la suite de mon précédent journal : L'homme orchestre, partie 1 : les casquettes

Depuis 4 ans, j’écris un MAM libre en Java. Comment arriver à ne pas se laisser dépasser par l’immensité du travail à fournir ? Un article en deux parties très subjectives et relèvent de (…)

OpenCL, en version 1.0

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
21
10
déc.
2008
Technologie
OpenCL (Open Computing Langage) est un projet ambitieux, initialement lancé par Apple. Les spécifications ont été proposées et acceptées par le consortium Khronos, qui par ailleurs s'occupe aussi d'OpenGL, en juin 2008. La version 1.0 est sortie aujourd'hui (09/12/2008) et est disponible sur http://www.khronos.org/registry/cl/ (spécification et headers).

Le but de ce projet est de permettre aux développeurs de tirer parti des énormes capacités de calcul des processeurs graphiques (GPUs) d'aujourd'hui. En effet, sauf quand une application graphique est lancée (un jeu par exemple), cette puissance de calcul reste inutilisée pour la plupart du temps. On appelle ce genre de technique, qui consiste finalement à détourner l'utilisation principale d'un processeur graphique, « General Purpose Computing on Graphics processing Units » ou tout simplement, GPGPU.

OpenCL permet donc de consolider la puissance de calcul absolue des machines en utilisant le GPU comme un simple CPU, et donc d'utiliser ce CPU « virtuel » pour les besoins de n'importe quel type d'application. Cette technologie sera incluse dans Mac OS X v10.6 (Snow Leopard) et normalement strictement transparente pour les applications. Le package OpenCL + transparence pour les programmes répond au doux nom marketing « Grand central », et ce regroupement ne sera évidemment pas libre. Cependant, rien n'empêchera au monde du libre de l'adapter dans un « Grand Central » complètement libre.

La spécification est définie comme ouverte et libre de droit. Malheureusement, il m'a été impossible de trouver une quelconque licence ou de quelconques démos. Confidentialité sur Snow Leopard oblige...

Cependant, un grand nombre d'acteurs se sont joints au projet et aujourd'hui on trouve, entre autres : Apple, AMD, NVIDIA, Intel, Broadcom, Blizzard, EA, Ericsson, IBM, Movidia, Nokia, Sony, Symbian, Texas Instruments. Bref, on ne trouve que du beau monde.

Cette technologie, définie comme indépendante du matériel, pourra potentiellement donner un grand coup de fouet aux capacités de calcul de nos machines actuelles. Il ne reste plus qu'à espérer qu'elle soit réellement « open and royalty-free ».

NdM : Afin d'éviter que CUDA (la technologie propriétaire qui est soutenue par NVidia) ne s'empare totalement de ce nouveau marché, les autres acteurs se sont regroupés derrière la bannière d'OpenCL. Cette technologie va donc bien au delà de MacOS X et elle va sans doute devenir "la" technologie de GPGPU sur les systèmes libres.

Google lance Page Speed

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
21
11
juin
2009
Internet
Page Speed se présente sous la forme d'une extension, sous licence Apache, pour Firefox et Firebug. À la manière de l'extension YSlow, Page Speed propose d'aider les webmasters et développeurs à optimiser la vitesse de rendu de leurs pages web en proposant une analyse de leur chargement.

La documentation disponible sur le site du projet est de très bonne facture, notamment la page intitulée "Web Performance Best Practices".

Le code source est disponible sous licence Apache 2.0.

L'extension se compose de deux onglets visibles sous Firebug qui analysent la performance en fonction des critères établis dans une liste et suggèrent des optimisations, ou qui permettent de monitorer l'activité de chargement et d'interprétation des éléments composant la page (images, javascript, cache, requêtes DNS...).

Les évaluations sont notées selon quatre niveaux :
  • Haute priorité ;
  • Priorité moyenne ;
  • Correct ;
  • Message d'information.

En vrac, spécial Python

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
21
31
mai
2010
Python
Pylons est un framework de développement web en Python, dont la version 1.0 vient de sortir (sous licence BSD). Là où Django se positionne comme un framework avec des composants fortement intégrés entre eux, Pylons privilégie un couplage lâche et la réutilisation des bibliothèques Python existantes. Par exemple, pour le templating, Pylons vous laisse le choix entre Mako, Genshi, Jinja2 ou ce que vous voulez. Pylons est utilisé par des sites à fort trafic comme Reddit ou Bittorent.

SQL Alchemy est à la fois une boîte à outils pour manipuler du SQL en Python et un ORM (sous licence MIT). Vous pouvez par exemple l'utiliser pour la partie Modèles d'une application Pylons. La version 0.6 est compatible avec Python 2.4+, Python 3 et Jython.

Fabric est un outil de déploiement et d'administration à distance (sous licence BSD) que l'on pourrait comparer à Capistrano dans le monde Ruby. Son utilisation se fait en deux temps : on commence par écrire un fabfile qui décrit des tâches en utilisant les modules Python fournis par Fabric, puis on peut exécuter ses tâches sur une ou plusieurs machines distantes via l'outil en ligne de commande fab.

Green Unicorn, ou gunicorn, est un serveur HTTP qui respecte l'interface WSGI (sous licence MIT). Son modèle pre-fork s'inspire du projet Ruby Unicorn et permet de faire tourner des applications dans les principaux frameworks Python (Pylons, Turbogears 2, Django). Le développement de gunicorn a commencé à la fin de l'année dernière, mais il avance vite : il en est déjà à la version 0.9.1.

Plone va participer pour la 5ème fois au Google Summer of Code. Quatre projets ont commencé :
  • l'ajaxification des formulaires d'édition de PloneFormGen ;
  • le développement de Core Tiles, qui pourrait servir de base à Plone5 ;
  • la simplification du parcours de création d'un thème Plone à travers l'interface web ;
  • le respect de CMIS, un standard favorisant l'interopérabilité entre les CMS.

Ne ratez pas le FOSDEM édition 2011 !

Posté par  (site web personnel) . Modéré par rootix.
21
23
jan.
2011
Communauté
Le FOSDEM est la conférence européenne qui réunit le plus de développeurs de Logiciels Libres. Elle se tient une fois par an à Bruxelles et ce sera le week-end des 5 et 6 février pour l'édition 2011 (l'entrée est gratuite). Il sera précédé du Beer Event le vendredi soir, une des rares occasions de voir le Beer Distribution Algorithm v3.2 (stable) mis en application.

Un certain nombre d'associations tiendront des stands, et vous aurez l'occasion d'assister à des présentations sur 20 thèmes :
  • Accessibility
  • BSD
  • Configuration & Systems Management
  • Crossdesktop
  • CrossDistro
  • Data Analytics
  • Embedded
  • Free Java
  • GNU
  • Jabber & XMPP
  • LibreOffice
  • Mono
  • Mozilla
  • MySQL & friends
  • New challenges in Virtualization
  • Open Source Telephony
  • Perl
  • PostgreSQL
  • Security & hardware crypto
  • World of GNUstep


Et pour ne pas déroger à la tradition, voici les entretiens d'une sélection de conférenciers pour se mettre dans l'ambiance :


Ne ratez pas cet événement incontournable sur le développement de Logiciels Libres en Europe.

Interview sur le travail d'un analyste programmeur avec le fondateur de la Yorba Foundation

Posté par  (site web personnel, Mastodon) . Édité par Florent Zara, baud123, Pierre Jarillon et patrick_g. Modéré par Pierre Jarillon.
20
27
mar.
2012
Communauté

Pour mes études, je devais interviewer un professionnel de la profession de mon choix. M'étant décidé sur le métier d'analyste programmeur (de logiciels libres de préférence), j'ai envoyé un courriel à la Yorba Foundation demandant un interview, j'ai rapidement reçu une réponse positive et chaleureuse d'Adam Dingle, le fondateur de Yorba. Environ une semaine plus tard, je lui envoyais par courriel un questionnaire sur son expérience, sur Yorba et sur l'implication d'un tel travail. J'ai reçu les réponses par courriel le mardi 20 mars dernier

Retrouvez l'intégralité de la discussion sur le travail d'un analyste programmeur avec le fondateur de la Yorba Foundation, Adam Dingle dans la seconde partie de la dépêche.

NdM : merci à Kekun pour son journal. Selon leur site web, Yorba est une organisation à but non lucratif basée à San Francisco et fondée par Adam Dingle en 2009. Elle chapeaute plusieurs projets Open Source destinés à améliorer les aspects multimédia de GNOME pour qu'il soit aussi facile d'utiliser Linux sur ces aspects que depuis MacOS ou Windows. Adam Dingle, diplômé de l'université de Princeton et Berkeley a été enseignant à l'université Charles à Prague et ingénieur sur les aspects de d'indexation du Google Desktop chez Google.

VisualGST 0.5.0

Posté par  . Modéré par j.
Étiquettes :
20
26
juil.
2009
GNU
VisualGST est un IDE (environnement de développement intégré) pour GNU Smalltalk - une implémentation du langage Smalltalk. J'ai le plaisir de vous annoncer la sortie de la version 0.5.0 de VisualGST.

VisualGST, logiciel sous licence GPL, est écrit en Smalltalk et utilise le binding GTK+ de GNU Smalltalk.
Voici un aperçu de VisualGST :
  • Un navigateur de classes qui permet de naviguer à travers les projets et de rajouter/modifier du code ;
  • Un Transcript : c'est utilisé pour afficher des résultats ou des exceptions (par ex : (2 + 2) printNl)) ;
  • Un Workspace : un éditeur de texte qui sert surtout à exécuter du code ;
  • Un debugger : pas besoins d'explications ;) ;
  • Un Senders/Implementers : ces deux outils permettent de voir qui utilise ou implémente telle méthode/classe/namespace ;
  • Un inspecteur : il permet de naviguer à travers des objets. Il est ainsi possible de voir les variables d'instances et de naviguer parmi celles-ci. La vue de l'inspecteur sera adaptée en fonction du type des variables : si c'est un entier on verra les valeurs en base 2, 8, 16. Si c'est un dictionnaire, ce sont les clefs et leurs valeurs qui seront montrées ;
  • Des refactorings de bases (principalement les opérations ajout/modification/suppression) pour les namespaces, classes, méthodes. Avec support de l'Undo/Redo ;
  • etc.

La fondation Apache sort Cassandra 0.6

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Florent Zara.
Étiquettes :
20
16
avr.
2010
Base de données
Le NoSQL est un mouvement qui vise à offrir des bases de données dont les caractéristiques sont différentes des bases de données relationnelles, afin de laisser aux développeurs le choix. Par exemple, une de ces caractéristiques est la "mise à l'échelle" (scalability) : certains très gros sites Internet ont besoin de gérer des bases de données conséquentes et dont la taille ne cesse de croître, sans pour autant voir leurs coûts de fonctionnement exploser. Cassandra vient justement répondre à ce besoin.

Cassandra est un stockage structuré de clés-valeurs, distribué, acceptant facilement la montée en charge et résistant aux pannes. Initialement développé par Facebook, le projet a été libéré sous licence Apache 2.0 et placé dans les mains de la fondation Apache. Il a depuis connu un succès grandissant : en plus de facebook, twitter, digg, reddit et bien d'autres ont annoncé qu'ils utilisent Cassandra.

Cassandra bénéficie de beaucoup d'activités : la version 0.6 est sortie il y a quelques jours et apporte des fonctionnalités très intéressantes (plus de détails dans la seconde partie de la dépêche). Cassandra participera aussi au Google summer of code sous le chapeau de la fondation Apache.

Gestion des puces Broadcom 63xx dans OpenWrt

Posté par  . Modéré par Jaimé Ragnagna.
20
21
oct.
2008
Linux
Hier une série de modifications ajoutant la prise en charge des puces Broadcom 63xx a été postée par Maxime Bizon dans la liste de discussion linux-mips. Il a ensuite été ajouté dans OpenWrt par Florian Fainelli.

C'est une excellente nouvelle, en particulier pour le projet OpenBox4, dont le but est de faire tourner OpenWrt sur la Neuf Box, équipée d'une puce BCM6358. La Club Internet Box, qui embarque une puce BCM6348, est également concernée par ces modifications.

Il y a notamment un pilote Ethernet et un pilote USB en GPL.

ChiliProject: Redmine forké

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
20
3
fév.
2011
Ruby
Redmine, la forge-logicielle libre bâtie sur Ruby on Rails, a été forkée. Initialement lancé en 2006 par Jean-Philippe Lang, ce projet a vite trouvé sa place grâce à ses capacités multi-projets, manquant au vénérable Trac.

Le torchon a brûlé entre JP Lang et les développeurs de la communauté : « intégration sporadique des patchs, manque de réactivité » sont les arguments avancés par les fondateurs de ce fork.