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.
Publié par Nicolas à Thursday, December 11, 2008 0 commentaires
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.
Publié par Nicolas à Wednesday, December 10, 2008 1 commentaires
Libellés : cocoa, cool, geek, hack, objective-c, programming
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
Publié par Nicolas à Thursday, June 19, 2008 0 commentaires
Libellés : cool, demo, google, programming, talk
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...
Publié par Nicolas à Friday, May 16, 2008 2 commentaires
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).
Publié par Nicolas à Saturday, May 10, 2008 3 commentaires
Libellés : cool, geek, iliad iRex, photo, screenshots
Tuesday, May 06, 2008
Thesis
Publié par Nicolas à Tuesday, May 06, 2008 2 commentaires
Libellés : cool, phd thesis, rant
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!
Publié par Nicolas à Friday, April 11, 2008 8 commentaires
Libellés : cocoa, cool, hack, iliad iRex, objective-c, programming, screenshots
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!
Publié par Nicolas à Thursday, April 03, 2008 2 commentaires
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.
Publié par Nicolas à Thursday, March 27, 2008 2 commentaires
Libellés : cool, geek, gnustep, google, programming, summer of code
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 ?
Publié par Nicolas à Sunday, March 23, 2008 0 commentaires
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...
Publié par Nicolas à Thursday, March 06, 2008 1 commentaires
Libellés : cool, google, programming, screenshots
Sunday, September 23, 2007
Evolved Virtual Creatures
A pretty cool video showing evolved virtual creatures:
More infos here, with Karl Sims Siggraph's 1994 paper..
another video from Nicolas Lassabe
more on Lee Graham's page :
Publié par Nicolas à Sunday, September 23, 2007 0 commentaires
Libellés : cool, geek, programming
Tuesday, September 04, 2007
Dock
Looks like it didn't take long for Yen-ju to play with the Cairo backend and partial transparency :)
Shiny. (yes, too much like OS X)
Publié par Nicolas à Tuesday, September 04, 2007 3 commentaires
Libellés : cool, étoilé, gnustep, screenshots
GNUstep Cairo backend
After some effort, I finally managed to find a solution to the annoying scrolling bug in the Cairo backend... There's still some little graphic glitches appearing sometimes -- it looks like some clipping/refresh issues -- but overall it's nearly there :)
For the intrepid, the code is committed on the gnustep trunk. The above screenshot shows the Etoile desktop (with the new compositing manager) and the work-in-progress Narcissus theme, running with the Cairo backend.
Publié par Nicolas à Tuesday, September 04, 2007 0 commentaires
Libellés : cool, étoilé, gnustep, screenshots
Sunday, September 02, 2007
Cairo/GNUstep
I was at AlpenStep this weekend (photos will follow..) which was quite cool. I teamed with Fred Kiefer (the GNUstep gui maintainer) to try to iron out some of the quirks of the Cairo backend. The main problem (recopy of surfaces is not always done well, which impact scrolling) is still here, although we improved some things, and it looks now like it should be solvable with a bit more work. We also added 32 bit surface support when choosing x11 visuals : a cool side-effect is that you can then use directly the alpha channel on the window :) and thus draw semi-transparent windows.
David will like that ;-) -- he's working at the moment on Etoile's compositing manager...
In the above screenshot, I simply fill the view with NSCompositeClear (so it's just transparent), and then composite an image on it, with 0.8 transparency. You can then see that parts of the window are fully solid, while some are completely transparent, and others partially transparent.
Publié par Nicolas à Sunday, September 02, 2007 5 commentaires
Thursday, March 01, 2007
Pink Floyd
Today I was in london for a job interview, and had a few hours to kill after it before going back to wales.. so I walked around a bit, and ended up reaching the Thames (duh! not surprising in london, is it ?). But I just ended up in front of the Battersea Power Station :
Of course, this power station is world famous because of Animals, the 1977 Pink Floyd album... ;-)
Sadly, I didn't have my camera with me, so the shots are from my mobile... here's some more:
ps: in the "cool for a geek dpt", I'm actually posting that from my laptop.. but through my 3G mobile cnx. With a cheap unlimited data plan, you basically get internet access everywhere -- as like here, in the train :D
Publié par Nicolas à Thursday, March 01, 2007 3 commentaires
Wednesday, October 26, 2005
Subtext
Found on Martin Fowler's bliki, an interesting short summary of the OOPSLA'05 conference, along with interesting links. One of them is Subtext, a really cool language / programming environment (you perhaps already encounteered it, it was featured on slashdot some time ago...). Definitely something interesting -- check the demo (flash video) and the researcher's blog. Lots of good points / ideas about what should be a programming environment ;-)
I wonder if we could extend some ideas about ide to really dump the text editing, or at least relay a lot more on metamodels of the code.. Dynamic Aspects seems to head into that direction ;-)
Publié par Nicolas à Wednesday, October 26, 2005 1 commentaires
Libellés : cool, geek, programming
Thursday, October 20, 2005
Nokia 770
I received today my new shiny toy, the Nokia 770:
I put online some pictures of it..
First impressions:
- it's light ! yet it doesn't feel "crap" :-)
- the form factor is surprisingly nice (even if coming from a newton I wouldn't mind a (physically) bigger screen)
- applications are a bit slow to start. Hopefully things will improve -- even if as it is it's ok, I wouldn't mind instantaneous starts ;-)
- redrawing is a bit slow too :-/ is it because of X or gnome.. ?
- the screen is absolutely gorgeous !! really beautiful and luminous :-) (the pictures I took don't completely do it justice)
- playing movie is ok (there's a trailer for ice age 2 on the machine), but could be improved..
- lack of pppoe configuration for wifi VPN (or if there is, it's not obvious, but well, I just got it, so I perhaps overlooked something)
- installing a package is easy :-)
- The UI is quite good, as a PDA UI -- definitely better than PocketPC (well, duh..), obviously less good than the newton, but hey, it's not too bad..
So well, overall, I'm quite pleased -- the device is indeed very, very cool. Things can be improved, but it's already quite nice. The UI is ok, even if what I would like to do is (obviously ?) install GNUstep on it, and then modify GNUstep to blend on the Maemo platform (with a possible replacing of maemo in an improbable future). Anyway, as it is running linux, it seems an ideal platform for me -- both for experimenting with etoile/gnustep on a PDA (see a previous post about that, and see what I posted about the newton for what I think is good on a PDA...) and as a good client for the system I'm working on at uni...
I'm not sure if there's a market for a "web tablet" device, but I don't think that the Nokia 770 will only be a "web tablet" anyway :-) -- there's already ports of doom, abiword, the GPE pim stuff, etc.
Nokia has a winner in the linux community I think :-) -- which means that you can expect lots of software for the Nokia, and it already started... It also look like an excellent device for ebooks, administrators (as an X/VNC/ssh terminal), etc.
Publié par Nicolas à Thursday, October 20, 2005 7 commentaires
Libellés : cool, dynabook, étoilé, geek, gnustep, nokia 770, rant
Monday, August 29, 2005
VERY interesting videos
Following a link from the Squeak-dev mailing list... I watched theses two videos (a presentation in two parts) by Alan Kay, circa 87 ... They are brilliant, and extremely interesting. Definitely something to view !
Part 1
Part 2
(ps: Squeak is an incredible environment, and Seaside is a fantastic web app framework running in Squeak... worth your time..)
addendum: Interesting PDF about PARC's work ...
addendum 2: another interesting video, an interview of alan kay.
Publié par Nicolas à Monday, August 29, 2005 2 commentaires
Libellés : cool, geek, programming, smalltalk
Thursday, July 14, 2005
Newton...
Received the wifi card and memory card, so I was able to connect the newton to my local network :-)
After some tweaking, I have NTK (the newton dev environment) running under Classic and connected to the newton using the wifi card :-)
Just started to play with NTK and NewtonScript, but it's quite cool. By far not as cool as IB/Gorm ;-) but NewtonScript is a rather nice language, and NTK seems ok, though not fantastic... got a very basic app running here, where what you write on the newton is displayed on the above textfield when you click on the button (very dull, but it's just to test things ;-)
Not sure what I'll do on it... perhaps a simple calc application where you'd write the numbers / operations and have a "paper trail" ? or perhaps simply a battleship game (there are two already, but they don't use the whole screen, and anyway it's just to play a bit more with NTK/NewtonScript ...). I should also try the xmlrpc lib, it could be cool to use the newton to connect to my visualization system at uni ;-)
I tried VNC on the newton too, both as client and server, and it's extremely cool.. even if it's very slow :-)
Publié par Nicolas à Thursday, July 14, 2005 0 commentaires
Libellés : cool, dynabook, geek, newton, programming, screenshots