<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cyrille Berger &#187; KDE</title>
	<atom:link href="http://blog.cberger.net/category/open-source/kde/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cberger.net</link>
	<description>What I do, where I live, what I think.</description>
	<lastBuildDate>Sat, 12 Jun 2010 20:36:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>KOffice Meeting Spring 2010 &#8211; Day 1</title>
		<link>http://blog.cberger.net/2010/06/12/koffice-meeting-spring-2010-day-1/</link>
		<comments>http://blog.cberger.net/2010/06/12/koffice-meeting-spring-2010-day-1/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 20:36:04 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Meetings]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1067</guid>
		<description><![CDATA[Today is the day where we all meet in the same room to discuss the mater that concern all of us.
The topic that kept us busy the most was success and failure, after a while we concluded that no one want to speak of failure, so we concentrated on what we consider is going to [...]]]></description>
			<content:encoded><![CDATA[<p>Today is the day where we all meet in the same room to discuss the mater that concern all of us.</p>
<p>The topic that kept us busy the most was <em>success and failure</em>, after a while we concluded that no one want to speak of failure, so we concentrated on what we consider is going to be our main criteria of success, the top mains one are <em>lot of users</em> and <em>lot of developers</em>. Our first step to get a lot of users will be to make it possible for a lot of users to use it (surprised ?), the good thing is that is indeed something that is progressing release after release. Then we will need a lot of advertisement and documentation. When it comes to developers, we concluded that the main problem is not to attract new ones, but to retain the one we have, and one of the key challenge is going to make sure we keep a good ratio of paid developers / hobbyist developers. A key feature of KOffice is going to be interoperability, and ODF is the way to go. Some ODF features are border lines and are not considered to be essential, but if someone is willing to write an implementation, it might be accepted by KOffice if it is good enough (code quality, maintainability and UI). Also an other way to achieve interoperability is with the implementation of import filters. Then the question of whether KOffice is a desktop application or also for use on mobile devices was raised, but this is a subject that require research on how to make the actual implementation. Suresh mentioned that Nokia would need a roadmap to help with their planning, which also require a vision, but writing a vision require an usability expert and the roadmap would have taken us an other day. </p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0139.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0139_th.jpeg"/></a><br />
</center></p>
<p>Then we continued with listing the missing features in KOffice, Suresh presented us their current work on mobile use of KOffice. And we finished by a discussion about our website, sadly Alexandra who did a wonderful job on planning our current website is now too busy to work on it, so for now I am going to take care of technical aspect, while Boudewijn writes content (expect a last week in koffice !).</p>
<p>The full minutes are fully available on <a href="http://wiki.koffice.org/index.php?title=Meetings/Mid_2010_meeting/Minutes">koffice&#8217;s wiki</a>.</p>
<p>For the dinner we went to the slowest restaurant, half an hour for the first drink and to order, an hour to get the food&#8230;</p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0144.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0144_th.jpeg"/></a><br />
</center></p>
<p>And now we enjoy the fresh evening, while blogging, sipping wine, hacking and discussing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/06/12/koffice-meeting-spring-2010-day-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KOffice Meeting Spring 2010 &#8211; Day 0</title>
		<link>http://blog.cberger.net/2010/06/11/koffice-meeting-spring-2010-day-0/</link>
		<comments>http://blog.cberger.net/2010/06/11/koffice-meeting-spring-2010-day-0/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 19:58:57 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Meetings]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1054</guid>
		<description><![CDATA[The KOffice developers are meeting at the LinuxHotel in Essen for the week-end to start planning the future release and discuss various issues. Today is the coming day, Boudewijn was first on site and was there to welcome me, and negotiate in German with the lady to add a plate so that I could get [...]]]></description>
			<content:encoded><![CDATA[<p>The KOffice developers are meeting at the <a href="http://linuxhotel.de/">LinuxHotel</a> in Essen for the week-end to start planning the future release and discuss various issues. Today is the coming day, Boudewijn was first on site and was there to welcome me, and negotiate in German with the lady to add a plate so that I could get lunch too. The site is quiet gorgeous, a nice landscape, a nice hotel and a tux statue (free beer and coca&#8230;).</p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0113.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0113_th.jpeg"/></a><a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0105.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0105_th.jpeg"/></a><a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0109.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0109_th.jpeg"/></a><br />
</center></p>
<p>This raise the question of how productive we will be, as you can see below Boudewijn and Thorsten are already at work reviewing a patch on loading and saving text on shape, and we started informal discussions:</p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0099.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0099_th.jpeg"/></a><a href="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0126.JPG"><img src="http://cyrille.diwi.org/images/kritablog/koffice2010/DSC_0126_th.jpeg"/></a><br />
</center></p>
<p>Now almost everybody has arrived, and is enjoying the wifi, in the garden. With more discussion, blogging, bug hunting, and listening to the history of castle told by Boudewijn.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/06/11/koffice-meeting-spring-2010-day-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Braindump 0.8.0</title>
		<link>http://blog.cberger.net/2010/03/18/braindump-0-8-0-2/</link>
		<comments>http://blog.cberger.net/2010/03/18/braindump-0-8-0-2/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 18:31:02 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Braindump]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1027</guid>
		<description><![CDATA[A bit overdue, the first release of Braindump is available. It has been a while since I announced the project of making a tool that gather allow to dump your thoughts into an electronic form. For those who have forget (which is probably most of you), Braindump is a collection of whiteboards on which you [...]]]></description>
			<content:encoded><![CDATA[<p>A bit overdue, the first release of Braindump is available. It has been a while since I <a href="/?p=137">announced the project</a> of making a tool that gather allow to dump your thoughts into an electronic form. For those who have forget (which is probably most of you), Braindump is a collection of whiteboards on which you can put your notes, whether text notes, or drawing. It is entirely based on <a href="http://www.koffice.org">KOffice</a> technologies. Which made Braindump quick and easy to develop, and it makes it very small, around <a href="http://www.ohloh.net/p/braindump_kde/analyses/latest">8000</a> lines of code.</p>
<p>I have been delaying that release because I wanted to make a video of Braindump in action, and have been too lazy to make one until now. On that video I first create new whiteboards, then I demonstrate how to add shapes, manipulate them, and finally the different layout:</p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/braindump/braindumpinaction.ogv"><img src="http://cyrille.diwi.org/images/braindump/braindumpinaction.png" /></a><br />
</center></p>
<p>I you look at <a href="http://bitbucket.org/cyrille/braindump/overview/">Braindump development history</a>, you will notice that over the past six months the development has been really slow, there are a few reasons to that, the first one is that most of the development is done by other people than me in the KOffice repository, the second one is that I feel that Braindump is already doing exactly what I want, with a few glitches, but as a geek I tend to live happily with those&#8230;</p>
<p>That said there is a couple of features I want:</p>
<ul>
<li>Search (and replace)</li>
<li>Tagging, but then <a href="http://monkeyiq.blogspot.com/2010/01/koffice-rdf-who-what-when-where.html">someone else</a> (yeah again) is doing the work for me in KOffice</li>
<li>Auto-growing text shape</li>
<li>A solution to this problem: (almost) each time I create a new whiteboard, the first thing I do is to add a text shape. So I wonder about either having always a permanent text shape in the background, or always add a text shape when creating a white board.</li>
</ul>
<p>I am also starting to be curious about <a href="http://blog.karlitschek.de/2010/03/owncloud-development-started.html">ownCloud</a>, since personally I find it to be the right direction of cloud computing, so I would probably be interested in the possibility of storing whiteboards on an ownCloud server. Lets see how it evolves.</p>
<p>If you have other ideas, do not hesitate to mention them, who knows, if I find them interesting, I might go on and implement them !</p>
<p><a href="http://cberger.net/download/braindump-0.8.0.tar.bz2">Download Braindump 0.8.0</a>, this release will work <b>only</b> with KOffice 2.1.x, from now on I will work on porting Braindump to the upcoming KOffice 2.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/18/braindump-0-8-0-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://cyrille.diwi.org/images/braindump/braindumpinaction.ogv" length="8078772" type="video/ogg" />
		</item>
		<item>
		<title>Krita, a painting application, not really new news</title>
		<link>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/</link>
		<comments>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 23:14:56 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1007</guid>
		<description><![CDATA[The time when Krita was borne as KImageShop, as a Gimp-for-KDE is long gone. Not sure when this idea was killed, but it is clear that it has never really be the intention of the current team. The ambiguity of being only a paint application might only have been lift last weeks, and not trying [...]]]></description>
			<content:encoded><![CDATA[<p>The time when <a href="http://krita.org">Krita</a> was borne as KImageShop, as a <a href="http://gimp.org">Gimp</a>-for-KDE is long gone. Not sure when this idea was killed, but it is clear that it has never really be the intention of the current team. The ambiguity of being only a paint application might only have been lift last weeks, and not trying anymore to be both. But now was the best time to lift it, Gimp is now going in a direction where it will be an excellent image manipulation tool, it does not make anymore sense to try to have half-baked support for this kind of work in Krita. Instead, we need to focus on what is truly missing, a high quality paint application that covers all the artists needs.</p>
<p><center><a href="http://cyrille.diwi.org/images/kritablog/krita_painting.png"><img src="http://cyrille.diwi.org/images/kritablog/krita_painting_th.png" /></a></center></p>
<p>But this focus of Krita is not new. What is new is our willingness to focus on it.</p>
<p>Boudewijn has always said that he started on Krita to make a linux application that makes the most use of his newly tablet, he even said at <a href="http://libregraphicsmeeting.org">LGM 2007</a> that he wanted Krita to be a &#8220;corel paint killer&#8221;. More recently Vera joined us in the hope of helping us to make a good open source painting application.</p>
<p>Personally I started with a joint interest for drawing and photography, and probably considered at first that I wanted to contribute to an application that work for both use. And this would explain why most photographic specific features were written by me. But when I started to make digital pictures, I thought that one of the main interest over silver film was the post-processing, but I have come to realise that colour and brightness adjustment were all the changes I wanted to do, and that otherwise, the pictures need to be shout correctly, correct framing, correct positioning of objects, this require more work in the composition, but this also give greater pictures than cloning. Meaning, that I have mostly used Krita for drawing attempts.</p>
<p>But some other members joined us for photographic interest, and some people would still want to use Krita for those uses, I hope that we manage to work together and allow them to find their place in the Krita Community, either the new extensions website will prove sufficient, maybe a krita-photographic-extension package will be made available by distributions, or it is even possible to build a different user interface on top of Krita libraries.</p>
<p>This is something we are ready to help with, but what we feel is important is that when a painter starts Krita, he get all what he needs, and nothing more.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Krita&#8217;s Hackfest, meeting with the Blender guys</title>
		<link>http://blog.cberger.net/2010/03/05/kritas-hackfest-meeting-with-the-blender-guys/</link>
		<comments>http://blog.cberger.net/2010/03/05/kritas-hackfest-meeting-with-the-blender-guys/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:40:03 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Amsterdam]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Hackfest]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=991</guid>
		<description><![CDATA[During this week, Boudewijn is hosting Sven, Lukas and me for a Krita hackfest, dedicated to bug fixing, performance, UI improvement. Among the major improvements brought by that week are improvement in the memory consumption, thanks to a collaboration between Dmitry and me, where I did some tracking and experimentation, and he found the actual [...]]]></description>
			<content:encoded><![CDATA[<p>During this week, Boudewijn is hosting Sven, Lukas and me for a <a href="http://krita.org">Krita</a> hackfest, dedicated to bug fixing, performance, UI improvement. Among the major improvements brought by that week are improvement in the memory consumption, thanks to a collaboration between Dmitry and me, where I did some tracking and experimentation, and he found the actual problem. This fixed has allowed us to go from 2 minutes of drawing to exhaust my 2GB of memory, to make it possible to paint for more than 30 minutes, there are still some issues that need to be found and fixed. In the area of performance, Lukas have improve the performance of the flood fill by 60%, and I have reduced the time needed for some gradients by six (the other types did not seem to have the problem), unfortunately those improvements are not really visible, for some reason Krita currently spend a lot of time recompositing the image. While Boudewijn and Sven have been working on a scratchpad, as a new way to test new brushes settings, and working on a widget to input value that should be simpler when used with tablets, after <a href="http://www.valdyas.org/fading/index.cgi/hacking/krita/superslider.html">Boudewijn&#8217;s call for help</a> someone else has offered to help us with that.</p>
<p>Yesterday we went to Amsterdam to meet the <a href="http://blender.org">Blender</a>&#8217;s guys. Since most of us has never been to Amsterdam before, Boudewijn took us for a long walk in Amsterdam&#8217;s street (or should I say canal), which started in the overcrowded area around the central station, that we left as soon as possible to walk in more quieter area:</p>
<p><center><a href="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture20.jpg"><img src="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture20.th.jpg"/></a></center></p>
<p>Then at the end of the walk we arrived at the Blender institute:</p>
<p><center><a href="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture21.jpg"><img src="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture21.th.jpg"/></a></center></p>
<p>Where Ton took us on a visit of the Studio, and then we assisted to their weekly update, where all the members of team show what they have been working on, their difficulties and how to solve them. After the meeting, we went to a restaurant, as an opportunity to know each other, and to learn more on how their work, and in hope that one day Krita can be useful for them.</p>
<p><center><a href="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture22.jpg"><img src="http://cyrille.diwi.org/images/kritablog/deventer2010/Picture22.th.jpg"/></a></center></p>
<p>Tomorrow, I will go back home in Göteborg.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/05/kritas-hackfest-meeting-with-the-blender-guys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The difficult choice of removing features</title>
		<link>http://blog.cberger.net/2010/03/02/the-difficult-choice-of-removing-features/</link>
		<comments>http://blog.cberger.net/2010/03/02/the-difficult-choice-of-removing-features/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 15:55:13 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Vision]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=964</guid>
		<description><![CDATA[Adding a new feature is usually considered easy in the open source world, and then it is taken for granted. Removing a feature, on the other hand, it is a different story. It is not about making Krita less useful, au contraire, it is about making the best for our vision. But why remove a [...]]]></description>
			<content:encoded><![CDATA[<p>Adding a new feature is usually considered easy in the open source world, and then it is taken for granted. Removing a feature, on the other hand, it is a different story. It is not about making Krita less useful, au contraire, it is about making the best for our vision. But why remove a feature, they don&#8217;t disturb, or take too much space. They still come in the way and clutter, and what is the point of a menu entry, if you are never going to use it ?</p>
<h3>Krita is now focused on being a painting application</h3>
<p>We have mentioned in our blogs entry (by me in <a href="http://blog.cberger.net/2010/02/27/krita-meeting-2010-–-day-1-2/">Krita meeting 2010 &#8211; day 1</a> and by <a href="http://www.valdyas.org/fading/index.cgi/hacking/lastweekend.html">Boudewijn Rempt&#8217;s blog</a>) on last week-end <a href="http://krita.org">Krita</a> meeting, that we had now decided for a vision oriented toward painting.</p>
<p>Where does that leave photography ? Well clearly, it is out. And honestly, between <a href="http://gimp.org">Gimp</a> (especially with their work on 2.8) and <a href="http://www.digikam.org">Digikam</a>, there is not really much room for an other linux photography application to prosper. Since Krita was always more oriented toward drawing and painting, and photographic features were available mostly because &#8220;we can&#8221;, and there is no high-end application for drawing and painting on linux, the logical conclusion, for us, was to focus on where we can be the best, and the most useful.</p>
<h3>Removing photographic-specific features</h3>
<p>The logical conclusion is to remove the features that are not useful for painting. This include many of the photographic plug-ins, like tonemapping, bracketingto-hdr, lens correction, noise reduction filters. As well as a set of artistic filters, but that are mostly useful to transform a picture in something that looks like a painting.</p>
<p>And anyway there are better tool for that job, like the excellent <a href="http://qtpfsgui.sourceforge.net/">Qtpfsgui</a>, in action below on Deventer&#8217;s mill:</p>
<p><center><br />
<a href="http://cyrille.diwi.org/images/kritablog/qtpfsgui.png"><img src="http://cyrille.diwi.org/images/kritablog/qtpfsgui.th.png" /></a><br />
</center></p>
<p>I started a discussion on the subject on Krita&#8217;s mailing list, which triggered a bit of a <a href="http://lists.kde.org/?l=kde-kimageshop&#038;m=126751510631899&#038;w=2">uproar</a>. Especially from people who have used Krita for photographic editing. Live with it, use Gimp or Digikam, or install the removed plugins from the future extension website, write your own, just do not count on us for that, we are going to be focused on other features.</p>
<h3>An extension website</h3>
<p>Since it would sadden me to kill forever some of those plug-ins, and also while we do not want to support photographic features, or features that are of no interest for painting, we also do not want to prevent people to have or use those features, they will simply not be part of the default distribution. We are going to setup a new website where those extensions will be hosted, hopefully with &#8220;nightly&#8221; build (more like regular build) to keep them buildable, and synchronized with git/hg, where a tag would trigger a new release automatically. In essence a revival of the krita-plugins project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/02/the-difficult-choice-of-removing-features/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Krita Meeting 2010 – Day 2</title>
		<link>http://blog.cberger.net/2010/03/01/krita-meeting-2010-%e2%80%93-day-2/</link>
		<comments>http://blog.cberger.net/2010/03/01/krita-meeting-2010-%e2%80%93-day-2/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 12:49:15 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Meetings]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=956</guid>
		<description><![CDATA[Yesterday was the second day of the krita meeting 2010. It was oriented toward technical discussions, and UI design discussions.
In the technical area, I and Dmitry had a long talk on how to improve the filter API, to make it both easier to write effect filters, retain performance and ensure that it is less buggy [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday was the second day of the <a href="http://www.krita.org">krita</a> meeting 2010. It was oriented toward technical discussions, and UI design discussions.</p>
<p>In the technical area, I and Dmitry had a long talk on how to improve the filter API, to make it both easier to write effect filters, retain performance and ensure that it is less buggy with respect to selections and masks. In meantime Lukas was teaching Vera how to implement new painting operation, so that she can work on a water color brush engine.</p>
<p>When it came to the UI, we talked about what to do with painting op presets preview, and it was decided that it would be more useful for the user to have a scratchpad where he can make his own testing of the current settings, rather than having a computer generated preview. Boudewijn is now working on implementing exactly that. We also discussed painting presets management, it is going to be very basic for 2.2, with just a list name and a preview (either computer generated or made with the scratchpad). And later we would like to have tags, search by tags.</p>
<p>And between two discussions, we were working on bug fixes, polishing features, etc&#8230; All the small details to make Krita an even better application. And now is the hack week, with Boudewijn, Lukas, Sven and me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/01/krita-meeting-2010-%e2%80%93-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to find where an exception is emited with Qt ?</title>
		<link>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/</link>
		<comments>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:51:02 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://cyrilleberger.wordpress.com/?p=918</guid>
		<description><![CDATA[When an exception is thrown and not catched in a Qt application, it get catched by Qt&#8217;s event loop, and the following message is displayed in the console:
 Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch [...]]]></description>
			<content:encoded><![CDATA[<p>When an exception is thrown and not catched in a Qt application, it get catched by Qt&#8217;s event loop, and the following message is displayed in the console:</p>
<p><code> Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there. terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc </code> </p>
<p>In other situations, <em>std::bad_alloc</em> is replaced by the name of the exception. The problem is that if you now want to know where it happens in your program, the backtrace points to where the exception is rethrown by Qt&#8217;s event loop, which is not where the error happens.</p>
<p>I first had this problem a few days ago when implementing multi-layers support in EXR, since the exception name was specific to OpenEXR, I just grepped the code and deduce where the error occurred. But this is not very convenient when the error is generic, like <em>std::bad_alloc</em> which can be thrown just anywhere. And as it turned out by Qt itself in &#8216;qBadAlloc()&#8217;. The solution suggested by Maelcum on IRC is simply to set a breakpoint in the function <em>__cxa_throw</em>, which is a function of the C++ standard library that is actually doing the job when the keyword <em>throw</em> is used (at least with the GNU stdlib++, no idea if it is valid with other standard library implementation). And then you get a backtrace that point to the problem.</p>
<p>I thought I would share this tip in case, in some day, you find yourself with an uncaught exception in a Qt application.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Inserting shapes/images in KOffice</title>
		<link>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/</link>
		<comments>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:07:57 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=799</guid>
		<description><![CDATA[A while ago, in a praise of karbon 2.0 I wrote, someone commented on the &#8220;lack&#8221; of tools in karbon, as opposed to inkscape. And from forum posts, or identi.ca, it seems to cause some confusions. For instance, there is no rectangle or circle tool in karbon. And there will never be. The reason is [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, in a <a href="http://blog.cberger.net/2009/04/12/karbon-2-0/">praise of karbon 2.0</a> I wrote, someone commented on the &#8220;lack&#8221; of tools in karbon, as opposed to inkscape. And from forum posts, or identi.ca, it seems to cause some confusions. For instance, there is no rectangle or circle tool in karbon. And there will never be. The reason is that for KOffice 2, the tools are meant for user interraction, and for manipulating object in the canvas. Inserting shapes is done through the &#8220;Add shape&#8221; docker, which allow to manager your collection of customs shapes, as well as standard shapes, you can then just drag and drop the shape, or select a shape and then by clicking and dragging on the canvas you can select the size of the shape like with a tool. Once the shape is on the canvas you can go to the toolbox and start having fun with your shape.</p>
<div style="text-align:center;"><a href="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg"><img src="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.th.png" alt="video of karbon adding shapes" /></a></div>
<p>And of course, since the technology is shared, you add shapes to other KOffice application in the same way. To add a text in Krita ? Go to the add shape docker, drag and drop, and enjoy ! To add an image to your presentation in KPresenter ? Go to the add shape docker, drag and drop, and enjoy ! To add a smiley to KWord&#8230; you get it !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg" length="8340570" type="audio/ogg" />
<enclosure url="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg" length="8340570" type="audio/ogg" />
		</item>
		<item>
		<title>OpenGTL 0.9.5 and Darkroom 1.3</title>
		<link>http://blog.cberger.net/2008/09/02/opengtl-0-9-5-and-darkroom-1-3/</link>
		<comments>http://blog.cberger.net/2008/09/02/opengtl-0-9-5-and-darkroom-1-3/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 22:01:00 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OpenGTL]]></category>
		<category><![CDATA[CTL]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Shiva]]></category>

		<guid isPermaLink="false">http://cyrilleberger.wordpress.com/2008/09/02/opengtl-0-9-5-and-darkroom-1-3</guid>
		<description><![CDATA[Today I am making a joint release of OpenGTL and Darkroom, for the main reason that I have made quiet a lot of bug fixes in OpenGTL that are needed to get a fully working Darkroom.
OpenGTL 0.9.5
Among the bug fixes, there are two major changes in this release

Start using llvm optimization, there is one thing [...]]]></description>
			<content:encoded><![CDATA[<p>Today I am making a joint release of <a href="http://www.opengtl.org/">OpenGTL</a> and <a href="http://cberger.net/Programs/Darkroom.html">Darkroom</a>, for the main reason that I have made quiet a lot of bug fixes in OpenGTL that are needed to get a fully working Darkroom.</p>
<h2>OpenGTL 0.9.5</h2>
<p>Among the bug fixes, there are two major changes in this release
<ul>
<li>Start using llvm optimization, there is one thing that OpenGTL does very poorly, it is emitting assembly code, for instance, if you need to access three time a value, it will load it three time from memory&#8230; So enabling optimization give a significant boost in execution speed, unfortunately, I haven&#8217;t had the time to do some benchmarking, but I have noticed a siginificant improvement in applications (<a href="http://www.koffice.org/krita">Krita</a> and Darkroom) that use OpenGTL.</li>
<p> 
<li>The second change, which took me longer to do correctly, is that conversion are now handled by the parser and inserted in the AST tree, instead of being assumed to be possible in the parser and triggering asserts in the code generation (previously <code>MyStruct a; int b = 2 + a;</code> would have aborted the program instead of reporting an error to the user). The other benefit of that change is that it makes possible to automatically convert from Shiva&#8217;s pixel structure to a vector.</p>
<p>Before that change, the Blur kernel was looking like this:<br /><code><br />kernel Blur<br />{<br />  void evaluatePixel(image img, out pixel result)<br />  {<br />    pixel v1 = img.sampleNearest( result.coord );<br />    pixel v2 = img.sampleNearest( result.coord - 1.0 );<br />    pixel v3 = img.sampleNearest( result.coord + 1.0 );<br />    for(int i = 0; i &lt; 3; ++i)<br />    {<br />      result[i] = (v1[i] + v2[i] + v3[i]) / 3;<br />    }<br />  }<br />}</p>
<p></code></p>
<p>And now it is down to:<br /><code><br />kernel Blur<br />{<br />  void evaluatePixel(image img, out pixel result)<br />  {<br />    result = ( img.sampleNearest( result.coord ) + img.sampleNearest( result.coord - 1.0 ) + img.sampleNearest( result.coord + 1.0 ) ) / 3.0;<br />  }<br />}<br /></code> </li>
<p></ul>
<h2>Darkroom 1.3</h2>
<p>The two main changes (yes I like to limit myself to the number 2) of Darkroom are:
<ul> 
<li>This release introduce a <b>levels</b> widget, if you wonder how it is useful, I suggest reading <a href="http://kdedevelopers.org/node/3612">Unai Garro&#8217;s Levels adjust tutorial</a>.</p>
<p><a href="http://cyrille.diwi.org/images/kritablog/darkroom-screenshot3.png"><img src="http://cyrille.diwi.org/images/kritablog/darkroom-screenshot3.th.png" /></a></p>
</li>
<p> 
<li>Darkroom can now export to <b>jpeg</b>, when I first started Darkroom I considered that the only interesting export format would be Png, only to realize later that if one wants to export to a web gallery, jpeg is better suited </li>
<p> 
<li><b>Bookmarks</b> (yes that&#8217;s a third change, but I only remember about it when I did the screenshots for the levels widget), it&#8217;s now possible to save bookmarks of your favorite processing settings</li>
<p></ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2008/09/02/opengtl-0-9-5-and-darkroom-1-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
