CPAN Explorer
Posted juin 12th, 2008 by uxmalle proto :
http://91.121.33.16:27000/media/index.html
(ceci était un mini article)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam eu est quis enim commodo aliquet. Vestibulum eleifend venenatis massa. Curabitur rutrum accumsan felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus ut augue eu purus iaculis viverra. Maecenas vehicula dictum diam.
Read More
le proto :
http://91.121.33.16:27000/media/index.html
(ceci était un mini article)
Mon coup de coeur du moment pour faire du java pas moche : Substance
https://substance.dev.java.net/webstart/test.jnlp
joli, n’est-il pas ;)
Y’a même différents thêmes : https://substance.dev.java.net/docs/skins/toneddown.html
Un projet que je suis entrain de faire en ce moment, dans le cadre d’une UV TX à l’UTC.
L’objectif de ce projet est de mettre en place un système de visualisation des dépendances logicielles de CPAN, le dépôt logiciel de la communauté Perl. Il y a environ 53 000 modules répartis dans plus de 14 000 packages, autant dire que niveau dépendances il y a pas mal de choses à voir ;)
Ainsi, ce système permettra tout simplement de voir, pour un module ou un package donné, ses dépendances, c’est à dire les composants égalements issus de CPAN nécessaires à son fonctionnement.
Basiquement, ce genre de graphe ressemblera à ça (ce n’est encore qu’une maquette) :
Il s’agit du graphe des dépendances d’un package pris au hasard sur CPAN, App-Context. Il donne à voir tous les packages nécessaires à son installation automatique. Outre un véritable affichage basé sur des méta-données, qui rendra le graphe réellement utile (voir les résultats des tests officiels etc, un outil d’aide à la décision, en somme), j’ai aussi prévu de montrer le graphe des dépendances “inverses” (je n’ai toujours pas trouvé de nom pour ce concept..), c’est à dire l’arborescence des remontent les packages qui dépendent d’App-Context.
Pour ce package en particulier, il n’y en a peut-être pas beaucoup. Mais le développeur de PathTool, par exemple, aimerait peut-être savoir qui utilise son module, il doit y en avoir un certain nombre ;)
L’objectif est bien évidemment didactique, nottamment l’occasion pour moi d’apprendre le java, un peu de gestion de projet, toute la partie crawl, représentation des données, les algos de parcours de graphes.
En ce qui concerne les outils, la partie visualisation devrait être réalisée au moyen d’un applet java existant, modifié pour l’adapter à mes besoins. Cet applet sera basé sur Géphi, un visualiseur de graphes en Java OpenGL encore en développement.
Voir la vidéo de démo de géphi.
Je n’ai pas pour habitude de faire des articles mono-liens “funs” (non, je suis pas un comique), mais quand même : attention à la noyade par flood de buzzwords !
http://fr.wikipedia.org/wiki/Business_loto
pour la forme: et blah blah bla
Deux trois schémas de business modèles open source. Je les ai nommés en fonction de ce à quoi ils me font penser.
C’est un brouillon donc je le complèterais de temps en temps, c’est avant tout pour me faire un aide mémoire si jamais j’ai à réfléchir à un financement pour un éventuel projet opensource de type “moyen”.
Publier le logiciel avec une licence autorisant l’utilisation dans les logiciels libres, mais pas dans les applications commerciales (ex GPL).
Avantages :
Ligne de conduite :
Exemple : Qt/PyQt, de Trolltech
Mettre en GPL la version N-1 de l’application. On continue de vendre la version N.
Avantages :
Ligne de conduite :
Exemple : Silicon Graphics, avec GL et la version “alter” OpenGL
Mettre dans le domaine publique une version “light” de la version courante. On vend des versions à valeur ajoutée, avec des fonctions adaptées aux entreprises par exemple (possibilité de faire des plugins etc..)
Avantages :
Exemple : Toutes les version “openXXXXX” ou “community” qu’on peut rencontrer : solaris, suse, des éditeurs UML…
Aux modèles précédents peuvent se greffer des services : consulting, formations, version modifiée pour chaque client…Ces services peuvent aussi purement et simplement justifier le tarif d’un “package” applicatif, qui serait alors totalement mis dans le libre, à la version N.
Avantages :
Ligne de conduite : Il faut un bon support technique, doc etc.. toute cette partie doit être irréprochable.
Exemple : nombreux
Application 100% libre. Fonctionne par dons, dans une entité indépendante. Le business se fait par une entreprise de services et/ou consulting et/ou formation à part, et qui utilise l’outil libre avec de la valeur ajoutée.C’est un peu comme la version précédente, sauf que c’est un peu plus “séparé”.
Avantages :
http://kamaelia.sourceforge.net/
très très très similaire au framework réseau que je comptais faire pour mon projet d’interface traktopel… meilleur même. ça ressemble un peu au framework Anet que j’utilise sur mon projet de stage, en perl, pour le coté “parallélisme sans threads ni process” (même si tout comme Anet ça reste possible avec Kamaelia)
Pour le reste c’est vraiment différent, sous Kamaelia il s’agit d’un réseau d’éléments communiquant entre eux : ex linker un bouton d’interface graphique avec un élément qui fait se changer des photos d’un diaporama, linker la sortie de ce “changeur d’image” à une fenêtre, linker un socket d’entrée à un parseur…
http://kamaelia.sourceforge.net/Cookbook/PipelinesAndGraphlines
apparemment on peut tout faire, son, image, vidéo, 3D, réseau.
http://kamaelia.sourceforge.net/Components
impressionnant… ça me laisse encore sans voix ^^
Sinon dans un autre genre il y avait ce projet : http://freevo.sourceforge.net/about/features.php
abouti, une sorte de serveur d’application “pour la maison” : domotique, mp3, films… ce qui est proche de ce que je voulais faire.
Bon, comme j’aime pas faire des trucs qui existent déjà, je pense que je vais devoir trouver une nouvelle super idée géniale pour mon interface “de contrôle” ^^
Hier, en surfant sur le site de l’auteur du moteur à automate cellulaire golly, je suis tombé sur…ceci.
Très surprenant! je pense tout de suite à une question de conversion de base, et effectivement, d’après wikipedia :
IPv4, the most common form of IP address, uses 32-bit values, usually represented in dotted-decimal notation (four numbers, each ranging from 0 to 255, separated by dots, e.g. 147.132.42.18).
Each range from 0 to 255 can be represented by 8 bits, and is therefore called an octet.
J’en déduis donc qu’il est possible de remplacer la valeur n’importe quels des 4 étendues, codées sur 255 bits, par son équivalent octal.
Des codes de conversions sont dispos dans les commentaires de la doc PHPNet.
Il y a aussi un bout d’explication sur la conversion ip decimal <-> octal ici.
On dirait aussi que c’est une astuce très pratique pour stocker une IP en mémoire ou en base de données.
D’après la doc de Mysql :
Là on voit qu’effectivement les points sont optionnels dans certains cas, ça à l’air d’être une bonne piste!
Hélas j’ai rien trouvé de plus, je ne sais toujours pas dans quelles conditions on peut se passer des points… vous savez vous ? :D
Après, on peut s’interroger sur l”utilité de la chose sortie du contexte de la BDD ou de l’obfuscation… vu que ça ne marche qu’avec les clients qui respectent la rfc complète.
(avec Opera par exemple, ça ne marche pas).
à partir de maintenant je vais poster quelques petits bouts de code trucs et astuces utiles ou pas, à venir piocher quand j’en ou vous en aurez besoin, illustres anonymes :)
<code class="prettyprint">
long get_freemem()
{
long m_total, m_free; /* m_total est sympa aussi */
FILE *file = fopen("/proc/meminfo", "r");
fscanf(file,"MemTotal: %lu kB MemFree: %lu kB", &m_total, &m_free); fclose(file);
return m_free*1000;
}
</code>
Par contre c’est la mémoire libre en comptant l’espace occupé par le cache système, donc ça affiche une valeur parfois très petite quand le système tourne depuis longtemps et qu’il n’est pas très utilisé, mais normalement la mémoire occupée par le cache est disponible pour vos programmes sans problèmes (après, est-ce ce que c’est une bonne idée de remplir un max la mémoire.. pas sur ^^)
il faut peut-être alors faire un petit calcul avec MemTotal ou d’autres.. je sais pas, je me sert plus de de cette fonction désolé ;)
Grosse déception, ça fait 4 jours que je bosse à essaye de me servir de Google Calendar pour ordonnancer des lancements de programmes, et là je viens de me rendre qu’il ne gère pas totalement la RFC d’iCal.
Entre autres, on peut pas descendre en dessous de l’échelle des jours, pour des événements “hourly” par exemple… totalement useless pour organiser des lancements d’applis donc
Du coté de yahoo!, c’est guère mieux, la yahoo! calendar API pourtant annonçée se fait toujours attendre…
rah ça fait chier quoi… si quelqu’un connait un calendrier javascript qui génère du iCal, ou un système de cronjob multi-plateformes, je suis preneur :(
Je trouve que le thême bleu par défaut de redmine manque un peu de personnalité, comparé à Trac et son thême sang / crème plutôt classe il faut bien l’avouer !
Voici donc un petit mod CSS pour redmine, qui le colorie en noir :
download : blackmine
à décompresser dans redmine/public/themes.