mardi 28 juillet 2015

See you in Gothenburg!

I'm glad to announce that I'm going to the 2015 edition of GUADEC!

I'm delighted to be able to attend GUADEC for the second time, as my first experience in Strasbourg was extremely enriching. I hope I'll see lots of known and new faces. =) As an intern, I'll give a lightning talk about what I've done so far for GNOME Boxes.

I would like to warmly thanks thanks the GNOME foundation for sponsoring by travel, especially the donors and the GUADEC team and the travel committee.

It will be the first time I go to Sweden, I'm sure the trip will be fun.

Vi ses i Göteborg!

mercredi 15 juillet 2015

GUADEC 2015 get its Beamer template!

Lasse and I spent some time recently to produce a Beamer template for GUADEC 2015. You can find it here:

You can use it with Pandoc or directly with LaTeX. Example are shipped too:

  • 2015/ is a Pandoc example, build it with make pandoc to produce 2015/presentation.pdf;
  • 2015/guadec-example.tex is a LaTeX example, build it with make tex to produce 2015/guadec-example.pdf.

I hope you'll enjoy it, feedback is welcome and if you have any problem don't hesitate to contact me (Kekun) or Lasse (sils) GIMPNet #guadec on GIMPNet.

samedi 11 juillet 2015

Monster and Naoki Urasawa


Thanks to summer granting me some free time, I've finally been able to complete the Naoki Urasawa's Monster manga series.

If you don't know Monster, it's a psychological thriller telling the story of Dr. Kenzō Tenma, a young Japanese neurosurgeon working in Düsseldorf, who decided to save the life of the young Johan Liebert rather than the the one of the mayor the city who arrived at the hospital roughly later. His life then changed when a series of murders happened in the hospital, all of persons whose death would improve the hero's career, making him the prime suspect of these cases. But it turns out that the little boy he saved may not be innocent to this cases…

This very well paced story—full of thrills and mystery and served on a background of dreadful psychological experiments—asks lots of questions about the price of life, the right to choose which life to save, the good, the bad, humanity, and ultimately, the price of death. All of that is very well presented by beautiful graphics and interesting characters.

Naoki Urasawa's works

Naoki Urasawa's mangas clearly follow a pattern: 20th Century Boys and Pluto, two other series by him that I read, have very similar stories, abord similar topics, contain similar characters with similar development and a global "end of all good in humanity" tone; but all of present different universes and are very well executed. 20th Century Boys deals more about suspicions and sects, while Pluto is more about humanity in robots.

If you want to try out some of its work, I would definitely recommend you to do so, starting either with 20th Century Boys if you want to try out "pure" Urasawa, or Pluto if you want a shorter series and to be presented to Astro Boys universe in a darker tone.

vendredi 3 juillet 2015

Boxes' thumbnails overhaul

I recently spent quite some time reworking the overall look of Boxes' machine thumbnails. Here is the result.

Boxes' new thumbnails

Stopped boxes

Up until now, Boxes' stopped machines were represented by a black box. It was nice as it represented the idea of a shut down screen, but it was pretty hard to differentiate a stopped machine from a running one displaying a black screen. This was stated in bug #730258 where Jimmac suggested to follow this design where thumbnails are draw as gray frames with a medium sized emblem in their center, using the system-shutdown-symbolic icon to suggest the stopped state.

Boxes' old thumbnail for stopped machines Boxes' new thumbnail for stopped machines
Boxes' thumbnail for stopped machines: old (left) and new (right)

Updating the other thumbnails

Machines under construction used to simply display their thumbnail with a spinner on top. This doesn't change but stopped machines being constructed now display their spinner in a frame, to be consistent with the new thumbnail for stopped machines.

Boxes' old thumbnail for machines being imported Boxes' new thumbnail for machines being imported
Boxes' thumbnail for machines being imported: old (left) and new (right)

The default thumbnail for machines was a big computer-symbolic icon. It have been changed to the new gray frame style, keeping the computer-symbolic icon as the thumbnail's emblem.

Boxes' old default machine thumbnail Boxes' new default machine thumbnail
Boxes' default machine thumbnail: old (left) and new (right)

Thumnails are now consistent, elegant, and the machine's status is more understandable.

Working on this feature helped me to discover bug #751494: GDMainIconView draw pictures without their last column of pixel.


The way a machine is shown as favorite has also been revamped. A big heart shaped icon (the emblem-favorite-symbolic icon) was added to the bottom right corner of the thumbnail, and this was causing multiple problems (see bug #745757):

  • the standard icon to show something is favorited is a star (the starred-symbolic icon),
  • and more importantly, its position was conflicting with the one of the selection checkbox!
Boxes' old emblem for favorite machines Boxes' new emblem for favorite machines
Boxes' emblem for favorite machines: old (left) and new (right)

A machine is now shown as favorited by adding a tiny star to the bottom left corner of its thumbnail.

Unfortunately, problems still exist as the white star becomes invisible on a white thumbnail (see bug #751478). I tried to solve this problem, by making the star casting a shadow, which worked well but it required me to implement a blurring function into Boxes' code, adding 100 lines of Vala to an already complex codebase for one tiny functionality which has nothing to do with the application's domain, hence this solution haven't been retained.

The emblem for favorite machines is invisible on a white thumbnail Adding a shadow under the emblem solves this problem
The 'favorites' emblem with and without a shadow

Zeeshan suggested trying to solve this by using the image's energy, as the code to do such a thing already exists. This solution still has to be explored.