tag:blogger.com,1999:blog-135782442024-03-13T13:01:28.755+00:00Random thoughts of a Camaelonprogramming stuff, free software and gnustep things.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.comBlogger84125tag:blogger.com,1999:blog-13578244.post-17756316900147722582009-10-19T14:23:00.002+01:002009-10-19T14:55:40.857+01:00Some work on GNUstep theme support...Quentin came to visit london this weekend, and he thus forced^H^H^H^H^H^Hconvainced me to work again on gnustep, on the theming support. GNUstep had the possibility to use themes using my theme bundle, Camaelon. But this had some technical issues (though we do use it in <a href="http://www.etoileos.com">Étoilé</a>), mostly that it's easy for Camaelon to be out of sync with the current GNUstep implementation. Richard Frith-Macdonald has thus started to implement some theme support directly into GNUstep, and even wrote a theming application to help creating themes. But the support is still limited -- you can change images, colors, and the drawing of some widgets but not all.<br /><br />Anyway, what I did this weekend was quite a bit of refactoring in the theming code dealing with pixmaps -- things should be much clearer now. I also added an implementation for <a href="http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch">Nine Patch</a> pixmaps, which basically makes creating custom themes a lot more simple. For example, the following content in a theme's Info-gnustep.plist will be enough -- no need to have multiple files as with Camaelon, no need to measure things...<br /><pre><br />GSThemeTiles = {<br /> NSButton = {<br /> NinePatch = YES;<br /> FileName = NSButton.tiff<br /> };<br />};<br /></pre><br /><br />With a button made in five minutes of Gimp work (as can be seen!):<br /><div align="center"><br /><img src="http://www.roard.com/screenshots/NSButton.png"><br /></div><br /><br />An example of the result:<br /><div align="center"><br /><img src="http://www.roard.com/screenshots/screenshot_theme_nine-patch.png"><br /></div>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-11334496526593874412009-07-06T08:32:00.000+01:002009-07-06T08:32:00.835+01:00New websiteI finally took the time to redo my <a href="http://www.roard.com">website</a> properly :)<br /><br />Obviously, I had to use <a href="http://www.seaside.st">Seaside</a>, and as I did play with <a href="http://www.piercms.com">Pier</a> some time ago, this looked like a good fit.<br /><br />For those who do not know, Seaside is the best web application server I know of -- it really is something when you want to quickly write extremely complex sites or webapps. Pier is a CMS developped on top of Seaside, which provides a wiki system amongst other things.<br /><br />The new theme is also frankly much better than my previous one -- it's actually nearly exactly the same as the default Pier theme, but hey, I really like it, and it _is_ cleaner :)<br /><br />The site also automatically pull the last posts from this blog as well as my last commits and some recent twitter posts, and display all this as the main page.<br /><br />Finally, one thing that wasn't great on the previous site was the pictures section; I resumed some earlier work I did on a Pier component (Pier Gallery) and cleaned it up to get what's shown now... more on that in a next post.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com7tag:blogger.com,1999:blog-13578244.post-75510692608718930192009-06-29T22:07:00.006+01:002009-06-29T23:49:43.904+01:00Automating DxO FilmPack (OSX)<a href="http://www.dxo.com/en/photo/filmpack">DxO FilmPack</a> is an awesome set of filters for your pictures, rendering them using classic films -- not just the colors, but the grain as well. It is available either as a standalone application or as a Photoshop plugin. <br /><br />As an example of what FilmPack can do, here's one picture I took, first the original, then two filtered:<br /><br />Original:<br /><div align="center"><br /><a href="http://www.roard.com/images/pier39.jpg"><br /><img src="http://www.roard.com/images/pier39_small.jpg"><br /></a></div><br /><br />Fuji Superia 200:<br /><div align="center"><br /><a href="http://www.roard.com/images/pier39_fuji.jpg"><br /><img src="http://www.roard.com/images/pier39_fuji_small.jpg"><br /></a></div><br /><br />Ilford Pan F Plus 50:<br /><div align="center"><br /><a href="http://www.roard.com/images/pier39_ilford.jpg"><br /><img src="http://www.roard.com/images/pier39_ilford_small.jpg"><br /></a></div><br /><br />But even though it's really, really cool... it has a rather annoying limitation in its standalone version: you cannot apply a filter to a set of images, you have to apply it image by image. Of course, this might be all you need; but for my part, I would love selecting a type of filter I like and apply it on an entire set of pictures, as if I did shoot them using a film camera.<br /><br /><h2>Hack it</h2><br /><br />Here is how you can do it, using a mixture of bash and AppleScript. Honestly, this is a hack -- it would be great for it to be integrated in FilmPack directly! but in the meantime, this can be useful... <br /><br />As expected, the programmers did not bother to provide a scripting interface, so you seemingly cannot script it (it would have been useful for such a program with potential repetitive action, don't you think?). <br /><br />Or can you ? It turns out that OSX has a rather nifty feature that allow near-global scripting: you can have access to all the GUI objects shown on screen, query their states, etc. It is not active by default -- you need to go (in the System Preferences) to "Universal Access" and click on "Enable access for assistive devices".<br /><br />So, we starts with a bash script (we can call it "convert.sh"):<br /><br /><pre><br />#!/bin/bash<br />for i in `ls *.JPG`;<br /> do /Applications/DxO\ FilmPack\ 2.app/Contents/MacOS/DxO\ FilmPack\ 2 $i & osascript ./filmpack.script; done<br /></pre><br /><br />This will, for each jpeg files in the current directory, open the <b>binary executable</b> of FilmPack and passing it the current jpeg as a parameter ($i). Doing this has for effect to start FilmPack and automatically load the image passed. Finally, as soon as FilmPack is started, we execute the <i>filmpack.script</i>.<br /><br />This <i>filmpack.script</i> is a simple AppleScript:<br /><br /><pre><br />tell application "System Events"<br /> tell process "DxO FilmPack 2"<br /> get enabled of menu item "Save As..." of menu 1 of menu bar item "File" of menu bar 1 <br /> set frontmost to true<br /> click menu item "Save As..." of menu 1 of menu bar item "File" of menu bar 1<br /> click button "Save" of sheet 1 of window "DxO FilmPack 2"<br /> click menu item "Quit DxO FilmPack 2" of menu 1 of menu bar item "DxO FilmPack 2" of menu bar 1<br /> end tell<br />end tell<br /></pre><br /><br />This script asks the FilmPack application to save the current opened image, and to quit the application.<br /><br />The only notable trick here is the "get enabled" line -- by asking AppleScript if the "Save As..." menu item is enabled, AppleScript will actually block until it can read the value, which makes the whole operation as fast as can be (no need for a sleep somewhere to wait until FilmPack is fully loaded and/or has applied the filter to the image).<br /><br /><h2>Use it</h2><br /><br />Now, how to use it? well, let's say you have a directory <b>Pictures</b> containing your pictures. You can copy in that directory both <i>convert.sh</i> and <i>filmpack.script</i> (or alternatively put those files in some default path). Then the last thing you have to do is to "configure" FilmPack once -- it will then remember the settings for the next time it is used. The easiest way to do this is thus to start FilmPack, open one of your picture, choose what kind of filtering you want to do, then <b>save</b> where you want all the pictures to be saved. Then quit FilmPack, and run <i>convert.sh</i>!Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com1tag:blogger.com,1999:blog-13578244.post-43591483834792410352009-02-06T23:16:00.009+00:002009-02-06T23:25:09.982+00:00Interview Étoilé<a href="http://www.linuxmag-france.org/feuille_lpe6/index.html"><img src="http://www.linuxmag-france.org/feuille_lpe6/damag-000024.jpg"></a><br /><br />Me and Quentin were interviewed a few weeks ago by a french linux magazine (<a href="http://www.linuxmag-france.org/">Linux Pratique Essentiel</a>), about <a href="http://www.etoileos.com">Étoilé</a>. The magazine is out this month, and the <a href="http://www.linuxmag-france.org/feuille_lpe6/index.html">magazine preview</a> shows the article, starting page 24 to page 28...<br /><br />(note: the title can be translated as "Étoilé, an innovative desktop environment")Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-69159068482773795812009-02-03T11:31:00.004+00:002009-02-03T11:40:43.820+00:00AtariGreat stories about the creation of the Atari ST: <a href="http://www.dadhacker.com/blog/?p=995">part 1</a> and <a href="http://www.dadhacker.com/blog/?p=1000">part 2</a>. I still remember fondly the ST, TT030 and Falcons... (The TT030 my dad had still works, afaik). I also remember the huge Megafile 30 on top of the MegaST -- an incredible thirty megabytes of disk space ! Why is it that I am now always short on space :)Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-63129923881149817572009-02-01T22:54:00.005+00:002009-02-02T14:19:28.745+00:00...and snow in londonAfter the south of France, it's now London's turn...<br /><br />It apparently did not snow as much in 18 years -- London is very quiet today!<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/london_snow_2009_1.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_1.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_2.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_2.jpg" width="320px"><br /></a><br /></div><br /><br />update:<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/london_snow_2009_3.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_3.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_4.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_4.jpg" width="320px"><br /></a><br /></div><br /><br />update2, going to work:<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/london_snow_2009_5.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_5.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_6.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_6.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_7.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_7.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_8.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_8.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_9.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_9.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_10.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_10.jpg" width="320px"><br /></a><br /><a href="http://www.roard.com/images/london_snow_2009_11.jpg"><br /><img src="http://www.roard.com/images/london_snow_2009_11.jpg" width="320px"><br /></a><br /></div>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-50322789817504301182009-01-07T11:49:00.005+00:002009-01-07T14:19:48.894+00:00Snow in ProvenceA friend just sent me this picture:<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/marseille_neige_2009.jpg"><br /><img src="http://www.roard.com/images/marseille_neige_2009.jpg" width="320"><br /></a><br /></div><br /><br />...taken from her window, near Marseilles, south of France. Impressive isn't it ? highway closed, etc. <br /><br />Usually happens every ten years or so :)<br /><br />edit: another friend took the following pics:<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/marseille_neige_2009_2.jpg"><br /><img src="http://www.roard.com/images/marseille_neige_2009_2.jpg" width="320"><br /></a><br /></div><br /><br /><div align="center"><br /><a href="http://www.roard.com/images/marseille_neige_2009_3.jpg"><br /><img src="http://www.roard.com/images/marseille_neige_2009_3.jpg" width="320"><br /></a><br /></div><br /><br />edit 2: check that video...<br /><br /><div align="center"><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/B1pD3SKv_CM&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/B1pD3SKv_CM&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /></div>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-88668536411808214072009-01-05T11:36:00.003+00:002009-01-05T11:40:47.127+00:00A Modern Objective-C RuntimeDavid just got his paper describing his <a href="http://etoileos.com/news/archive/2007/11/10/2313/">new Objective-C runtime for etoile</a> published in the <a href="http://www.jot.fm/issues/issue_2009_01/article4/">Journal of Object Technology</a>. Congrats :)Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com1tag:blogger.com,1999:blog-13578244.post-23683164029005047482008-12-11T11:52:00.003+00:002008-12-11T12:26:22.234+00:00Mona Lisa videoHere is a small video demonstrating the polygons evolution:<br /><br /><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/eHWZcPLRMjQ&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eHWZcPLRMjQ&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div><br /><br />(better results should be doable with more time and/or more parameters tweakings)<br />For this example, I used 50 polygons of at most 16 points, starting with 10 polygons.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-1675781575955263552008-12-10T23:50:00.003+00:002008-12-11T12:26:53.618+00:00Genetic Algorithms and Mona LisaGenetic Algorithms try to apply evolution mechanisms to find solutions to hard problems (typically, where no "proper" solution is known and where the search area is large).<br /><br /><a href="http://rogeralsing.com/">Roger Alsing</a> posted a couple of days ago an extremely cool <a href="http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/">article</a> showing the convergence of 50 polygons to represent the Mona Lisa, using a random approach.<br /><br />That was too cool to not try to implement it :)<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/mona.png"><br /><img src="http://www.roard.com/images/mona.png" width="320"><br /></a><br /></div><br /><br />The screenshot shows a rendering of the Mona Lisa using 50 polygons (16 points each), after 40818 total iterations, with 4577 elected states; the middle image is the original (i.e. the target) and the right image the difference between the current polygon-based image and the target (i.e. a representation of the fitness function).<br />Underneath was an earlier attempt using ovals instead of polygons.<br /><br />Now, to be more exact, Roger Alsing's algo is more a hill climber algorithm or possibly a <a href="http://en.wikipedia.org/wiki/Simulated_annealing">simulated annealing</a> algorithm than a good example of a genetic algorithm; it should be interesting to actually implement a proper genetic algorithm approach (i.e. a population > 1) and see how the convergence rate compares... combining polygons and ovals might also result into interesting things.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com1tag:blogger.com,1999:blog-13578244.post-17858357617269009002008-11-25T15:04:00.006+00:002008-11-25T15:36:35.213+00:00Gregynog 2008<div align='center'><img src='http://www.swan.ac.uk/compsci/images/gregynog.jpg'></div><br /><br /><a href='http://www.swan.ac.uk/compsci/teaching/gregynog.html'>Gregynog</a> is an annual colloquium organized by Swansea University. I was invited to give a talk yesterday about web, webapps and the evolution of web programming. I uploaded the slides <a href='http://www.roard.com/download/slides-gregynog-2008.pdf'>here</a> (PDF) if you want to have a look.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-51092006503131581532008-11-20T14:48:00.004+00:002008-11-25T15:12:10.482+00:00End of an era...<div align='center'><a href="http://roard.com/images/hardcover-thesis.jpg"><img width='320px' src="http://roard.com/images/hardcover-thesis-small.jpg"></a></div><br /><br />A pdf can be downloaded by clicking on the following image:<br /><br /><div align='center'><a href="http://xdev.org/thesis/phd-thesis-nicolas-roard.pdf"><img width='320px' src='http://xdev.org/thesis/thesis-cover.png'></a></div>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com6tag:blogger.com,1999:blog-13578244.post-24937920232901663792008-10-30T11:43:00.002+00:002008-10-30T11:55:35.998+00:00FactorI just watched this talk:<br /><br /><div id="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/f_0QlhYlS8g&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/f_0QlhYlS8g&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div><br /><br />It's a very nice presentation of the <a href="http://www.factorcode.org/">Factor</a> language, a mix of Forth / Lisp / Smalltalk -- a higher level Forth. Interestingly, they do have Cocoa bindings...Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-57691399632450610692008-08-20T15:11:00.000+01:002008-08-20T15:12:05.333+01:00Done!pending corrections on my thesis, I'm now a Doctor :)Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com4tag:blogger.com,1999:blog-13578244.post-50628447883251422612008-07-19T18:02:00.002+01:002008-07-19T18:17:04.984+01:00CharlieOn savait que Philippe Val etait un <a href="http://www.acrimed.org/article2596.html">con</a> (souvenez-vous de ses diatribes debiles sur l'internet), mais il <a href="http://afp.google.com/article/ALeqM5hFBMrL5ksMY9XW8c31ZlhdhfdC-g">persiste</a> et <a href="http://tempsreel.nouvelobs.com/speciales/medias/medias__pouvoirs/20080718.OBS3420/une_petition_de_soutien_a_sine.html">signe</a>. Minable.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-58304263723613089182008-06-19T23:18:00.004+01:002008-06-20T01:27:44.903+01:00Gears presentation at the Google IO conferenceThe videos from Google IO are <a href="http://sites.google.com/site/io/google-io-sessions">online</a>, so if you wonder what I'm working on at Google, here is a <a href="http://sites.google.com/site/io/google-gears-for-mobile-power-up-your-mobile-web-app">nice presentation of Gears for Mobile</a>, by Charles and Andrei:<br /><br /><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/nEgynWIKzSY"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/nEgynWIKzSY" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object></div><br /><br /><a href="http://sites.google.com/site/io/google-gears-for-mobile-power-up-your-mobile-web-app">Slides are also available</a>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-14290090622348263892008-05-16T18:33:00.003+01:002008-05-24T12:47:15.204+01:00OpenSource Jam & Literate Programming<div align="center"><br /><a href="http://www.roard.com/files/literate-programming.pdf"><br /><img src="http://www.roard.com/files/literate-programming.jpg"></a><br /></div><br /><br />I gave a short talk yesterday about LP at the <a href="http://osjam.appspot.com/">OpenSource Jam</a> (bi-mensual open source meeting, at the Google London Office). So, here is the pdf of the presentation (just click on the above image to get it). People seemed to like the talk, and there was some interesting comments about the lack of good documentation tools (particularly, the need for multi-level documentations), the similarity with DSL, and some in-house LP tools used by some companies.<br /><br /><b>update:</b> A <a href="http://google-opensource.blogspot.com/2008/05/london-open-source-jam-8.html">blog post</a> describing the event and <a href="http://picasaweb.google.com/osjamgroup/LondonOSJam2008May">pictures</a> have been posted by the open source team...<br /><br /><div align="center"><br /><a href="http://picasaweb.google.com/osjamgroup/LondonOSJam2008May/photo#5203225766575255010"><br /><img src="http://lh6.ggpht.com/osjamgroup/SDWSRE7greI/AAAAAAAAAFU/L9IA1lnHFCM/photo%204.jpg?imgmax=400"><br /></a><br /></div>Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com2tag:blogger.com,1999:blog-13578244.post-67974863120361737602008-05-10T23:35:00.004+01:002008-05-11T01:22:23.414+01:00iLiad iRex picturesAs there's some interest in the iliad and other ebook readers, and as a follow-up to my <a href="http://camaelon.blogspot.com/2008/04/iliad-irex-note-taking-and-hand-writing.html">previous post describing my general impressions of the iliad</a>, I thought that posting some pictures would be interesting... Clicking on the images shows the original image size (note that the grain is in fact due to the iso setting rather than the iliad !)<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad1.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad1-small.jpg"><br /></a></div><br /><br />This first picture shows an A4 PDF, not resized, and perfectly readable. As you can see, no problems either with the viewing angle.<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad2.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad2-small.jpg"><br /></a></div><br /><br />The 16 gray levels work well enough for reading some comics :)<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad3.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad3-small.jpg"><br /></a></div><br /><br />Another comic, close up.<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad4.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad4-small.jpg"><br /></a></div><br /><br />One of the great thing with a reasonable resolution and antialiasing: you CAN put A4 scans of partitions, and IT IS readable :) -- here the Turkish March, from a freely available document scanned by the Bibliotheque Nationale de France (thanks!).<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad5.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad5-small.jpg"><br /></a></div><br /><br />As you can see, the poor quality of the pictures (and the not-so-great white balance) are due to the actual lightning conditions :) -- and you can also see how well an e-ink device reacts to a direct spot lamp...<br /><br /><br />Finally, as it's one of the main use of my iliad and one of the main reasons I actually bought one, an A4 research paper:<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad6.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad6-small.jpg"><br /></a></div><br /><br />As you can see, it's readable (albeit a bit small), with the PDF reader I use simply set in fullscreen mode.<br /><br /><div align="center"><br /><a href="http://www.roard.com/images/iliad/iliad7.jpg"><br /><img src="http://www.roard.com/images/iliad/iliad7-small.jpg"><br /></a></div><br /><br />Zooming on the same document with the camera (ie without touching the iliad) -- you can see how such A4 PDF documents are actually readable, without any kind of resizing (apart the fullscreen mode). The PDF reader application can also zoom the document if it's really necessary (using a simple gesture with the stylus), but I rarely use this feature (usually only for some diagrams if they are too small, not for the text itself).Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com3tag:blogger.com,1999:blog-13578244.post-34771499628371050272008-05-06T13:12:00.004+01:002008-05-06T19:27:33.170+01:00Thesis<div align="center"><br /><a href="http://www.roard.com/images/thesis.png"><br /><img src="http://www.roard.com/images/thesis-small.png" width="420" /><br /></a><br /></div><br /><br />Feels good :)Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com2tag:blogger.com,1999:blog-13578244.post-26445774305160288762008-04-11T04:22:00.003+01:002008-04-11T09:58:02.480+01:00Iliad iRex note taking and hand-writing recognitionI recently bought an <a href="http://en.wikipedia.org/wiki/ILiad">Iliad iRex</a>, a pretty awesome eBook reader. Among the cool features, it's running linux, an sdk is available, and it's really easy to hack stuff for it (for instance I wrote a <a href="http://www.mobileread.com/forums/showthread.php?t=22319">simple script for downloading the 24h edition of The Guardian</a>). Also, as shown with the previous link, the community is quite active :)<br /><br />Just a couple of words about the iliad itself... the hardware is pretty awesome, with wifi, ethernet, wacom tablet, usb, mmc card and compactflash, audio jack...<br />the e-ink display is quite amazing too -- 768x1024 makes it precise enough to be able to read A4 PDF without too much problem (a great thing to review lots of research papers, believe me !).<br /><br />The software side on the other hand... is a bit disappointing. Don't get me wrong: it's good enough, and some aspects are pretty cool. But you really unlock the possibilities of the devices by getting the root access and adding applications developed by the community (notably, the PDF viewer hacked by the community is fantastic, with gestures, etc.). Which means it's fine if you are a geek and not afraid to hack your device, but more annoying for your average consumer :-/<br />The other disappointing aspect is the (comparatively) low battery life: about 12-15 hours depending on the model (mine is a v1, the v2 do better), which is mostly caused by the fact that no sleep mode is available. Other eBook readers perform much better on that metric. To be fair they don't have wifi nor a wacom tablet :D ... so it's really a matter of choice.<br /><br />All in all, it's a bit of a shame as really the platform is very nice, and with a bit more effort on the software side, Iliad would have a killer product on their hands. Oh, and yes the e-ink display refresh rate is slow, but curiously it's not that annoying, and having its full library in such small factor is absolutely fantastic. <br /><br />Anyway... one of the really, really cool feature of the iliad is the presence of a stylus (i.e. the iliad display sports a wacom tablet), which allows you to annotate PDFs, take notes, etc.<br /><br />I started to experiment a bit with the note taking feature of the iliad; the idea is that you can open a PNG image in the notes folder, and a copy will automatically be made where you can write on it (the image is being used as a background, so it's trivial to have customized backgrounds). But I then wanted to generate a PDF from those notes (i.e. combining the scribbles+PNG).<br /><br />Iliad do provide a windows application to do all that, but it's a windows app, not really useful for me... there is a nice java application written by the community that allows merging scribbles with the PDF as well. Alas, the java scribble merging application only seems to work for PDF scribble; I guess it would be trivial to modify the java app, but I had a look at the xml scribbling format, and I saw that the format was really simple. <br /><br />So I quickly wrote myself a MacOSX viewer for the notes, using the png image as a background, letting me print notes easily or convert them to PDF.<br /><br />But then... I suddenly remembered the Ink handwriting recognition engine.<br /><br />This thing comes straight from the ill-fated Apple Newton PDA (such a loss!), but what is nice is that it is available and installed by default on OSX.<br /><br />Turns out it's not too difficult to feed Ink a set of custom datapoints, and after some tweaking it doesn't work too bad apparently, as can be seen on the screenshot...<br /><br /><div align="center"><br /><a href="http://www.mobileread.com/forums/attachment.php?attachmentid=12127&d=1207881531"><br /><img src="http://www.mobileread.com/forums/attachment.php?attachmentid=12127&d=1207881531" width=320px></a></div><br /><br />So far, this is only highly experimental code, and it'll probably take a bit more time to have a really usable application. Still, pretty cool!Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com8tag:blogger.com,1999:blog-13578244.post-18831306754720254392008-04-03T00:42:00.005+01:002008-04-03T02:50:34.552+01:00DabbleDB 8 minutes demo<a href="http://www.dabbledb.com/">DabbleDB</a> is as impressive as ever. If you never heard about it, it's a fantastic database app, one of the few "webapp" that really manages to be as usable as it would be if it was a "normal" desktop app. It manages that by leveraging the power of <a href="http://www.seaside.st">Seaside</a>, a web application server written in Smalltalk (hands down the best app server I ever seen, period. Beats even webobjects, and you code in Smalltalk. Can't be better, really!). <br /><br />Discarding the impressive "webapp" aspect (which in a way is more of a sad commentary on the poor capacities of the "web" platform, although it is improving, as dabbledb can show, and as addons such as <a href="http://gears.google.com">Gears</a> improve the capacities), it's the only database I know that let you evolve your data model as smoothly as they do it, not even talking about the great tools to easily explore and enrich your data... This is a kind of flexibility that I think should be put back at the center of our computing experience and be adopted by more applications/domains.<br /><br />Anyway, Avi Bryant released a <a href="http://www.dabbledb.com/explore/8minutedemo/">new 8 minutes demo showing off DabbleDB</a>, after their famous <a href="http://blog.dabbledb.com/2008/03/return-of-the-s.html">7 minutes demo</a> they did in 2006. If you never heard about DabbleDB, check it!Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com2tag:blogger.com,1999:blog-13578244.post-43515341675365329832008-03-27T00:21:00.007+00:002008-04-02T13:51:52.487+01:00GNUstep Summer of Code 2008For those who don't know yet... <a href="http://www.gnustep.org">GNUstep</a> is one of the organisation that Google has accepted for the <a href="http://code.google.com/soc/2008/">Summer of Code program</a> --- which means that if you are a student looking for something to do this summer, want to hack Objective-C code, help a cool free software project, learn a lot... and even be paid, well, you should apply ! sure beat your average summer job :)<br /><br /><br />...<br /><br /><br />Deadline for applications is next monday (31/03/2008), so hurry up !<br /><br /><b>update:</b> the deadline has been <a href="http://google-opensource.blogspot.com/2008/03/one-more-week-to-apply-to-google-summer.html">pushed by a week</a>, so if you thought you missed it, you still have a few days left to apply.Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com2tag:blogger.com,1999:blog-13578244.post-34614803068160600152008-03-23T14:11:00.004+00:002008-03-23T18:26:57.163+00:00Mobile Gears T-ShirtT-shirts are nearly an internal currency at work... so we of course had a mobile gears T-Shirt made ! Here is it:<br /><br /><div align="center"><a href="http://www.roard.com/images/google-gears-tshirt.png"><img width="320" src="http://www.roard.com/images/google-gears-tshirt.png"></a></div><br /><br />Nice isn't it ?Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-25350231219792120112008-03-23T14:06:00.001+00:002008-03-23T14:08:00.608+00:00Hilarious<a href="http://scienceblogs.com/pharyngula/2008/03/expelled.php">This</a> is just too funny. Hail the Flying Spaghetti Monster !Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com0tag:blogger.com,1999:blog-13578244.post-23688968339151812612008-03-06T23:04:00.007+00:002008-03-07T01:03:32.948+00:00Google Gears MobileOne of the few annoying things when you work at Google is that you can't really talk with your outside friends about what you are doing... so it's rather nice when you finally release the project you worked on for the last few months and be able to point to it :)<br /><br />So anyway... we released <a href="http://gears.google.com/">Google Gears</a> for Mobile tuesday morning ! Here is the <a href="http://googlemobile.blogspot.com/2008/03/shifting-google-gears-to-mobile.html">post</a> from Charles Wiles announcing it, <a href="http://google-code-updates.blogspot.com/2008/03/power-up-your-mobile-web-applications.html">another one describing mobile gears</a>, and one on the <a href="http://gearsblog.blogspot.com/2008/03/google-gears-in-your-pocket.html">Desktop Gears blog</a>. Plus you get fancy videos from Charles, Andrei and Dave talking about it. <br /><br /><div align="center"><br /><img src="http://www.roard.com/images/mobilegears1.png"><br /></div><br /><br />A few words about Gears: it's an opensource project, adding a cool set of javascript APIs to internet browsers. Those APIs let your website use a database locally, cache pages, and execute javascript code in threads, basically blurring the line between webapps and native apps. <br /><br />Biggest use so far is enabling sites to be used while not being connected to internet. Of course, disconnected mode and local storage make even more sense on a mobile device than for a laptop... add to that the fact that writing native applications for mobile devices is a pain, and gears-enabled "webapps" are suddenly very attracting, even if on winmo you have to go through some gymnastic around PocketIE "limitations". Oh, and this work for the moment on Windows Mobile 5 and 6, touchscreen and smartphone, and implements all the 0.2 APIs of the desktop gears. <br /><br />And more is coming...Nicolashttp://www.blogger.com/profile/04057058584432088746noreply@blogger.com1