Install Java applications on Samsung SGH D840

December 13th, 2007 Régis Posted in Informatique, Programmation 1 Comment »

It can be fun to programm JavaME applications, but very expensive to do if you need to use wap every time to download your jar+jad files on your phone.

If you don’t use wap, and send the jar+jad files with bluetooth, the flies appear in the “Other files” folder and there is nothing you can do with them (except deleting them :-( )

Well, that’s before you unlock the java installation. Here is how to do it: On the phone homepage, type in the code *#9998*52824678255# (which reads *#9998*JAVAINSTALL# ). Your phone should display ‘Activated’.

Now, to install a new Java application:

  1. Transfer the jar and the jad on the phone (with bluetooth or usb cable)
  2. The two files appear in Files>Other files
  3. Double-click with the OK button on the jad

Cool, eh? :-)


m2settings 0.7 released

July 8th, 2007 Régis Posted in Programmation No Comments »

J’ai touché quelques petits trucs dans m2settings, et j’en profite pour publier une nouvelle version (télécharger). Celle-ci génère un settings.xml bien plus lisible.

Voici par exemple ce que l’on peut obtenir en quelques clic:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/POM/4.0.0">
    <interactiveMode>true</interactiveMode>
    <offline>false</offline>
    <proxies/>
    <servers/>
    <mirrors>
        <mirror>
            <mirrorOf>central</mirrorOf>
            <name>Sateh</name>
            <url>http://maven.sateh.com/repository</url>
            <id>sateh.com</id>
        </mirror>
        <mirror>
            <mirrorOf>codehaus</mirrorOf>
            <name>Codehaus MOJO</name>
            <url>http://repository.codehaus.org/</url>
            <id>codehaus-mirror</id>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <activation>
                <activeByDefault>true</activeByDefault>
                <file/>
            </activation>
            <properties>
                <hello>world</hello>
            </properties>
            <repositories>
                <repository>
                    <snapshots>
                        <enabled>true</enabled>
                        <checksumPolicy>warn</checksumPolicy>
                    </snapshots>
                    <id>springframework.org</id>
                    <name>Springframework Maven SNAPSHOT Repository</name>
                    <url>http://static.springframework.org/maven2-snapshots/</url>
                    <layout>default</layout>
                </repository>
            </repositories>
            <pluginRepositories/>
            <id>rds</id>
        </profile>
        <profile>
            <activation>
                <activeByDefault>false</activeByDefault>
                <jdk>sun</jdk>
                <file/>
            </activation>
            <id>sun</id>
        </profile>
    </profiles>
</settings>


Re: Three core pillars

June 17th, 2007 Régis Posted in English, Programmation No Comments »

I do agree with Codice Software/ Software development has three core pillars:

  • issue tracking with is a general term for defect tracking, task management, etc.
  • version control, and in particular source control management
  • test management and automation

Probably, I would also add continuous integration.

Unfortunately there are actually few tools that cover everything.

  • Trac nicely integrates source control with issue management (for free). So does JIRA (at a fair price). Codice Software seems more integrated, à la Microsoft Team Server. I have also seen a very innovating approach: is an issue tracker inside subversion.
  • Bu they don’t manage test plans. Mercury Test Director handles this, and has a (poor) issue tracker, as well. But it is really expensive and has a very poor interface — which makes it very difficult to integrate with another issue tracker or simply with a SCM. Well it is more “user oriented”

Premières impressions sur .net

June 7th, 2007 Régis Posted in Programmation No Comments »

Je suis en train de découvrir le monde .net.

Le langage C#

Mes premières impressions sont assez neutres sur le langage C#. Il n’y a rien de révolutionnaire (par rapport à Java 5 en tout cas).

La notion de delegates est assez sympathique, même si j’ai l’impression que les Design patterns Observer et Strategy permettent de répondre aux mêmes besoins en Java.

La gestion des threads à l’air plus simple en C# également.

C# permet aussi de gérer les pointeurs, comme en C++. Toujours proche du C++, C# permet de surcharger les opérateurs. Cela permet d’écrire des choses comme

Personne.Nom = “Haba”;
Personne.Prenom = “Bart”;

tout en faisant en réalité appel à des méthodes. C’est strictement équivalent en Java à
Personne.setNom("Haba");
Personne.setPrenom(”Bart”);
.
On peut apprécier (le code est écrit de façon plus “élégante”), mais je préfère les conventions de Java qui reflètent mieux ce qui se passent (on ne modifie pas directement l’attribue de classe).

La gestion des bibliothèques a l’air assez bien conçue (mais Microsoft ne pouvait pas vraiment faire pire que l’actuel DLL hell) et le mécanisme de signature a l’air plus homogène que celui des jar. ClickOnce est une copie de JavaWS, mieux intégrée à Windows.

L’IDE Visual Studio 2005

Concernant l’IDE en revanche, je suis assez déçu. Certes l’interface est jolie, mais ce n’est pas pour cela qu’elle est ergonomique.

Et surtout ça ressemble plus à un éditeur de texte qu’à un environnement de développement. Il n’y a pas de détection d’erreur à la volée, la complétion automatique est beaucoup moins puissante que dans Eclipse, sans parler des quickfixes…

Bon, je compléterai sans doute bientôt!


Project hosting

September 9th, 2006 Régis Posted in Informatique, Programmation No Comments »

Il y a un certain nombre de services pour l’hébergement de développements informatiques.

Le plus gros et connu d’entre-eux est Sourceforge qui offre la panoplie complète, de l’hébergement du code (en CVS ou svn), à la documentation, en passant par un gestionnaire de bug ou même un système très performant de distribution de fichiers. Malheureusement, Sourceforge hérite un peu de son passé, l’interface est touffue, la création d’un projet un peu complexe, et il y a eu beaucoup de problèmes de performance ses derniers mois.

Récemment, Google est entré dans la danse avec google code hosting. Interface simpliste: gestionnaire de bugs moyen, pas de gestion de la documentation ou des actualités, hébergement svn uniquement avec une petite interface web. Ca répond à des besoins basiques, mais c’est tout.

En s’hébergeant soi-même, on peut s’orienter vers Trac. Trac d’ailleurs a introduit une idée très intéressante: celle de l’intégration étroite des anomalies/tâches avec les modifications du code source. Lorsque l’on commit son code dans subversion, on peut indiquer un numéro de bug (et le lien qui-va-bien est alors créé dans l’interface de Trac) ou réciproquement on peut indiquer dans un commentaire de bug un changeset. Bref, voilà quelque chose qui ressemble à de la gestion de configuration. Et trac est livré avec un wiki. Seule son interface est un peu décevante. Si on veut dépenser des sous et être en J2EE, il y a JIRA qui fait à peu près la même chose (et ajoute la gestion des workflows entre autres).

Mais sinon, je viens de découvrir unfuddle qui ressemble fortement à Trac (je parierai qu’il est basé sur Trac). Il ne s’agit pas d’un logiciel mais d’un service hébergé. Il y a la formule basique (un développeur) gratuite. Par rapport à Trac, l’interface est très sympa, et l’administration se fait sur le web plutôt qu’en ligne de commande.


L'eclipse est finie

July 13th, 2006 Régis Posted in Programmation No Comments »

Siemens m’a échangé mon écran LCD, j’ai retrouvé un rétro-éclairage normal, et peux de nouveau bloguer un peu.

Et puisque j’étais dans le noir, je rappelle qu’Eclipse 3.2 est sorti. La première chose qui a complété mon installation est Callisto, ce projet qui planifie la diffusion collective de plugins aussi utiles que C/C++ IDE, Web tools platforms, Visual Editor, BIRT, etc. AspectJ a suivi de très peu et je n’ai pas non plus oublié Rails et Vex.


Compte rendu du symposium DNG

October 29th, 2005 Régis Posted in Actualités, Informatique, Programmation No Comments »

J’étais arrivé en avance, je n’ai donc pas manqué le début de la première conférence, malgré les petits problèmes logisitiques (vestiaire débordé et sécurité élevée due à la présence de l’homme le plus riche du monde). Pour commencer, donc, Jean-Louis Bénard (Brainsonic) et Eric Groise (Amazon) ont parlé d’industrialisation logicielle et ont présenté Visual-Studio-Team-quelque-chose comme un superbe outils qui répond à toutes les problématiques du développement logiciel : référentiel commun, respect de la méthode de travail (libre mais qui doit être formalisée), architecture (SOA). Cependant, j’ai des doutes sur quelques points. Par exemple, la notion de référentiel commun (qui n’est pas franchement une nouveauté) apporte-t-elle quelque chose? Certes, le manager peut voir le nombdre de bugs ouverts, mais il ne va sans doute pas s’intéresser à leur détails ; on ne gagne rien par rapport aux réunions d’équipe (à la différence des modules SAP qui s’appellent les uns les autres de façon virale).

Ensuite, Sami Jaber (qui est le fondateur de DotNetGuru) a parlé d’un sujet sur lequel on croyait tout savoir: les architectures n-tiers. Avec les technos d’aujourd’hui, il a montré comment le développeut métier pouvait écrire du “code pur cocaïne”, principalement grâce à l’utilisation d’un framework technique maison. Il a aussi présenté Indigo (version moderne de COM basée sur XML et webservices) et la future version de c#.

Avant la pause déjeuner, un mec de Microsoft a présenté un peu trop longement Windows Vista et sa Windows Presentation Fondation. Pour résumer, l’écriture des GUI sera réduite à l’écriture d’une description XML et ressemblera un peu à ce que propose Gnome depuis des lustres avec glade. Et il faudra une machine affreusement puissante pour faire tourner une interface pleine de gadgets, dont plusieurs “inspirés” de Mac OS X Tiger.

Thomas Gil (qui a quitté Valtech et est maintenant indpendant) a poursuivi avec une présentation de Linq et XLinq, des langages de requêtes intégrés dans le langage de programmation. J’ai été très déçu par cette présentation: j’ai déjà admiré Thomas quand il expliquait des choses complexes de façon limpide, mais sur Linq, je n’ai rien compris… Sébastien Ros a enchaîné avec Dlinq, qui parle de la même chose, mais en faisant un mapping sur une base de données relationnelle (ouf, Oracle n’est pas à jeter).

Très hype, Didier Girard (de Improve, le “Java guy” derrière application-servers.com) et Julien Brunet (Noga) présentaient les clients riches. Avec tous les buzz words du moment (ajax, Client riche, RIA, Eclipse RCP, etc.) ils m’ont très intéressé (étude IHM au boulot oblige). Je retiens leur vision du futur: le “bureau métier”, aujourd’hui sur Eclipse RCP ou CAB et surAvalon WPF à partir de 2007…

La dernière présentation était celle de Jean-Marc Prieur (a href=”http://www.defense.gouv.fr/sites/marine/”>Marine nationale) qui a expliqué comment ils ont dépassé les manques d’UML avec les Domain Specific Languages (DSL). Sa présentation était très vivante et pleine d’humour. J’ai beaucoup aimé.

Last but not least, Bill Gates est passé pour une table ronde d’une heure (le millardaire était de passage à Paris pour l’inauguration d’un labo de recherche commun avec l’INRIA, et pour parler avec Sarkozy de crimanilité sur Internet). Je ne connaissais pas trop le personnage, mais lui ai trouvé plusieurs points communs avec Woody Allen… Cette table ronde a donné lieu a un échange très prpéparé avec l’équipe DotNetGuru. Dommage que ces derniers aient un niveau en anglais aussi faible, on comprenait à peine les questions. Et dommage que la salle n’ait pas pu participer.

Une journée très intéressante, sans doute même trop dense. Et pour ceux qui n’y étaient pas, les photos, les présentations et la vidéo de la table ronde sont sur DotNetGuru.