Thursday, December 18, 2008

Symbian C++ sucks

Let's say you are developing on a Symbian phone. You are creating something more complex than a "Hello World" app so you need threads.

You create a RThread, and inside that thread you append things to a RArray (dynamic array) and then from the main thread you want to retrieve them.

NO! You can't! Accessing elements of a RArray from two different RThreads is not allow and it'll crash on you.

Ok you think, they just ported STL to Symbian, let's use a std::list, and NO! It'll crash even earlier.

So you are about to throw the phone across the window, but then you think, wait the also ported some POSIX things to Symbian, and try pthread and it suddenly works and you realize how simple things can be a nightmare when using weird tools/SDK, that's why Qt rocks it gives you almost all you want in a practical API, and when something is missing KDE adds the missing bit.

Sunday, December 14, 2008

Akademy-es 2008 videos

Akademy-es 2008 videos are starting to appear under the Akademy-es 2008 schedule page. GPUL people recorded all talks so with some time all the talks should have the video available.

Friday, December 12, 2008

Talks at Termens

This sunday Aleix and me are doing a talk about KDE in general and another about KDE-EDU at Termens. The talks start 11 and will be held at the Termens Lan Party, i'm not sure if people not registered at the party can listen to the talks, but if you want to come don't hesitate to contact the organizers and tell them you want to drop by and i don't think there will be any problem.

Sunday, November 30, 2008

Akademy-es 2008 recap

So it's already a week since Akademy-es 2008 ended. And i have to say it was a quite a success. We had around 60 attendants, 20 of them being from outside the region where the event was organized, maybe not highest total of attendants but for sure the highest number of "foreigner" attendants, attending from far shows commitment.

Some of the slides can be downloaded at the talks page and the videos will probably be available next week.

I want again to thank the local organizing team and our sponsors for making the event possible!

And now the photo, with few people because it was made late in the last day :(

Saturday, November 15, 2008

Don't buy a Labtec Standard Keyboard Plus

So my keyboard broke, the current one lasted for about two years, not bad.

As i'm quite special about the layout of keyboards i ended up buying a Labtec Standard Keyboard Plus, that is basically a cheap keyboard with the standard layout, but after having used it for less than 24 hours i've to say, DO NOT BUY it.

The keyboard has probably been tested by the slowest typer on earth, if i try to write KDE i always end up with KE or KD, the keyboard is unable to detect fast keypresses of SHIFT + D + E and that happens with a lot of combinations. What a shame, so let's see how i can explain that to the clerk of the shop to get my money back.

Thursday, October 30, 2008

Mozilla Camp Europe 2008

This past saturday i was at the Mozilla Camp Europe 2008 that was held in Citilab at Cornellà. I was invited by one of the local organizers and being so close (5 metro stations) i had no excuse not to drop by.

The event was about 200 people, not bad, but once you know the Mozilla Foundation paid for almost every trip it's not that impressive, if you get the trip paid, going to such an event is much easier ;-)

And that makes you think Mozilla has LOTS of money, they paid the trip to Barcelona for about 150 people and have about 150 employees around the world, and that with just a free browser as a product. That sounds like success to me.

And now to an overview of the talks:

Aza Raskin spoke about things they are doing in the labs like Weave, that duplicates sessions from your computer to your mobile so you can have a continous browsing experience and about Ubiquity that is krunner for Firefox.

David Ascher spoke about Thunderbird and how it's gaining calendaring support (can you say Kontact?) and how there are *only* 20 or 30 people working on it. I wonder what the kdepim module could do with so much man power :-D

Next Christian Sejersen spoke about Phenec, Mozilla's attempt at the mobile browser. I have to say i liked the description he did of the interface so installed it on the N810. Took like a minute to start up, so removed at the very moment.

Then it came the translators meeting, with around 40 people around, i wonder if we could do such a big translators meeting for KDE, it would be interesting.

Later a talk about leaks and testing. I came a bit late at the leak part but basically ended up with the impression that they know they have lots of leaks to the situation they've done a tool that tells them how much nodes of the DOM tree were leaked when loading some pages. The testing bit was totally out of place as it was "this is what we do at our company", little to do with Mozilla at all.

The Embedding Gecko talk, the speaker acknowledged embedding Gecko into an app is total mess since they don't have stable nor simple APIs so they are trying to create one given that KHTML/WebKit is hurting them.

Then another talk about Weave and we went to a nice dinner in a restaurant in the beach in Barcelona's Vila Olímpica.

You can see a few photos i made at

Friday, October 17, 2008

Aligned data when doing a new

Dear LazyWeb...

I know i can use the gcc aligned attribute to align a variable, but is it possible to do that with memory i get doing a new or a malloc?

That is, i have a class that needs to have one of it's members aligned, so i need to declare the member to be aligned but that is not enough, i need to align the object itself, how?

Akademy-es 2008

So as every year since 2006 the KDE Spanish community is gathering to discuss and enjoy in our own micro Akademy. This year we are doing it in A Coruña together with the GPUL dudes of Guademy fame. The dates are from November 21st to 23rd.

The registration site just opened so click here to register!

See you in A Coruña!

Saturday, October 11, 2008

Poppler 0.10.0 release

Available from

Differences with latest stable series (0.8.7) are quite interesting, you can see them all at the Poppler 0.9 Releases list of

As a summary it includes:
* Initial JavaScript support
* JPEG2000 decoder based on OpenJPEG
* Some crash fixes
* Better support of malformed files
* Some rendering improvements

So you should be all using Poppler 0.10 now to get a better PDF experience ;-)

Thursday, September 25, 2008

Looking for PDF with Japan2 fonts

The other day we realized poppler did not correctly supported Adobe-Japan2 fonts, so i went on and did some work that should make it work, but then i have no file to test, so if you could do

cd /
find -name "*pdf" -exec grep -H Japan2 {} \;


locate -0 .pdf | xargs -0 -n 1 grep -H Japan2

and send me ( a link to the pdf or the file pdf itself of all the files that match i could try to see if i did really fix it or not :-)

Thursday, September 18, 2008

PC, MAC, GUADALINEX and LINEX compatible

You can read on fellow Catalan KDE translator blog that his son got an English learning CD that states to be compatible with two of the spanish regional goverment distributions, interesting to see that on an "Oxford University Press" material.

It does not state "GNU/Linux" compatibility, but it seems a sign that we are getting there.

Photo of the CD

Wednesday, September 17, 2008

Poppler 0.9.1 (0.10 Beta 2) released

Available from

WARNING: This is a unstable release, it is actually 0.10 Beta 2 release, it should work like any release from the 0.8 branch, but do not blame us if it makes your chair break.

Differences with 0.9.0:
* Fix crash on some AESv2 encrypted files (bugs #13972, #16092, #17523)
* Improve parsing of broken files (bug #17568)

glib frontend:
* Minor improvements to the demo application

* pdftohtml: Generate the outline file in the same place of the other generated files (bug #17504)

Testing, patches and bug reports welcome.

Wednesday, September 10, 2008

Poppler 0.9.0 (0.10 Beta 1) released

Available from

WARNING: This is a unstable release, it is actually 0.10 Beta 1 release, it should work like any release from the 0.8 branch, but do not blame us if it makes LHC destroy the world.

Differences with 0.8 branch:
  * Initial JavaScript support
  * Annotation improvements
  * Improvements in the Arthur based renderer
  * Improvements in the Cairo based renderer
  * Added a JPEG2000 decoder based on OpenJPEG
  * Small fixes in ActualText implementation
  * Fix jpeg rendering when not using the libjpeg based decoder
  * Movie fixes
  * Do not get out of memory on documents that specify huge fonts
  * Emulate Adobe Reader on documents with duplicate keys in Dictionaries
  * Forms improvements  

 Qt4 frontend:
  * Annotation improvements
  * Forms improvements
  * Add the possibility of extracting embedded fonts
  * Initial Movie support
  * Documentation improvements
  * Small improvements in the PS exporter

 glib frontend:
  * Annotation improvements
  * Attachment fixes

  * updated man pages
  * Added -listenc to pdfinfo and pdftotext

Testing, patches and bug reports welcome.

Friday, September 05, 2008

Looking for aKademy-es organizers

Somehow i managed to forget to announce here we are looking for organizers for this year KDE Spain users and developers meeting. If you are interested have a look at We are accepting proposals up to september 15th.

Tuesday, September 02, 2008

Poppler 0.8.7

Just two fixes, but you really want it as fixes a regression in Form handling introduced in Poppler 0.8.6.

Got it while it's hot

Monday, September 01, 2008

Looking for people

Dear Lazyweb,
At the poppler project we are trying to relicense all our patches as GPLv2 or later so that in case that xpdf is ever relicensed to something newer than gpl2 only we are not stuck because of patches.
The problem is that we have problems getting answers from everyone, so i'm posting this so that in case you know some of the missing people in person or have IM adreses of them, you can bug them for me.
And now onto the names:
- Marco Pesenti Gritti
- Kjartan Maaras
- Timothy Lee
- Carl Worth
- Ed Catmur - specially problematic has his mail server bounces mails

Sunday, August 24, 2008

Sunday, August 17, 2008

Maemo scratchbox on amd64

So it seems the maemo scratchbox refuses to install on amd64, has anyone succeded in doinng so? Can i fool the script, or do i need to run a virtual machine with linux i386 inside and then run the scratchbox inside that?

Sunday, August 03, 2008

KDE 4.1 adoption seems high

KDE 4.1.0 was released this very same week and already 17% of Konqueror users of the last month to my blog are using Konqueror 4.1, seems quite high to me

Catalan Summer of Code

So Catalan government decided to run a project similar to Google's Summer of code program. That's cool, the bad news is that the law that grants the money was approved as of May 30th and i just discovered the site because i was doing some random browsing.

So if you can read catalan go to and start thinking what to do for Free Software.

Actually it seems like it's non-published on purpose so either:
a) It fails and politics can say "See Catalonia has no interest for Free Software" and they can go on paying Microsoft for doing sucky and patchy translations of their products to Catalan (yes they pay twice, license and translation)
b) Someone's son needs to make sure he is the chosen one, so the less publicity the better.

Saturday, August 02, 2008

Bug your distro to package OpenJPEG

The new poppler major version that will come out in a month or so, sports a new JPEG2000 decoder based in OpenJPEG that is better than the current one, for example, it renders Google scanned docs, that is good. Yay! The problem is that actually not much distros package OpenJPEG (i could only find Debian), so go to your distro bug tracker and bug them to include OpenJPEG.

And BTW:

Monday, July 28, 2008

Poppler 0.8.5 released

Available from

Changes since 0.8.4:
* Fix crash on PDF that define a page thumbnail but it's not a Stream
* Fix crash when Annots object is not of the desired type
* Fix crash when obtaining fonts in PDF where XObjects link themselves in loops
* Fix crash on documents with an IRT object
* Saving should work much better now
* Plug some memory leaks in Annotation handling

* pdftohtml: Don't crash on documents that specify an invalid named dest for a link
* pdftohtml: Make html output to keep all the spaces with
* pdftohtml: Improve a bit text layout
* pdftohtml: Make xml output valid xml

Testing, patches and bug reports welcome.

As a side note, one of the four crashes was a CVE while the other three where not, of course the four are as critic as the other.

Saturday, July 19, 2008

kpovmodeler looking for help

Andreas Zehender wrote
I'm looking for a skilled KDE developer with some knowledge in povray and 3D stuff, who will follow future KDE technology changes and keep kpovmodeler compilable and stable.!

So if you are interested mail him!

Thursday, July 03, 2008

Away from the internet

I'll be without internet connection until the 19th/20th of July so if you mail me, no i'm not ignoring you, i'm just cycling around sardinia :-)

If you need a quick answer for anything i might now, just write the appropiate mailing list for that question, i'm not that special i'm the only one that can asnwer your questions.

Sunday, June 29, 2008

On football, national feelings et al

Be warned, this is not a KDE nor Free Software post, if you don't want to read it, don't do it.

Be warned 2, this post is going to be controversial, please don't write saying "You idiot" or similar/worst things, i'm trying to be as respectful as i can when dumping my brain into this post.

So it seems Spain just won Eurocup 2008, lots of people in the streets making noise and using firecrackers/fireworks leftovers from Sant Joan that was just a few days ago.

The ones that know me well know that i don't have a big Spanish feeling, i feel more Catalan and European, but to tell the truth i have mixed feelings about this Spain win.

On the good side, the spanish team is formed by young talented players, that don't act like if they were gods and that do a rather good football. And most of that players feel sympatic and someone you might empathize with, so they winning feels good.

On the other side, looking at the flags spanish followers waved at the stadium you can find three types at very similar rates of use:
* Normal Spanish flag: Nothing to say
* Spanish flag with a bull: Mixed feelings again, the bull is a animal that i probably would say i like if you ask me, but that bull flag is most of the times used either to support bullfighting or to support a rancid view about Spain. And i disagree with both
* Franquist flag: Yes, you might wonder why around one third of people supporting Spain soccer team wave a flag that means you don't like democracy nor any kind of personal rights. I do wonder too.

And then you have people like someone in my neighborhood that play cara al sol, a semi-official franquist song, each time Spain wins.

And that makes me wish Germany did win.

Sadly, i have to agree with what a coworker says: "España es un pais de pandereta" (not sure if makes sense translated but that'd be "Spain is a country of tambourine")

Monday, June 23, 2008

Installed OpenSuse 11.0

Just installed OpenSuse 11.0 in the laptop. They've done an good job in overall putting KDE 4 in a distro but i had two important problems, so i'm going to blog about them so that if someone has the same problem can find it.

First, the installer misdetected my monitor resolution, then i told him the good one, but that ended up in a messed xorg.conf that applied zoom onto the desktop, i had the remove the Option "PreferredMode" line from the file.

Second, knetworkmanager won't connect to my wifi network, i had to update (using a wired connection) and then it worked like a charm.

Friday, June 13, 2008

KDE, plugins, GPL and closed source applications

Here i was today, thinking about this stuff (yeah you can say i'm weird).

In KDE all of our core libs are LGPL so if someone owns a Qt commercial license he can write closed source applications using kdelibs.

In KDE we also have this nice technology called KParts that let's you load plugins for lots of things on runtime. One of the KParts possibilities is to load a KPart for a specific mimetype.

Let's say the above closed source application uses KParts to preview things, and the user of that closed source application decides to preview a PDF.

In that moment, the KPart system will lookup and load the OkularPart that is able of viewing PDFs.

And there is where my mind broke, OkularPart is GPL and is being used by a closed source application.

"NO! VIOLATION!" Does my mind shout, but how can the closed source developer prevent it? All he did is use a LGPL library, so, maybe this is not a violation? And if it is, what are we doing in the KDE project to help the closed source developer be a good citizen? Maybe we should tell the kpart system what kind of Parts are acceptable?

Can someone highlight me?

Sunday, June 08, 2008

Dead monitor (again)

On wednesday, my Benq FP937s+ died again, it does not want to power on, the same thing that happened 15 months ago. Not good to have the most expensive Benq monitor at the time it was bought to die twice in less than 3 years :-(

Luckily i've still 3 months of guarantee so i'll be getting a new^Wrepaired one for free.

Saturday, June 07, 2008

Looking for PDF with JPX streams

I'm currently working on a patch for poppler that makes use of OpenJPEG to decode JPX streams instead of the xpdf inherited code because the inherited code does not work for some PDF and i think that there's no reason not to use an already existing solution if it works. And that's the question, i need more PDF with JPX streams to be sure my 170 lines of code + OpenJPEG can replace the 3200 of xpdf code without any regression.

So if you could

cd /
find -name "*pdf" -exec grep -H JPXDecode {} \;

or as said in the comments

locate -0 .pdf | xargs -0 -n 1 grep -H JPXDecode

and send me ( a link to the pdf or the file pdf itself of all the files that match.

Tuesday, June 03, 2008

Poppler 0.8.3 released

Available from

Changes since 0.8.2:
* Fix crash when reading some PDF with annotations
* Fix crash on PDF that reference Optional Content elements that don't exist
* Fix leaks on error conditions
* Do not limit CharCodeToUnicodeString to 8 characters
* Support for surrogates outside the BMP plane

Qt 3 frontend:
* Fix crash when reading PDF with password
* Fix leak when calling scanForFonts()

Qt 4 frontend:
* Fix the text() method

Splash renderer:
* Fix compilation with --enable-fixedpoint

Version 0.8.4 is scheduled for July 3rd

Testing, patches and bug reports welcome.

Tuesday, May 20, 2008

GDB hidden gem

Well at least it was hidden to me :D

Sometimes it's difficult to keep in view the surrounding lines of code when you are using GDB. list command helps but it's not that user friendly. So the other day a coworker told me about GDB TUI. You can enable it with Ctrl+X A and voilà you get the full listing of the code in a nice browseable view on the top :-)

And a screenie for your viewing pleasure:

Monday, May 12, 2008

KDE and strigi analyzers

If you are compiling kde strigi analyzers and installing them into a different path where strigi is installed on, you should be aware that strigi won't find your kde analyzers unless you instruct it to.

Let's say your strigi is in /usr, so it is looking for plugins in /usr/lib/strigi and your kde is in /home/kdesvn/installed/ so the KDE strigi analyzers are on /home/kdesvn/installed/lib/strigi.

You should define the environment variable STRIGI_PLUGIN_PATH to /home/kdesvn/installed/lib/strigi:/usr/lib/strigi

That in case you use strigi 0.5.9 that supports more than one path to be defined in STRIGI_PLUGIN_PATH, in case you are using 0.5.7 like Ubuntu users, you are out of luck as STRIGI_PLUGIN_PATH can only be one path, so you might want to define STRIGI_PLUGIN_PATH to /home/kdesvn/installed/lib/strigi and then go there and create symbolic links from all the ones in /usr/lib/strigi.

Anyway if you are using Ubuntu strigi your analyzers won't work because what seems to be a packaging bug.

Tuesday, May 06, 2008

KUbuntu KDE 3.5.9 kded lock fixed

So this is the great thing of Free Software, people care about their programs/distributions/wathever and we got a relatively quick fix for the ugly problem about kde locking on Kubuntu. Cheers to Jonathan for fixing it.

Saturday, April 26, 2008

Poppler 0.8.1 released

Available from

Changes since 0.8.0:
 * Do not call FT_Done_Face on a live cairo_font_face_t as it might cause crashes
 * Do not take into account Colorspace resource subdictionary for image XObjects
 * Downsample 16 bit per component images to 8 bit per component so they render

build system:
 * Link to pthread when the system needs it

 * Fix comparing against NULL instead against INVALID_HANDLE_VALUE when calling FindFirstFile

0.8.2 version is scheduled for May 26th

Testing, patches and bug reports welcome.

Thursday, April 24, 2008

Q_FOREACH is your friend

It's real, foreach makes writing loops much more convenient, but you have to know how to use it, see the following code:

#include <QList>
#include <QtDebug>

class Foo
   qDebug("Empty constructor");

  Foo(int aa, int bb, int cc) : a(aa), b(bb), c(cc)

  Foo(const Foo &f)
   a = f.a;
   b = f.b;
   c = f.c;
   qDebug("Copy constructor");

  int a, b, c;

int main(int /*argc*/, char ** /*argv*/)
 QList<Foo> list;
 list << Foo(1, 2, 3);
 list << Foo(4, 5, 6);
 list << Foo(7, 8, 9);
 list << Foo(10, 11, 12);
 list << Foo(13, 14, 15);

 foreach(Foo f, list)
  f.a = f.b = f.c = 0;

 foreach(Foo f, list)
  qDebug() << f.a << f.b << f.c;

There are two problems in the usage of foreach in this code.

The first problem is serious, it is trying to use foreach to modify the values of vector. The code compiles, but if you run it, you'll notice nothing was changed, why oh why?! may you ask. Because Foo f is a local variable to the foreach, so what you are doing is modifying a variable that exists in this very same line and nothing more.

The second problem is that you are constructing far much more Foo objects than needed, if you look at the output the copy constructor is called each time in the foreach, so the correct way for the debug line would be

 foreach(const Foo &f, list)
  qDebug() << f.a << f.b << f.c;

So remember, always that your foreach iterator is not a basic value like an int, double or pointer, use const &, it will be faster and will protect you against the try to use foreach to modify values problem, because

 foreach(const Foo &f, list)
  f.a = f.b = f.c = 0;

will not compile.

KUbuntu 8.04 released with rock solid 3.5.9 goodness...

...unless you try to automount USB devices, because that'll give you a deadlocked kded! HORRAY! It's quite interesting to see how a bug caused for a patch to use LUKS is not fixed or the patch reverted when such an used feature has such a big bug like deadlocking kded...

Tuesday, April 22, 2008

Spanish keyboard, dead ~ or not?

If you are using a Spanish keyboard layout, you may have noticed that in some Xorg update, AltGr+4 stopped typing a ~ and then you had to do AltGr+4+space or AltGr+4+AltGr+4 to get a ~.

This is because a non spanish user requested that change and Xorg people changed it.

I asked it to be reverted as there's no use for a dead ~ in Spanish as we don't have ã nor õ (we have ñ but we have a whole key for that) and the xkb maintainer asked me to run some kind of votation so that people decides what they like more.

So please, if you have an opinion on that issue go to and to get all the facts and write your opinion to

Dissappointed with SoC results

So, selected KDE SoC projects are out, and i have to say that personally i'm somewhat disappointed.

Personally i think we've done bad decisions in leaving proven KDE people with sensible projects out, while betting for too many non-proven newbies.

Besides that, the IRC meeting had, in my opinion, too much power over the final outcome, and people like me or David that could not attend it, saw how their mentored projects got dismissed when probably if we had been there that would not have happened so easily.

But well, that huge power of the IRC meeting is also probably due to Google's webpage sucking when you have to rate over 250 applications.

So life's hard, nothing to see here, keep moving.

Sunday, April 13, 2008

fglrx blocking Xorg on logout

If you are running Kubuntu Hardy with the flgrx drivers and logging out does not work due to the Xorg process locking up at 100% of CPU usage, you should thank Stefan Carslöv for tracking down the issue to /etc/ati/ being unproperly configured, you need to change




Wednesday, April 02, 2008

iParty X was awesone

This weekend i was with some other spanish KDE dudes (ereslibre, apol, ana`, nefertum and pgquiles) at the Aditel iParty X where we did some talks about KDE. It was a very nice experience being at a Free Software only party.

We celebrated ereslibre's anniversary with a KDE cake and a huge greeting :-)

You can see the photos at and the Qt4 Dance at

Wednesday, March 26, 2008

Poppler 0.8 Released

So we made it and released poppler 0.8. Congrats to everyone involved.

Changes since 0.7.3 include:
* Fix caching of members in the glib frontend causing issues with rendering
* Change glib public api to have a correct naming
* Some better error handling on corner cases
* Check the document stream is seekable when opening it
* Build fixes with autotools and with cmake
* Fix infinite recursion on some malformed documents when consulting the fonts
* Fix possible crash when asking for Movie contents

I've created a branch for 0.8 releases for bugfixes, i'll try to keep a monthly release schedule like we had with 0.6

If you want to create a directory holding branch 0.8 you can do:

git clone ssh:// poppler-0.8
cd poppler-0.8/
git checkout --track -b poppler-0.8 origin/poppler-0.8

if you don't have an account first line should be
git clone git:// poppler-0.8

Testing, patches and bug reports welcome.

Wednesday, March 19, 2008

Poppler 0.7.3 (0.8 RC2) released

This is the second and last release candidate of what will be Poppler 0.8

Changes include:
* Fix regression in Splash renderer
* Fix off-by-one write in Splash
* Plug some minor leaks in Optional Content code
* Improve error handling when creating a document in the glib frontend

So only one regression and some minor fine tuning. Seems we are on track for
releasing 0.8.0 next week

glib tests are known not to build using cmake, so if you are using cmake
disable glib tests for now.

Testing, patches and bug reports welcome.

Wednesday, March 12, 2008

Poppler 0.7.2 (0.8 RC1) released

So one week after the scheduled date, we have released Poppler 0.7.2.

This is the first release candidate of what will be Poppler 0.8

From now on no API nor ABI changes are allowed unless TOTALLY necessary. Only bugfixes until we release and branch 0.8

We will try to follow the planned schedule with a 1 week delay applied, that is:
* March 19 -> Poppler 0.7.3 (0.8 RC 2)
* March 26 -> Poppler 0.8.0

And now onto the changes

Major Changes:
* Improve font matching not forcing default values onto Fontconfig
* Add preliminary annotations support in the glib frontend
* Initial Movie support in the core
* Make GDK dependency optional in glib bindings

Minor Changes:
* Make the core able to read mime types of embedded files
* Qt4 API for accessing mime types of embedded files
* Handle correctly check state of optional content groups
regarding parents state
* Avoid setting singular CTM matrices on the Cairo backend
* Improved Qt4 API to get character position
* Qt4 api documentation improvements
* Qt4 minor stability fixes
* Proper lib64 Qt detection
* Fix build when compiling without cairo support

Testing, patches and bug reports welcome.

Tuesday, March 04, 2008

Konqueror 4.0.2 is more translated than firefox :-)

With the imminent release of KDE 4.0.2, Konqueror will not only have a bigger Acid3 score than Firefox, it will also include 50 languages (49 translations + original English) which equals 50 Firefox translations (44 official + 1 beta + 5 language packs) so if you belong to a language that still is not well translated into KDE join the amazing l10n team of KDE and help us surpass Firefox there too ;-)

Sunday, March 02, 2008

Spending my time writing useless software

So here i am, having a TODO list of over 70 items and having to finish my slides for a class i'll do on Saturday about KDE and what do i do? Port and improve my gopher ioslave to KDE4. *sigh*

Wednesday, February 27, 2008

Poppler 0.7.1 (0.8 Beta 2) released

Available from

This is the second release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version. Target is March 19 for 0.8.0

Major Changes:
* Really distribute CMake files as optional build tool
* Initial Optional Content support in core and in the Qt4 frontend

Minor Changes:
* Allow grouped checkboxes to be selected individually
* Qt4 demo program improvements
* Keep cairo and cairo_shape consistent
* Safety checks on Splash renderer so that it does not draw outside the
allocated bitmap
* Do not try to display bitmaps of invalid size
* Fix building with exceptions
* Improvements for building with MSVC and CMake

Testing, patches and bug reports welcome.

Saturday, February 23, 2008

PostScript is turing complete

Yes, PostScript is turing complete so next time you get a different output when printing with kpdf than the one you get when doing print preview in kpdf, specially if the print preview looks correct, blame whoever decided to use such a complex language for printers and also the drivers of your printer for not being able to understand it, do not blame kpdf.

Tuesday, February 19, 2008

Poppler 0.7.0 (0.8 Beta 1) released

Available from

This is the first release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version.

Besides lots of small improvements/bugfixes, the big things of this release are:
* Saving support
* Partial annotation support
* Forms improvements
* Add support for ActualText entries
* Display characters outside of unicode BMP with TT font
* CJK rendering fixes
* Implement Adobe Glyph Naming convention for fonts
* CMake as optional build tool
* Better font scaling for non embedded fonts
* Preserve PDF page labels when we output as postscript

I've created a tag for 0.7.0 but not a branch. We will keep developing on master for the short 0.7 series, so please, only commit bugfixes, frontend improvements and "preapproved core changes" like saving/forms/optionalContent changes.

Testing, patches and bug reports welcome.

Saturday, February 02, 2008

Okular and libspectre

Since KDE 4.0 okular has been using libspectre to render PS files. Due to libspectre being too new we decided to package it inside okular sources in the KDE 4.0.x tree. That has been corrected in trunk because everyone knows having other libraries inside your own source tree sucks, so for now on you need libspectre to get PS support on okular. The downside of that is that i could only find Debian and Pardus libspectre packages, so go to your distro and file a bug and tell them to package libspectre.

Intel publishes graphic cards specs

So now, besides paying people to work on drivers, specs are available to everyone else, cool!

Monday, January 28, 2008

Suggestions for improving a message

Today speaking with fellow KDE devels we realized some of them had the region set to the default C region, that basically means something like USA region but not completely, so not something you want when living not in USA.

Currently the name for that text entry for that is "Default", that may lead to problems as you might think the "Default" region is the correct, but it most probably is not. Some people suggested to switch to "Not Set" which is not completely accurate as it is set to C region, but will probably help "non-purist" users to set the correct Region. Other options go through "Default (Not Set)" or "Not Set (C Region)", etc.

So i'm asking the wider audience here, what would you think it would be the better wording?

To see it live go to systemsettings->Regional & Language, choose "Country/Region & Language" option on the left bar and "Country or Region: YourCurrentRegion (change...)" is what we are talking about.

Saturday, January 26, 2008

Poppler 0.6.4 released

Poppler 0.6.4 is available from

Changes since 0.6.3:
 Qt4 frontend:
  * Fix crash on links that point to a non existant page
  * Make Document::renderHints return the correct render hints
  * Fix infinite loop when parsing LineAnnotation

  * Fix crash in the Splash renderer when T3 fonts are badly defined
  * Draw underlined Links correctly

  * Fix two use after free bugs in

 build system:
  * Fix build on mingw32

  * Distribute the glade file of pdf-inspector

Friday, January 18, 2008

ktank project seeking for developers

KTank project, formed by DrIDK and Ikit, two new french KDE developers that can be often found on #kdegames, aims to create a nice Tank vs Tank game for KDE.
They already have some nice 2D openGL engine

But of course as any other project out there they need more [wo]manpower, specially they are looking for someone that can create nice sounds and songs (rockets have to sound BIG) and also someone with some GGZ knowledge for the multiplayer side, so if you want to be involved in a cool KDE game write to istdasklar free fr or drop by the IRC kdegames channel.

Tuesday, January 08, 2008

KDE 4.0.0 dinner in Barcelona

If you are from Barcelona and want to come to the dinner we organize for Saturday 12 night with KDE programmers, translators and supporters, drop me a mail at before Friday night, everyone is welcome!

Thursday, January 03, 2008

libspectre 0.2.0 now available

A new libspectre release is now available from

That means more work for when KDE 4.1 branch opens, damn!

Changes since libspectre 0.1.0

API additions:

- Rendering unstructured documents: it's a bit confusing calling
get_page for a document with no pages. The following functions has
been added for rendering unstructured documents:

* spectre_document_render
* spectre_document_render_full
* spectre_document_get_page_size

- Tile rendering: spectre_page_render_slice has been added to allow
rendering rectangles of the page. (Bug #13754)

API changes:

- spectre_render_context_set_page_size determines the size of the
output image, but it doesn't affect the scale factor anymore.

- spectre_render_context_[set|get]_scale now require the scale factor for
both the X and Y dimensions.