Work Session “Bootstrap Scala 2.8″ à Paris

novembre 18th, 2010

nous souhaiterions acceuillir une session ouverte et informelle de 10-12 développeurs,
dans nos locaux à Paris, sur le lancement de projets basés sur Scala 2.8

L’objectif est de réunir débutants, curieux et confirmés,
ceux qui hésitent à se lancer, et ceux qui ont franchis le pas,
favoriser l’entraide et les échanges, pour environ 2h (possibilité de commander des pizzas si cela s’éternise ;)

Il y a une connexion fibre optique et un mirroir Maven local, pour que tout le monde puisse suivre
les tutoriels et installer des paquets rapidement.

Proposition de sujets :
- Migrer depuis Scala 2.7.. quels sont les pièges à éviter ?
- Les subtilités de Scala 2.8. Qui a des problèmes ?
- Qui utilise quoi pour builder ? Maven ? SBT ?
- Gestion des dépendances
- Build hybride Java/Scala ? ça marche ?
- Quel éditeur de code pour Scala 2.8 ? et pour Scala 2.x.x ? ;-)
- Quid de Scala 2.9.x ? Qui s’en sert déjà ? a des remarques ?
- ScalaCL (structures de données pour calcul sur GPU). Comment ça marche ?
- ScalaCL 2.0 (future release avec plugin Maven de compilation.. prometteuse). Comment la builder ?
- Questions diverses et variées..

La session se déroulerait d’ici 1 à 2 semaines (en fonction des disponibilités), le soir dans le 5 ème arrondissement, à l’ISC-PIF (Institut des Systèmes Complexes – Paris Île-de-France).

Il s’agit d’un institut de recherche où travaillent des chercheurs pluri-disciplinaires, et des ingénieurs concernés par les problèmes d’algorithmes et bases de données distribuées, déploiement et administration de ferme de serveurs, text-mining, modélisation de systèmes, simulation, calcul sur GPU, machines virtuelles..

Si cela vous intéresse, merci de me répondre en précisant quels sujets vous intéressent (pour expliquer, ou découvrir)

Nous serions déjà au moins deux utilisateurs de Scala, et deux autres intéressés par le langage !

Programming languages and you

novembre 13th, 2010

(disclaimer: I didn’t wrote here in english for a while.. please report typos to me)

An informal poll on programming languages (answer in comments)

Languages you would like to learn, for power and knowledge:
You have heard about them by internet or your colleagues, some famous projects are using them, but you never had the opportunity to create a complex program with it.

Languages you would like to use:
You played with them a bit, and would really like to code in it at work, or on a larger-scale project, but for the moment you can’t. You are frustrated and want to kill kittens with PHP, in rage.

Primary languages you use for all your work, and are happy with them:
You don’t have major deployment, compilation, documentation issues with these languages. They do the job well, and you know how to use them.

Primary languages you have to use, but don’t like to:
You know these ones.. Your job use them, for historical, or technical reasons, but you believe they’re crappy (or creepy).

Secondary languages you use from time to time:
You know, these languages you may use once in a while: database query languages, config files, text file formats, build scripts, one-liners..

Languages you would use if you had to:
Some languages you know but don’t use actually, because you simply don’t have to. Eg. languages learned at school, in previous jobs.. and that are not suited for your current projects.

Languages you know but will NEVER use again :
yup this is the hater, “I used it enough to know how much sucks” category.

Some languages you are not interested into:
No, you don’t have to list them all. But I believe this is interesting to cite some, since this can give a picture of the “how these language are perceived by others”. By example, I am not interested at all in learning architecture-dependent or old languages

Languages you would recommend to beginners :
“Accessible” languages, in term of installation, learning curve, syntax, features, documentation.. This too can be interesting!

Gephi october update

octobre 6th, 2009

dear readers,

I’m back after a long break, since I finally joined my new job at the ISC-PIF on the TINA project.

I will be able to work on the Gephi opensource project, since our TINA project will use some parts of Gephi for data visualization and graph processing. This is an interesting opportunity to work on open-source software during day-time.

I will first complete my Timeline Module for the next release of Gephi 0.7, which is due to November.

In addition to the timeline, I will begin as soon a possible the work on other enhancements that will be both useful for all gephi users, but also for our specific needs at TINA.

Ideally, I would like to publish beta releases of my modules through online update (the Netbeans platform offer some ways of doing this), since it is crucial to get new features feedbacks from early users and not only developers.

GSoC 2009 at Gephi : Midterm Review

juillet 10th, 2009

Here is my mid-term review of my GSoC participation.

Current state of my work :

1/2 – Frontend : 80%

- The GUI view, model, theme, charting system (bar graph) and user interaction code (mouse moves and clicks) are ready for use. You can download the demonstration video, which use fake data (a table of 80000 random floats) here : timeline (with random data). (high-quality OGV video format can be read by VLC).

- Remaining work : all the “mouse over” layer, like highlight when the mouse is over one of the selection box sides (for better ergonomic), and also information about the data when the mouse is over a segment (see the corresponding value), and finally about the intervals (show begin and end dates). Also, adding the timeline play/stop button.

2/2 – Backend : 40%

- The backend code was started after the frontend, but advance much more quickly, since it doesn’t need the same “fine tuning” on pixel placement, colors and other ergonomical parameters than the user interface. Interfaces (API) are nearly finished, some test implementations too, but it needs some refactoring, and I have to implement the connection with the dynamic graph API (to control the time dimension of graphs inside Gephi), which should be soon released by Mathieu Bastian. Finally, the timeline player also need to be finished.

Commentary

- I followed the guidelines from the project leader (Mathieu Bastian) to split my project in various modules, like the other Gephi modules, while being allowed to freely implement the timeline internals.

- I’m very happy about the current architecture of the timeline. I fixed myself the following rules : use existing datastructures, rendering mecanisms inside Swing because they already implements a lot (eg. double buffering), avoid redundancy, and if possible.. no hacks!

- It is often cumbersome to tweak graphical components like the timeline, because it often works at the pixel level, and they cannot be edited graphically like one could do with Adobe Flash. User interaction code is boring to implement, because one has to add ugly value checking everywhere to prevent the user to crash the timeline by moving, clicking or creating impossible situations (like moving the selection box’s begin marker AFTER the end marker).

- But the current design do all that in an elegant way, I think :)

- The best example : I use standard JPanel, which have the interesting property of being directly used by Matisse, the netbeans gui editor. Thus, i can see my timeline 2D charts being updated in realtime while I resize them inside the editor! no more frustation and wait time (you know, when you build your project and see an ugly error like a JLabel cut in half because you misjudged the position in your algorithm ;) Here an example : http://files.getdropbox.com/u/122451/projects/gephi/screenshots/timeline.matisse.png

- There is some things that cannot be avoided (mostly for the “drawing part”, which need to be fast)

The Gephi community

This is a small but enthusiastic community, and I definitively feel like being part of it (send me a message at my new mail julian.bilcke@gephi.org, if you want ;). I’m happy to see that other students are also producing interesting results on their respective parts.

19th June update – cpan mapping, gephi gsoc

juin 19th, 2009

No I’m not dead, yet.

Here some news about my work in the gephi team:

CPAN-Explorer

- CPAN Explorer is online : http://cpan-explorer.org (see the website for more informations)

- My next blog post will be a tutorial on how publish a map generated from gephi (in SVG file format) to the web, like the ones used on http://cpan-explorer.org

- I’m not satisfied yet with the authors map, and of course the packages map, which is unreadable from the embedded javascript map. I will discuss the reasons and alternatives in my next blog post

Gephi Timeline Component

- I made some GUI mockups (created a Timeline with Gimp, pixel by pixel)that provide some guidance

- I’m just thinking about how to divide the GUI into the corresponding layers and Java components..

- … by looking at other GUI modules in the gephi 0.7 branch

GUI:

  • a menu to select the metric (data used for the chart)
  • An upper viewport containing the timeline overview, with mouse-selectable zone
  • An optional bottom viewport containing a zoom on the selection
  • A button switch for the optional bottom viewport

API:

  • Control over the current position of the timeline : setPositionTo()
  • Control over the player: play(), pause(), setSpeed()

Gephi Summer of Code 2009

mai 15th, 2009

Today I’ll start a new category on my blog, dedicated to my participation to google summer of code.

During this period I will work on the Gephi open-source project (gsoc related page: gephi gsoc 2009)

Timeline 0.6

I worked yesterday on an old prototype code, which was due for Gephi beta 0.6 but could never be finalized, as it was somehow weak and prone to threading errors, and really experimental. There was conflicts between runnables from my code, and runnables from other parts of gephi, since I was new to the project, and didn’t new a lot about how was implemented the other components of Gephi.

I had to came back again on it in order to create a working version for the Gephi demonstration, which will done in a few days at ICWSM 2009 (San Jose, California) by Mathieu Bastian and Sébastien Heymann. I fixed a lot of bugs and removed obsolete code, but I will really have a lot of work for the new timeline engine planned for gephi 0.7.

Timeline 0.7

The new timeline engine, will be a progressive but complete rewrite of this old code base.

There will be change on all the aspects of the engine :

  • low-level datastructure access, will be done in collaboration with Mathieu Bastian
  • event system, will be rewritten to be more coherent with other events inside gephi
  • charting system, will be done using background sampling, to be efficient with large-scale datasets
  • detailed view chart, this sub-component will be added in a late part, as it need some design work (graphics and architecture).
  • image layers, this part will be rewritten and extended, to use a more efficient layer system

Quick Tip: using the best of gz and lzma

mars 27th, 2009

I come back with this small compression tip:

lzma can compress gz archives too, in some cases.

On one of my files (binary dump from one of my applications), I obtain these ratios:

1.9 Gb (raw) -> 2.4 Mb (raw.gz) -> 304 Kb (raw.gz.lzma)

My original file contained a lot of redondant data (basically, a huge matrix), so it was an easy job for gz to compress it to a very small file size (791 x !!), but suprisingly even this “compressed” archive could be compressed a lot more (x 8 !!) by lzma.

Simply awesome, because operating lzma on big Gb files is very slow, so gzip is more suited for these, especially if you call it directly from a program, to read/write a compressed stream.

Just try it yourself, depending on your data, it may worth it!

Rapport de projet ic05 : NetWitch

novembre 9th, 2008

j’ai (enfin) fais la page de mon vieux projet ic05 :
http://uxmal.paradisia.net/netwitch/

il était temps, ça date de printemps 2007 quand même :D

ceci était un communiqué de Julian, adepte du micro blogging ;)
Non, enfait le truc, c’est que maintenant je fais des “pages” wordpress, et ça apparait pas dans les flux RSS.
Donc personne n’en sait jamais rien, snif..

Substance Look & Feel pour Java

mai 3rd, 2008

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

Dépendances logicielles entre packages Perl

avril 27th, 2008

** UPDATE **************************************

screenshots et rapport disponibles ici : http://uxmal.paradisia.net/sigl-cpan/

**************************************************

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) :

Graphe de dépendances

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 ;)

Un autre exemple : Apache Voodoo

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.

Business Loto

février 26th, 2008

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

Grille de Business Loto

pour la forme: et blah blah bla