Thursday, December 11, 2008

Mona Lisa video

Here is a small video demonstrating the polygons evolution:



(better results should be doable with more time and/or more parameters tweakings)
For this example, I used 50 polygons of at most 16 points, starting with 10 polygons.

Wednesday, December 10, 2008

Genetic Algorithms and Mona Lisa

Genetic 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).

Roger Alsing posted a couple of days ago an extremely cool article showing the convergence of 50 polygons to represent the Mona Lisa, using a random approach.

That was too cool to not try to implement it :)







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).
Underneath was an earlier attempt using ovals instead of polygons.

Now, to be more exact, Roger Alsing's algo is more a hill climber algorithm or possibly a simulated annealing 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.

Tuesday, November 25, 2008

Gregynog 2008



Gregynog 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 here (PDF) if you want to have a look.

Thursday, November 20, 2008

End of an era...



A pdf can be downloaded by clicking on the following image:

Thursday, October 30, 2008

Factor

I just watched this talk:



It's a very nice presentation of the Factor language, a mix of Forth / Lisp / Smalltalk -- a higher level Forth. Interestingly, they do have Cocoa bindings...

Wednesday, August 20, 2008

Done!

pending corrections on my thesis, I'm now a Doctor :)

Saturday, July 19, 2008

Charlie

On savait que Philippe Val etait un con (souvenez-vous de ses diatribes debiles sur l'internet), mais il persiste et signe. Minable.

Thursday, June 19, 2008

Gears presentation at the Google IO conference

The videos from Google IO are online, so if you wonder what I'm working on at Google, here is a nice presentation of Gears for Mobile, by Charles and Andrei:



Slides are also available

Friday, May 16, 2008

OpenSource Jam & Literate Programming






I gave a short talk yesterday about LP at the OpenSource Jam (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.

update: A blog post describing the event and pictures have been posted by the open source team...





Saturday, May 10, 2008

iLiad iRex pictures

As there's some interest in the iliad and other ebook readers, and as a follow-up to my previous post describing my general impressions of the iliad, 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 !)






This first picture shows an A4 PDF, not resized, and perfectly readable. As you can see, no problems either with the viewing angle.






The 16 gray levels work well enough for reading some comics :)






Another comic, close up.






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!).






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...


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:






As you can see, it's readable (albeit a bit small), with the PDF reader I use simply set in fullscreen mode.






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

Tuesday, May 06, 2008

Thesis







Feels good :)

Friday, April 11, 2008

Iliad iRex note taking and hand-writing recognition

I recently bought an Iliad iRex, 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 simple script for downloading the 24h edition of The Guardian). Also, as shown with the previous link, the community is quite active :)

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...
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 !).

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 :-/
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.

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.

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.

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

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.

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.

But then... I suddenly remembered the Ink handwriting recognition engine.

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.

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...





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!

Thursday, April 03, 2008

DabbleDB 8 minutes demo

DabbleDB 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 Seaside, 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!).

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 Gears 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.

Anyway, Avi Bryant released a new 8 minutes demo showing off DabbleDB, after their famous 7 minutes demo they did in 2006. If you never heard about DabbleDB, check it!

Thursday, March 27, 2008

GNUstep Summer of Code 2008

For those who don't know yet... GNUstep is one of the organisation that Google has accepted for the Summer of Code program --- 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 :)


...


Deadline for applications is next monday (31/03/2008), so hurry up !

update: the deadline has been pushed by a week, so if you thought you missed it, you still have a few days left to apply.

Sunday, March 23, 2008

Mobile Gears T-Shirt

T-shirts are nearly an internal currency at work... so we of course had a mobile gears T-Shirt made ! Here is it:



Nice isn't it ?

Hilarious

This is just too funny. Hail the Flying Spaghetti Monster !

Thursday, March 06, 2008

Google Gears Mobile

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

So anyway... we released Google Gears for Mobile tuesday morning ! Here is the post from Charles Wiles announcing it, another one describing mobile gears, and one on the Desktop Gears blog. Plus you get fancy videos from Charles, Andrei and Dave talking about it.





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.

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.

And more is coming...