tag:blogger.com,1999:blog-42535157825780837322009-07-08T10:01:45.460+02:00Bruno VernayBruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.comBlogger41125tag:blogger.com,1999:blog-4253515782578083732.post-39341258829911526162009-07-08T09:51:00.002+02:002009-07-08T10:01:45.470+02:00Cross platform development with Qt and NetbeansTwo very good tools associated to develop <a href="http://www.qtsoftware.com/">cross platform (Linux, Windows, OS X, mobiles ...) applications</a> in this <a href="http://www.netbeans.org/kb/docs/cnd/qt-applications.html">tutorial on Working with Qt Applications</a>:<br /><a href="http://www.netbeans.org/downloads/index.html">NetBeans IDE 6.7</a> seamlessly integrates <a href="http://www.qtsoftware.com/products/developer-tools?currentflipperobject=937ba3e952f85ef68ddbb7cb4b20fc19">Qt Designer</a> for productive C++ development !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-3934125882991152616?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-73684844790181911132009-07-07T21:46:00.005+02:002009-07-07T22:51:22.182+02:00Store Flac, broadcast MP3 : mp3fs and AmpacheLets say that you keep your music with the best quality while still consuming very little disk space : <a href="http://flac.sourceforge.net/">flac (lossless audio compression)</a>.<br />Now that is fine for PC, but most portable players (iPods) doesn't <a href="http://www.flac.org/">support flac</a>, but MP3, MP4 and other .<br />You could duplicate your whole collection in two formats, or transcode as needed, but that would be painful. (Even if some application like <a href="http://amarok.kde.org/">Amarok</a> are able to transcode on the fly the music or podcast transfered on an iPod.)<br />A solution for me is to use <a href="http://mp3fs.sourceforge.net/">mp3fs</a>. <a href="http://mp3fs.sourceforge.net/">Mp3fs</a> takes a directory full of flac and present it as another directory full of ... MP3 ! That is very useful for FTP, NFS or Samba shares.<br />So your Flac music can now be copied on your ipods easily. <br /><br />One caveat: unless you have a powerful PC, don't expect to listen directly the mp3: the transcoding take some time. It is fine to copy, but not to stream !<br /><br />Lastly, I didn't find package for <a href="http://www.kubuntu.org/">Kubuntu</a> nor Fedora. You just have to compile, which is very simple. The only problem being to get the libraries !<br />There are some hints for <a href="http://www.kubuntu.org/">Kubuntu</a>. But for Fedora, the library's names are not exactly the same. After a little "yum search ...", I installed: libid3tag-devel, lame-devel, flac-devel, fuse-devel, libogg-devel.<br /><br />But still, I don't see the point of having different packages, as if Linux needed to be fragmented !<br /><br /><a href="http://ampache.org/">Ampache</a> is another project that can provide transcoding over the web and essentially much more, but see for yourself.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-7368484479018191113?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-13198760948529530802009-06-12T13:13:00.002+02:002009-06-12T14:26:24.216+02:00Programmers: Before you turn 40, get a plan BNice post : <a href="http://improvingsoftware.com/2009/05/19/programmers-before-you-turn-40-get-a-plan-b/">Programmers: Before you turn 40, get a plan B</a> Posted on May 19, 2009 by <a href="http://improvingsoftware.com/about-john-fuex/">John Fuex (johnfx)</a>.<br />I started this questioning about a year ago, but I still see no clear path to escape programming.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-1319876094852953080?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-17901823025124942072009-05-09T21:40:00.006+02:002009-05-09T22:02:03.183+02:00Sun's JVM has an HTTP server embedded: com.sun.net.httpserverVery useful ! Sun's Java Standard Edition has a <a href="http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/index.html">simple HTTP Server: com.sun.net.httpserver</a>. <br /><br />It simplifies dependencies since you don't have to add a new library. It is straightforward to use it with <a href="https://jersey.dev.java.net/">Jersey</a> to <a href="https://jsr311.dev.java.net/nonav/releases/1.1/index.html">publish Restful Services</a>. But it isn't a standard feature !<br /><br />Eclipse users might see compile errors saying Access restriction: <span style="font-style:italic;">The type ... is not accessible due to restriction on required library ... </span><br />The problem is that the HTTP server is part of the Sun JRE6 but not part of standardized Java. <br />Eclipse therefore blocks access to it. <br />This can be fixed by going to the <span style="font-style:italic;">Window->Preferences</span> window, selecting <span style="font-style:italic;">Java->Compiler->Errors/Warnings</span>, selecting <span style="font-style:italic;">Deprecated and Restricted API </span>and then changing the setting for <span style="font-style:italic;">Forbidden Reference and Discouraged Reference</span> to <span style="font-style:italic;">Warning</span> instead of <span style="font-style:italic;">Error</span>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-1790182302512494207?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-31586583582130985782009-05-09T18:52:00.004+02:002009-05-09T21:40:05.191+02:00Jersey client, Jax-rs, Jaxb, RESTFUL client in JavaRESTFUL web-services, in Java, concern mostly server side developments. The client is generally the browser.<br />Now I am in the process of developing a <a href="http://blogs.sun.com/enterprisetechtips/entry/consuming_restful_web_services_with">Java client for web-service</a>. I searched Java solutions in this space and found that Jersey was also a good client. I already known <a href="https://jersey.dev.java.net/">Jersey</a>, for being the reference implementation for Jax-rs (Restful Services ?) and even saw Paul Sandoz himself in Grenoble. But I never imagined that there could be another consumer than the browser.<br />Well obviously, they needed to test Jersey, hence <a href="http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html">ad-hoc code</a>, then a framework and a finally a jersey-client for everyone's pleasure.<br />The funny parts is that I am using jersey-server to test jersey-client: the other way around ... That is not pure Unit Test, in the sense that I prefer functional or integration test than testing every tiny development chunk and mocking everything around.<br />Point is that implementing Restful Services in java with <a href="https://jersey.dev.java.net/">Jersey</a> and Jasxb is really easy. overall, I stumbled on a problem with Jaxb and the way it doesn't handle immutable objects, but I will make another post about this.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-3158658358213098578?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-85643818897951120912009-04-22T15:37:00.003+02:002009-04-22T15:54:02.481+02:00Hadopi, Création et Internet.Encore une série d'article sur Hadopi.<br />Franchement on aurait mieux à faire, surtout en temps de crise ! Il existe des problèmes plus important, non ? Comme par exemple le retard de la France pour ce qui concerne Internet, les Spam, la vente liée ...<br /><br />Bref, en vrac : <a href="http://www.laquadrature.net/fr/victoire-pour-les-citoyens-europeens-lamendement-138-de-nouveau-vote">Victoire pour les citoyens européens ! L'amendement 138 de nouveau voté </a> <blockquote>L'amendement 138/46-135 dispose que l'on ne peut restreindre les droits et libertés fondamentaux des utilisateurs qu'après une décision de l'autorité judiciaire (exception faite des menaces à la sécurité publique, auquel cas la décision peut être postérieure). Cet amendement avait été adopté en septembre dernier par une majorité écrasante au Parlement européen et ensuite approuvé par la Commission européenne malgré les demandes répétées de la part de la Présidence française de le rejeter. Le Conseil de l'Union européenne l'avait finalement rejeté sous la pression du gouvernement français et à la suite de la désinformation de juristes employés par le Conseil sur une prétendue contradiction avec les lois nationales existantes.<br /><br />Malgré une forte pression pour obtenir un compromis sur la directive cadre du Paquet Télécom la commission ITRE du Parlement européen a de nouveau adopté l'amendement 138/46 par une forte majorité de 40 contre 4. Il faudra s'assurer dans la suite des débats que ce vote sera confirmé en session plénière, mais il s'agit d'un signal fort et évident.</blockquote><br /><br /><a href="http://www.hadopize.com/hadopi.html"><br />Hadopi pour les nuls</a> : un bon résumé.<br /><br /><br /><a href="http://www.ecrans.fr/Adresse-IP-la-demonstration-de-l,6599.html">Adresse IP : la démonstration de l’UFC-Que Choisir</a> L'association de consommateur (<a href="http://www.quechoisir.org/recherche.htm?catgen=RESULTATSRECHERCHE&f=_vide&requete=hadopi&valid_searcharchive.x=0&valid_searcharchive.y=0">UFC-Que choisir, dont le but est de défendre les consommateurs</a>) a démontré avec le professionnalisme juridique requis huissier, tribunal ... que l'IP n'était pas une preuve suffisante pour identifier un coupable.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-8564381889795112091?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-6362892105558818262009-04-20T22:04:00.003+02:002009-04-20T22:15:23.864+02:00Manifestation-contre-hadopi.comPour ceux qui ont le temps : <a href="http://www.manifestation-contre-hadopi.com/">des manif partout contre la loi HADOPI</a>.<br /><br />Voir aussi l'article de la <a href="http://www.laquadrature.net/en/urgent-deux-jours-pour-aider-catherine-trautmann-a-proteger-les-citoyens-europeens">Quadrature du NET</a> : <br />"Un amendement crucial2 visant à protéger les citoyens de l'Union européenne contre la police privée et la justice parallèle des industries du divertissement (« riposte graduée » instaurée par la loi HADOPI) a été adopté par 88% des eurodéputés lors de la première lecture du paquet télécom, le 24 septembre 2008.<br /><br />Sous la forte pression de Nicolas Sarkozy dans le cadre de la présidence française de l'UE, le Conseil de l'UE a supprimé cet amendement 138 sans aucune justification"<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-636289210555881826?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com1tag:blogger.com,1999:blog-4253515782578083732.post-36444948245386016012009-03-11T21:51:00.004+01:002009-03-11T22:06:27.038+01:00How to compare a Java Web FrameworkFar from being achieved, but at least a major update of <a href="http://docs.google.com/View?docID=ajgdx7ccvkxg_50ccp25f">How To compare Java Web Framework</a> and the <a href="http://spreadsheets.google.com/ccc?key=ptegBq7av8UvWTZki5p4XVg&hl=en">Java Web Framework matrix</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-3644494824538601601?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-20977144698407995072009-02-27T22:40:00.002+01:002009-02-27T22:47:44.897+01:00My first JavaFX tutorial completed under LinuxI was eager to start using JavaFX, because Linux isn't yet fully supported as a development platform. So I used <a href="http://java.dzone.com/tips/javafx-11-linux-netbeans">this tips on how to install Netbeans with JavaFX on Linux</a>. And I have been able to follow <a href="http://javafx.com/docs/gettingstarted/javafx/create-first-javafx-app.jsp">this tutorial</a>.<br />Nothing fancy, but I have a good feeling about JavaFX : the code is clean, powerful and very readable. Not cluttered with legacy stuff.<br />I hope I will be able to do more with it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-2097714469840799507?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-64435253119110645762009-01-22T13:22:00.002+01:002009-01-22T13:26:40.040+01:00Java on Linux, So Many Free ChoicesOr should we say too many choices ?<br />This post is essentially to cleanup some bookmarks I tagged "To Read".<br />There is an article in <a href="http://fedoraproject.org/wiki/FWN/Issue133#Java.2C_So_Many_Free_Choices">Fedora Weekly Issue 133 about Java</a>.<br />I like to have a clean Linux install and having Sun's Java, GCJ, IcedTea and others gives me a bad feeling. <br />Hopefully the road map toward OpenJDK is clear.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-6443525311911064576?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com1tag:blogger.com,1999:blog-4253515782578083732.post-35440845081123431472009-01-19T22:41:00.002+01:002009-01-19T22:53:30.869+01:00The trouble with triggersIt is nice when I get a confirmation for a feeling I had for a long time.<br />Triggers should be use with extreme care. It is a bit like AOP, very powerful but you don't let anyone play with a chainsaw.<br />So it is worth reading an article <a href="http://www.oracle.com/technology/oramag/oracle/08-sep/o58asktom.html">The Trouble with Triggers</a> By Tom Kyte in Oracle magazine.<br />Note that there is a free paper version if you don't have a netbook for the toilets.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-3544084508112343147?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-295752457290951102008-11-27T20:49:00.006+01:002008-11-27T23:22:23.098+01:00Installing KUbuntu alongside FedoraWhat decided me to try Kubuntu is the updated <a href="http://www.getmiro.com/">Miro</a> version, the one that allow to download Youtube chanels. Ubuntu has it, but <a href="https://admin.fedoraproject.org/pkgdb/packages/name/Miro">Fedora</a> is lagging a bit behind. (Notice that <a href="http://rpm.pbone.net/index.php3?stat=3&limit=1&srodzaj=3&dl=40&search=Miro">Mandriva and Suse</a> had it too).<br />Besides, the <a href="http://fedoraproject.org/wiki/Releases/10/FeatureList">Fedora 10 Feature list</a> didn't excite me. <br /><br />In order to install Kubuntu alongside Fedora on a free LVM volume, I decided to use <a href="http://unetbootin.sourceforge.net/">UNetBootIn</a>. There are no RPM, you have to download it from sourceforge. Since it is only one single exec, there are no problems.<br /><br />So, you just launch unetbootin, choose which distribution to install, I choosed Ubuntu 8.10 Net install. It download a little file and ask for reboot.<br /><br />I rebooted and choose "Unetbootin" in the Grub menu. It launches Ubuntu's install.<br />Partitionning is the scary part: Ubuntu doesn't help you much to choose the right LVM volume ! Basically, don't use your existing /boot, choose to config LVM and only mount the LVM volume that will contain Ubuntu. It still says that it will change the partition table, but luckily, it didn't break too much things.<br />I did a bare lightweight install (no X server). <br /><br />Ubuntu's install changed the partition's <a href="http://liquidat.wordpress.com/2007/10/15/short-tip-get-uuid-of-hard-disks/">UUID</a>. Normally, it wouldn't have been a concern. But I used to configure Fedora's fstab to mount it under /mnt/ubuntu. So when I booted back to Fedora it falls short on a "Repair System" shell. Just because it couldn't find the UUID anymore !! Anyway after some Googling, I remounted the filesystem in read/write mode : "mount -w -o remount /" as seen in <a href="http://www.linuxforums.org/forum/redhat-fedora-linux-help/37328-how-do-i-edit-fstab-when-fedora-repair-filesystem-prompt-2.html">Linux Forum</a> and just commented the bad line.<br /><br />After rebooting, I used system-config-lvm (don't know why it doesn't appear in the menu) to mount the kubuntu partition back on /mnt/ubuntu. Then I wanted to copy the /mnt/ubuntu/boot/ to /boot/ and add Ubuntu to the Grub menu. But I only had to updated Grub to add the Ubuntu menu. The file were already in /boot/ : I wonder if <a href="http://unetbootin.sourceforge.net/">UNetbootin</a> copied them there in order to boot the install ?<br /><br />Anyway, I just rebooted and choose "Ubuntu" in the Grub menu. It reached quickly a standard shell where I did a sudo apt-get kubuntu-desktop, triggering the download of not less than 1,5Go of deb files. But I know that I can switch from one to the other systems.<br /><br />After rebooting, I still have to configure the NVIDIA drivers, since it gives me a blank screen yet ...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-29575245729095110?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-62526949311574151272008-10-15T14:55:00.003+02:002008-10-15T15:07:52.376+02:00Xebia Web Framework Contest (French)<a href="http://www.xebia.com/">Xebia</a> is a well known company with a strong focus on Java and Agile.<br />I already heard of them through <a href="http://vermaas.net/blog/gero/">Gero Vermaas's blog</a>.<br />I saw this context in a post from <a href="http://raibledesigns.com/rd/">Matt Raible</a>.<br />See: <a href="http://blog.xebia.fr/2008/10/03/ria-contest-flex-silverlight-gwt-echo3-javafx/">RIA Contest : Flex / Silverlight / GWT / Echo3 / JavaFX</a>.<br /><br />The comment are worth reading too : it shows that it is an interesting experiment, but very limited in time and focus. So it won't be true in 3 month or on another kind of project.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-6252694931157415127?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-50981899746511850912008-10-03T01:18:00.002+02:002008-10-03T01:43:56.916+02:00Java browser plugin on 64 bit Fedora and moreIt's been a long time. So just to say that : <br />- Fedora 10 should be there soon<br /><br />- There is some hope for a good java plugin on 64-bits browsers. For now just install java-1.6.0-openjdk-plugin. Or better, just yum install java-1.6.0-openjdk-* <br /><br /> - being on a project with a lot of JMS, Tibco RendezVous, Complex Event Processing, Event Driven Architecture and the likes, It is the kind of paradigm change that bring some fun to the job ! So no more HTTP request nor function calls : just send events and hopefully someone else will write the code to react to them. We are so used to HTTP and the firewall censorship that we don't even consider JMS ! But there are plenty of cases where it makes perfect sense to use events and messages : a lot of them !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-5098189974651185091?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-90565511858078898842008-07-22T10:56:00.004+02:002008-07-24T16:41:17.357+02:00Web Development as Tag SoupA post <a href="http://www.codinghorror.com/blog/archives/001155.html">Web Development as Tag Soup</a> by Jeff Atwood in <a href="http://www.codinghorror.com/">Coding Horror</a>. Very good blog indeed.<br />There are so many things to say about this problem. Maybe because it touches the Sacred Graal : separation of concern : Presentation and Business Logic.<br /><br />Overall, there is no silver bullet, but people tends to forget that a Web Application, Web site or intranet can be very different projects and they compare Oranges to Apples. The client and development team changes everything.<br /><br />Obviously, there are tons of comments, I will try to extract some :<br /><br /> - Mixing HTML / Javascript / server code : is it that bad ? Can there be a "good tag soup" ? "You recently championed <a href="http://www.codinghorror.com/blog/archives/000989.html">Embracing Languages Inside Languages</a>."<br /><br /> - Everyone is promoting his solution : generally a templating engine, but with some discipline to reduce the amount of code in the soup.<br /><br /> - A part of the problem is readability : &lt;a href="&lt;%=foo%&gt;"&gt;&lt;%=bar%&gt;&lt;/a&gt;. Some suggest that "attribut soup" might be more readable. At least it is well formed XHTML : &lt;p tal:content="string:foo"/&gt;. Others consider that it is still a kind of Soup.<br /><br /> - "MVC tends to lead to file proliferation. It takes at least 5 files to create a single page: 3 JSP (using Tiles), 1 servlet, and 1 bean. I have to open 5 files to change a page."<br /><br /><br /><span style="font-weight:bold;">Aims </span>: <br /><br /> - Testability : code in the controller is easier to test than code in the HTML page.<br /><br /> - Wysiwyg : If the HTML is in the server code : only server-side developer can touch it. Designer won't be able to change and refine it. It is best to have well formed HTML templates to work with.<br /><br /> - i18n : what if the text is in the server-side code and in the HTML !<br /><br /> - Same kind of problems with escaping strings and unicode : Javascript, HTML, forms ... all different ways for your text from the Database to your front end !<br /><br /> - Readability, maintenance<br /><br /> - reuse, component<br /><br /><br /><span style="font-weight:bold;">Solution proposed</span> : <br /><br /> - <a href="http://en.wikipedia.org/wiki/Template_Attribute_Language">Template Attribute Language</a> : <a href="http://www.zope.org/Documentation/Articles/ZPT1">TAL</a> (Python, PHP, Java ...) or <a href="http://www.enhydra.org/tech/xmlc/index.html">XMLC</a> (Java). A bit like the <a href="http://wicket.apache.org/">Wicket</a> templates.<br /><br /> - <a href="http://code.google.com/p/gxp/">Google XML Pages (GXP)</a> Not very impressive yet. Wuld have to be coupled with some tools or IDE to be compeling.<br /><br /> - Get rid of HTML : GWT (almost), JavaFX, Flex, Curl ...<br /><br /> - Get rid of old paradigm : from Server-side generated HTML switch to SOFEA, <a href="http://sites.google.com/a/thinserverarchitecture.com/home/Home">Thin Server Architecture</a>.<br /><br /> - more declarative language : XForms ...<br /><br /> - Use an all in one IDE + framework (JSF, JSTL ...) : <a href="http://www.eclipse.org/rap/">Eclipse RAP</a>, <a href="http://www.netbeans.org/">Netbeans</a>, ...<br /><br /><br /><span style="font-weight:bold;">Argument in favor of Tag Soup</span> :<br />I quote : <blockquote>Using more abstraction is just plain wrong, because:<br />1) you want to control what the output HTML will look like, so forget about a 'builder' tool, like a series of doc.addTag("P",content,attributes) ... it's Ok for passing data through some XML markup, but HTML documents are to complex to keep a clear idea of what the output will be this way. Customizing the layout is going to be a mess.<br />2) You want to use a 'template' library to avoid using too much logic inside your markup. This ends up being a joke, because you still want some logic, and you end up re-inventing a worse language that has to do loops, conditionnals, formatting, while your base language has certainly a better, more elegant syntax.<br />3) "simpler" intermediary language, like some XML markup then transformed to HTML through XLST leads you to the same pitfalls. You think you can avoid having logic in your markup, you end up reinventing another language, having to learn that language, to find out you get even more complexity.<br /><br />The problem with tag soup is just the same of any language in any situation when you lazily prefer writing spaghetti code than creating meaningful functions, explicit variable names, clear indentation, well divided problem solving. Any programming language embedded in HTML is OK, anything else is a waste of time. What you need is to do all the complex stuff outside that embedded HTML file : do the business stuff and read all the records in the controller, and when you need complex formatting or logic rules, do it in helper functions that you'll define in a library accessible from your embedded html. In that embedded HTML, use your primary language, except everything must be very concise and trivial. Anything non-trivial as to be in outside helper functions with meaningful names. How do we program in general ? When we write a method we make sure all the code is about the microproblem you're trying to solve through that method, and anything too complex has to be in other methods, right ? That's just the exact same thing happening here. Being in the middle of HTML markup doesn't mean you can forget those programming rules. It's lame to blame your programming language when you put yourself in a mess, and that applies here too.</blockquote><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-9056551185807889884?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-33905022798689563402008-07-08T15:51:00.004+02:002008-07-08T16:16:14.143+02:00UML is going down ? or is it the whole programming thing ?At first I was looking at UML because I like it and would like to see more MDA and MDSD done. But I read <a href="http://littletutorials.com/2008/05/15/13-reasons-for-umls-descent-into-darkness/">13 reasons for UML’s descent into darkness</a> and the future doesn't seem to shine :<br /><a href="http://www.google.com/trends?q=andromda%2C++UML+diagram%2C+Rational+rose%2C+eclipse+uml&ctab=0&geo=US&geor=all&date=all&sort=2"><img src="http://www.google.com/trends/viz?q=andromda,++UML+diagram,+Rational+rose,+eclipse+uml&date=all&geo=US&graph=weekly_img&sort=2&sa=N" border="0" alt="" /></a><br /><br />But since I am very skeptical about the conclusion that are generally drown from Google Trends, I searched a little more and it seems that whatever the subject "Java, SQL, HTML ..." the trends goes down more or less : <a href="http://www.google.com/trends?q=UML+tutorial%2C+sql+tutorial+%2Ceclipse+java%2Cajax+tutorial&ctab=0&geo=all&geor=all&date=all&sort=2"><img src="http://www.google.com/trends/viz?q=UML+tutorial,+sql+tutorial+,eclipse+java,ajax+tutorial&date=all&geo=all&graph=weekly_img&sort=2&sa=N" border="0" alt="" /></a><br /><br />So, I still hope to see something good out of <a href="http://www.andromda.org/">AndroMDA</a> or <a href="http://taylor.sourceforge.net/">Taylor</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-3390502279868956340?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-18609743089518187482008-07-01T11:49:00.002+02:002008-07-01T12:50:22.284+02:00Linux Podcast<a href="http://crunchbang.org/">#! CrunchBang</a> has a nice <a href="http://crunchbang.org/archives/2008/06/03/linux-podcasts-roundup/">Linux Podcasts Roundup</a><br />And there is a long uncommented list in <a href="http://monsterb.org/podcasting.html">Monterb.org</a> !<br />Another commented list in <a href="http://linux.learnhub.com/lesson/page/2208-linux-podcasts">Tux University</a>. (By the way, <a href="http://linux.learnhub.com/">LearnHub</a> seems to be a nice place !)<br />Another one from <a href="http://www.thelinuxlink.net/">LinuxLink with little comment and logos</a> . Go to Google for the others.<br /><br />But it will be hard to replace <a href="http://www.lugradio.org/">Lug Radio</a> !!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-1860974308951818748?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-14062246461325605972008-06-25T22:52:00.003+02:002008-06-25T23:12:38.038+02:00Storage : S3 vs. Hard DriveI looked at Amazon S3 service, but it is still expensive, especially if you plan to just "store" files and not often touch them. For example keeping 500GB would cost $90 per month. Compare to a 500GB Hard Drive that cost less than 60€ ! You may count about $10 per month for electric power, depending on your region.<br /><br />So I planned to use the Open Source Java client : <a href="http://jets3t.s3.amazonaws.com/index.html">JetS3t</a>, but abandoned it altogether.<br /><br />Then I have to check for solutions to replicate the files to friends machines. It wouldn't make sense to me to use RAID mirror. Mirror won't protect against thieves or fire !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-1406224646132560597?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-26073716979121074972008-06-25T15:23:00.002+02:002008-06-25T15:32:10.290+02:00Good Grasp on what Appcelerator isJust read the 5 short chapters about <a href="http://doc.appcelerator.org/overview/what_is_appcelerator/index.html">what Appcelerator is</a><br />It will take 5 minutes and it explain it all.<br /><br />(I already looked at their site, but didn't find clear explanation, beyond "... everything you need to build RIAs and SOA-based services the way you want — while being flexible bla bla bla ..."<br /><br />Note also that they added <a href="http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html">support for Google AppEngine</a> : so you can easily deploy your backend on Google services.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-2607371697912107497?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com1tag:blogger.com,1999:blog-4253515782578083732.post-40238470253194211072008-06-25T14:49:00.003+02:002008-06-25T15:21:36.919+02:00Johanna Rothman about project managementGood article, nice schema about differences between serial, iterative, incremental and agile.<br /><a href="http://www.jrothman.com/Papers/Cutter/whatlifecycle.html">What Lifecycle? Selecting the Right Model for Your Project</a> by <a href="http://www.jrothman.com/rcg.html">Johanna Rothman</a>.<br />Johanna is doing what I would like, with a more technical point of view still.<br />Look at her site : really good stuff about project management.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-4023847025319421107?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-8587813181041055732008-06-16T10:33:00.000+02:002008-06-16T22:15:32.029+02:00Fedora 9 and Java OpenJDKI upgraded to Fedora 9 some days ago, it went very well. I used the <a href="http://fedoraproject.org/wiki/Features/PreUpgrade">preupgrade</a> GUI tool.<br />I just have a little mess in the menu, but easily cleaned up.<br /><br />I am a bit disappointed by OpenJDK Firefox plugin. Basically, <a href="http://docs.fedoraproject.org/release-notes/f9/en_US/sn-Java.html">it doesn't work</a>, nor WebStart.<br />So I will switch to the <a href="http://java.sun.com/javase/downloads/index.jsp">Standard SUN Java</a> back again. Especially as they fixed and enhanced the applets with <a href="http://java.sun.com/javase/downloads/ea/6u10/6u10beta.jsp">Java SE 6 Update 10 b25</a> !<br /><br />Resources : <br /><ul><li> <a href="http://fedoraproject.org/wiki/JavaFAQ">JavaFAQ</a> is a bit outdated (still cover a large part of FC6 !? )</li><br /><li>I will have to check this : http://fedorasolved.org/browser-solutions/sun-jdk</li><br /><li><a href="http://www.mjmwired.net/resources/mjm-fedora-f9.html#java">Mauriat Miranda guides</a></li><br /><li>http://dnmouse.webs.com/index.html Quick guides (feature autonine : a GUI that install non-free apps)</li><br /><li>http://easylife.dulinux.com/ just another GUI that install non-free apps.</li><br /><li>People hang out on #fedora-java on freenode. There are also people on #classpath</li><br /><li><a href="http://www.redhat.com/mailman/listinfo/fedora-devel-java-list/">Fedora Java Mailing list</a> </li><br /><br /></ul><br />I would really like some kind of group about "Java on Fedora", like the <a href="http://wiki.debian.org/Java">Java topic on Debian Wiki</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-858781318104105573?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-63057355340216526322008-06-12T20:25:00.005+02:002008-07-04T12:48:29.291+02:00New Firefox 3 ExtensionsSo extensions are add-ons, but different from plugins like Java or Quick-Time or themes.<br /><br />Since I switched to Firefox 3, I had to change some extensions :<br /><a href="http://groups.google.com/group/Google-Firefox-Extensions">Google Browser Sync</a> isn't available anymore, so I switched to <a href="http://labs.mozilla.com/featured-projects/#weave">Weave</a>. It is still under heavy development, as of 0.2 no Mac and no 64bit which are my 2 machines ...<br />I use <a href="http://interclue.com/">InterClue</a> (link preview), but I am not sure if I will keep it, or maybe just only enable it when needed.<br /><a href="https://addons.mozilla.org/en-US/firefox/addon/2888">Gmarks</a> obviously for Google bookmarks.<br /><a href="http://gears.google.com/">Google Gears</a>.<br />Google Web Comment isn't available anymore. Anyway, I wasn't really using it.<br /><a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a> verion 1.2 works with Firefox 3 !<br /><br /><a href="https://addons.mozilla.org/en-US/firefox">Firefox Add-ons</a> doesn't allow to filter the Firefox 3 compatibles, which is a bit annoying.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-6305735534021652632?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-8771163966918887652008-06-10T18:27:00.002+02:002008-06-14T22:22:44.575+02:00I tried KDE 4 and I like itFedora 9 comes with KDE 4 and it is really great !<br />Still some details to be fixed but overall I like it much more than Gnome !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-877116396691888765?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-25093666202346948322008-06-10T17:57:00.002+02:002008-06-10T18:08:25.310+02:00About this blogLooks like this blog is becoming some kind of personal rant. <br />There are more political, controversial posts and less technical ones.<br /><br />There two reason for this : <br />- creating links on subjects that matters to me is a way to vote for them on the Internet.<br />- I use Shared Items on Google Reader to mark and comment news. It is much quicker than posting on this blog ! <a href="http://www.google.com/reader/shared/13812664590865112349">My Shared Items</a>. <br /><br />But I would like to keep this blog focused on technical articles. Maybe I will split it and create a dedicated blog for the "voting" stuff ?<br />Will see on next post.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-2509366620234694832?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0tag:blogger.com,1999:blog-4253515782578083732.post-15175513034767332982008-06-02T11:04:00.003+02:002008-06-02T11:11:25.189+02:00French jobs and salary : articles and web sites.Well a few links about Jobs and Salaries in France : <br /><br /><a href="http://www.lemondeinformatique.fr/dossiers/lire-enquete-salaires-2008-les-specialites-qui-rapportent-le-plus-63.html">Enquête salaires 2008 : les spécialités qui rapportent le plus (LMI 02/05/2008)</a> <br /><br /><a href="http://www.juritravail.com/">Juri Travail</a> : des conseils et des données sans trop de pubs.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4253515782578083732-1517551303476733298?l=brunovernay.blogspot.com'/></div>Bruno Vernayhttp://www.blogger.com/profile/14452464782395869356noreply@blogger.com0