Time flies when you're in good company, i planned to blog every day and now i realize we're on day 4 already.
Well, here comes some of the things i've been doing
* Participated in a few discussions about "the KDE SDK" Aleix seems very promising to recruit new developers :) Let's see if I can convince Aleix to blog about it
* KGeography port to KF5 started by David Gil is now complete.
* Started and finished Blinken port to KF5
* Made some patches for some frameworks while porting KGeography
Some of the cool things I've seen:
* kdenlive cleaning up their code to ease maintaince
* GCompris, a nice educational tool for children
* The KF5 Book is shaping up nicely
* Lots of KF5 porting and refining everywhere
Let's keep rolling!
A blog about random things and sometimes about my work translating and developing KDE and anything
Tuesday, August 12, 2014
Saturday, August 09, 2014
KDE Randa Meetings 2014 Day 1
I wasn't planning on attending KDE Randa Meetings 2014 but last Wednesday I decided to, so bought some not so cheap plane and train tickets (don't worry, I payed from my own pocket) and here I am surrounded by awesome KDE hackers in the middle of the Swiss Alps.
I want to thank the more than 400 people that helped us fund KDE Randa Meetings 2014, you are awesome and directly responsible of improvements that are to come to millions of users in the world.
And remember we still need money to fund more sprints and stuff, so head over to our donations page and help us improve the world!
I want to thank the more than 400 people that helped us fund KDE Randa Meetings 2014, you are awesome and directly responsible of improvements that are to come to millions of users in the world.
And remember we still need money to fund more sprints and stuff, so head over to our donations page and help us improve the world!
Etiquetes de comentaris:
donations,
fundraising,
kde,
randa
Friday, August 08, 2014
Help the KDE promo team do their work
We KDE developers have been working on the KDE Applications 4.14 release for the past four months, we've implemented features and important bugfixes. Now the release is near, and we have to write release notes so that our users get the message.
The thing about writing release notes is that you can't write about stuff you don't know, and KDE Applications is biiiiiiiiig so it's impossible for a small group of promo people to know all that happened to it in the last 4 months.
This means *you* developers have to help the promo team write the promo highlighting the most important changes you did to your app and writing them at https://notes.kde.org/p/release_4.14_kde-devel_notes so they can write a more distilled and promo-like text.
Please help them help you.
The thing about writing release notes is that you can't write about stuff you don't know, and KDE Applications is biiiiiiiiig so it's impossible for a small group of promo people to know all that happened to it in the last 4 months.
This means *you* developers have to help the promo team write the promo highlighting the most important changes you did to your app and writing them at https://notes.kde.org/p/release_4.14_kde-devel_notes so they can write a more distilled and promo-like text.
Please help them help you.
Tuesday, July 29, 2014
Logging in into Picasa 3.9 under Linux
A few years ago I showed my father Picasa under Linux, he liked it and started to use it to upload his photos, and has been using it for almost 6 years, even Google discontinued Picasa for Linux at version 3.0 (Picasa is at 3.9 now).
Unfortunately a few weeks ago seems Google decided to kill support for old APIs in the server side and Picasa 3.0 for Linux was giving back an error when trying to upload an image ("Could not find POST url" or similar). I suggested to wait to see if they would come back, but it seems they haven't and so i've had to fix it for him.
Since he's heavily invested in Picasa I've had to install Picasa for windows under wine to make it work. It has not been trivial to get to work so I'll share it here for others that committed the error of trusting privative software and services.
The story is this: Installing picasa 3.9 for windows under wine is pretty easy (next, next, next). The problem is once you are running it, being able to log in. First problem is that the webview using for login doesn't even show. Most of the interwebs suggest installing ie8 using winetricks to solve that and it indeed solves the problem of the webview not showing, but still i can't log in (interestingly the webview will tell you if you wrote the password wrong).
At this point i was stuck for a few hours, even found some dude that claimed he had installed Google Chrome Frame for Internet Explorer and that had fixed for him. But not for me.
After a few hours, I stopped trusting the internet and started to think. I have a windows installation laying around, and i can log in from there, and once logged in Picasa does not ask for the password again, so it must be storing something no?
So I made a copy of the Program Files folder and compared it after loggin in, folders where exactly the same. So it was not stored there, which makes sense since log in is per user not per machine. Next i tried in that weird Personal Folder (Windows $HOME) but could not find any change either. Last chance was the registry, i used http://www.nirsoft.net/utils/reg_file_from_application.html and saw that when logging in, Picasa writes a few entries in HKEY_CURRENT_USER\Software\Google\Picasa\Picasa2\Preferences namely GoogleOAuth, GoogleOAuthEmail, GoogleOAuthServices and GoogleOAuthVersion, so I copied these over to the wine installation (with "wine regedit") and now my father can run Picasa just fine again.
Lessons learned:
* Non Free Software will eventually come back and hit you, if possible don't use it for stuff that is critical to you
* Think about your problem, sometimes is easier than just googling random instructions from the internet.
Unfortunately a few weeks ago seems Google decided to kill support for old APIs in the server side and Picasa 3.0 for Linux was giving back an error when trying to upload an image ("Could not find POST url" or similar). I suggested to wait to see if they would come back, but it seems they haven't and so i've had to fix it for him.
Since he's heavily invested in Picasa I've had to install Picasa for windows under wine to make it work. It has not been trivial to get to work so I'll share it here for others that committed the error of trusting privative software and services.
The story is this: Installing picasa 3.9 for windows under wine is pretty easy (next, next, next). The problem is once you are running it, being able to log in. First problem is that the webview using for login doesn't even show. Most of the interwebs suggest installing ie8 using winetricks to solve that and it indeed solves the problem of the webview not showing, but still i can't log in (interestingly the webview will tell you if you wrote the password wrong).
At this point i was stuck for a few hours, even found some dude that claimed he had installed Google Chrome Frame for Internet Explorer and that had fixed for him. But not for me.
After a few hours, I stopped trusting the internet and started to think. I have a windows installation laying around, and i can log in from there, and once logged in Picasa does not ask for the password again, so it must be storing something no?
So I made a copy of the Program Files folder and compared it after loggin in, folders where exactly the same. So it was not stored there, which makes sense since log in is per user not per machine. Next i tried in that weird Personal Folder (Windows $HOME) but could not find any change either. Last chance was the registry, i used http://www.nirsoft.net/utils/reg_file_from_application.html and saw that when logging in, Picasa writes a few entries in HKEY_CURRENT_USER\Software\Google\Picasa\Picasa2\Preferences namely GoogleOAuth, GoogleOAuthEmail, GoogleOAuthServices and GoogleOAuthVersion, so I copied these over to the wine installation (with "wine regedit") and now my father can run Picasa just fine again.
Lessons learned:
* Non Free Software will eventually come back and hit you, if possible don't use it for stuff that is critical to you
* Think about your problem, sometimes is easier than just googling random instructions from the internet.
Etiquetes de comentaris:
free software,
picasa
Sunday, July 20, 2014
My way to develop with git in KDE repos
From time to time there is the discussion of which workflow is better to develop with git, etc.
I'm not going to try to convince anyone on which workflow to use, i'm just going to explain what i do and explain why i think it's useful (and even more in the multi-developer KDE environment).
Let's picture the scenario we had a few days ago where there were lots of projects with three "live" branches, i.e. KDE/4.13, KDE/4.14 and master.
What is my way to develop?
* Bugfixes go to oldest "live" stable branch
* Features go to oldest "live" non frozen branch
* Branches are merged up
So let's say that I develop a new feature to support a whole new document format to Okular. Since that is a new feature it would go to the "oldest live non frozen branch", that in this case was master since KDE/4.13 and KDE/4.14 where already feature frozen. So I commit it to master and then "Branches are merged up" which in this case means nothing since there's no branch "up" from master.
Now let's say there's a crash bug when opening a file with three monitors. Since that is a bugfix, it'd go to the "oldest live stable branch", that in this case would be KDE/4.13. And then "Branches are merged up", so i would mean 4.13 into 4.14 and after that 4.14 into master. Ensuring that 4.14 and master also have the bugfix.
I think that this is a very useful way of developing using git branches for a lot of reasons, but the biggest of them is that for a random person it is easy to know if a "branch high in the hiearchy" has all the bugfixes or not, he just have to go to KDE/4.14 and to "git merge origin/KDE/4.13", if no change is brought over, it means that for sure all the bugfixes and code that was in the 4.13 release will be in the 4.14 release, otherwise it is hard to know.
So now that 4.13 is not going to be released anymore and 4.14 is a very young fork of master, i suggest that for every push you do to KDE/4.14 you go to the master branch and merge origin/KDE/4.14. This way you will have a master that is always fully merged with 4.14 and a third party person looking at your code (like the release manager) won't have to worry if it contains all the code or not.
Happy hacking!
And of course if you disagree with me, that's fine, not that i'm happy if my reasons did not convince you :)
I'm not going to try to convince anyone on which workflow to use, i'm just going to explain what i do and explain why i think it's useful (and even more in the multi-developer KDE environment).
Let's picture the scenario we had a few days ago where there were lots of projects with three "live" branches, i.e. KDE/4.13, KDE/4.14 and master.
What is my way to develop?
* Bugfixes go to oldest "live" stable branch
* Features go to oldest "live" non frozen branch
* Branches are merged up
So let's say that I develop a new feature to support a whole new document format to Okular. Since that is a new feature it would go to the "oldest live non frozen branch", that in this case was master since KDE/4.13 and KDE/4.14 where already feature frozen. So I commit it to master and then "Branches are merged up" which in this case means nothing since there's no branch "up" from master.
Now let's say there's a crash bug when opening a file with three monitors. Since that is a bugfix, it'd go to the "oldest live stable branch", that in this case would be KDE/4.13. And then "Branches are merged up", so i would mean 4.13 into 4.14 and after that 4.14 into master. Ensuring that 4.14 and master also have the bugfix.
I think that this is a very useful way of developing using git branches for a lot of reasons, but the biggest of them is that for a random person it is easy to know if a "branch high in the hiearchy" has all the bugfixes or not, he just have to go to KDE/4.14 and to "git merge origin/KDE/4.13", if no change is brought over, it means that for sure all the bugfixes and code that was in the 4.13 release will be in the 4.14 release, otherwise it is hard to know.
So now that 4.13 is not going to be released anymore and 4.14 is a very young fork of master, i suggest that for every push you do to KDE/4.14 you go to the master branch and merge origin/KDE/4.14. This way you will have a master that is always fully merged with 4.14 and a third party person looking at your code (like the release manager) won't have to worry if it contains all the code or not.
Happy hacking!
And of course if you disagree with me, that's fine, not that i'm happy if my reasons did not convince you :)
Wednesday, July 09, 2014
KDE/4.14 branch forked
KDE/4.14 branch forked, master is now open. Next applications release will be a kdelibs4 and KF5 mix!
http://mail.kde.org/pipermail/kde-cvs-announce/2014/000147.html
http://mail.kde.org/pipermail/kde-cvs-announce/2014/000147.html
Tuesday, May 20, 2014
KDE is a nice community, but we can do better!
Since a long time KDE.org has been referring to KDE as a team of people, a community, and not the software products we make.
I agree with this but sadly sometimes we struggle in being a nice community to live in.
There's a few things I think we can improve:
This doesn't happen all the time, but it happens more than I would like, so I'm just raising it up so that people think about it and try to improve :)
Of course I'm not saying I'm not guilty of the things I mentioned, but as the wise-man said: "Don't do what i do, do what i say"
I agree with this but sadly sometimes we struggle in being a nice community to live in.
There's a few things I think we can improve:
- Being better 'winners': We are a big community, at some point we have to take community-wide decisions, and it's impossible we will all agree on something. If you are part of the 'winning' group, be gentle with the people that 'lost', sure you think you are right, but they think the same and think the rest is doing a terrible mistake, so when you talk with them be polite and point out that the majority is going in the other direction, but that you still appreciate all the other stuff they do, etc. They already 'lost' so there's no need to put their head under your foot and do an evil laugh.
- Being better 'losers': We are a big community, at some point we have to take community-wide decisions, and it's impossible we will all agree on something. If you are part of the 'losing' group, be accepting that you 'lost' and try to carry on with the amazing work you do in other areas. Sure you are allowed to some venting, but it should be all within the limits of not trying to drag the discussion forever and not trying to destroy the project just because you disagree in one decision, so yes, you're allowed to some small complaining but understand that the majority decided different than what you think it's better, accept it and carry on, you'll be happier :)
- Assuming good by default: If a sentence can be read in two ways, do not assume it was said in the worse way, assume it was said in the good. Will help keeping the discussion sane and constructive.
- Not workarounding by default: If you find a bug or shortcoming in kdelibs, KF5, Qt or any other library, don't workaround it by default, please report it to the library people and try to work with them to fix it. Library code is not that hard and if you fix it in the source, everyone will benefit from the fix, not just the users of your software because you workarounded it and kept quiet about it to upper layers.
- Not caring enough for the global: We produce zillions of different projects of software. It's almost impossible to have a global overview of "what the bad bugs are", so if you know there is a bug that is bad, and it's affecting quite a bit of people, don't say "someone else will fix it" and ignore it, share it with the wider community and if the current maintainers are missing or overworked I'm pretty sure we can find someone to have a look and fix that bug that is making people sad.
This doesn't happen all the time, but it happens more than I would like, so I'm just raising it up so that people think about it and try to improve :)
Of course I'm not saying I'm not guilty of the things I mentioned, but as the wise-man said: "Don't do what i do, do what i say"
Wednesday, May 14, 2014
Web developer: Help KDE with a few hours of work
At KDE we're trying to get people to donate more (I hope I don't have to explain to this audience why), one of the ideas floating around is adding a small "impulse donate" button to kde.org similar to the one at http://www.videolan.org/ (only with euros and without a "why?" link for now)
I'm not a web devel by far (though have done my fair share of copy&pasting php, html and css for KDE and other personal projects) but I understand it should not be "that hard"™, it would be basically doing some modifications of the kde.org sources, the capacity framework and doing some reuse of the existing paypal donation page code.
Anyone up for the work? If so, please contact me!
I'm not a web devel by far (though have done my fair share of copy&pasting php, html and css for KDE and other personal projects) but I understand it should not be "that hard"™, it would be basically doing some modifications of the kde.org sources, the capacity framework and doing some reuse of the existing paypal donation page code.
Anyone up for the work? If so, please contact me!
Tuesday, May 06, 2014
Commit your approved Review Requests!
By looking at KDE git Review Board I realize we have over 4 pages of "ship it"-ed review requests that are still marked as not commited.
This is nuts!
I know some of them are still work in progress (yes, it sucks that reviewboard does not let you "unship it" when you find something wrong or when some newbie mistakenly gives himself a +1) but I am pretty sure at least 3 of those 4 pages are stuff that was coded, reviewed, approved and then no one committed it :/
So please go through your reviewboard changes and commit them, or ping the maintainer of the app if you don't have commit rights (and if the maintainer is unresponsive for some reason and it's obvious you had his "Ship it" just come to me and I'll commit it for you).
This is nuts!
I know some of them are still work in progress (yes, it sucks that reviewboard does not let you "unship it" when you find something wrong or when some newbie mistakenly gives himself a +1) but I am pretty sure at least 3 of those 4 pages are stuff that was coded, reviewed, approved and then no one committed it :/
So please go through your reviewboard changes and commit them, or ping the maintainer of the app if you don't have commit rights (and if the maintainer is unresponsive for some reason and it's obvious you had his "Ship it" just come to me and I'll commit it for you).
Wednesday, April 16, 2014
KDE Applications 4.13 released
Today we've released 4.13 which is probably the best KDE Applications release ever :)
It also marks the second release we do with a four months schedule instead of a six month one. I think we've ended up with a pretty nice cadence in which we are faster delivering features and bugfixes to users, which at the end is what is important, since the earlier people get the features the earlier they'll find the bugs (let's accept it, all software has bugs) and the earlier the bugs are found the earlier they can be fixed. So basically it's faster progress :)
We have also made good our promise to keep our tests passing, as you can see everything from this release is green (kde-workspace is not green but is not part of the 4.13 release). So kudos to all developers for being awesome in that regard too.
Let's all celebrate on this release but not forget we need to keep working full steam ahead on the releases of KDE Frameworks 5, Plasma 2014.06 and KDE Applications 4.14.
Finally I'd like to remind you that most of the people doing KDE development are volunteers and they invest their time in making this awesome software for you to use for free.
Lots of them even spend time to travel abroad to meet each other in Sprints were they do concentrated hacking for a few days, so if you appreciate the work they do in those Sprints please donate some money so we can actually help them travel and we can make more Sprints happen :-) http://www.kde.org/community/donations/
As anecdote, I had the pleasure of meeting the guys from the KTP Sprint this Friday and after dinner they went back to hacking instead of joining some of us for some beers. That is dedication!
It also marks the second release we do with a four months schedule instead of a six month one. I think we've ended up with a pretty nice cadence in which we are faster delivering features and bugfixes to users, which at the end is what is important, since the earlier people get the features the earlier they'll find the bugs (let's accept it, all software has bugs) and the earlier the bugs are found the earlier they can be fixed. So basically it's faster progress :)
We have also made good our promise to keep our tests passing, as you can see everything from this release is green (kde-workspace is not green but is not part of the 4.13 release). So kudos to all developers for being awesome in that regard too.
Let's all celebrate on this release but not forget we need to keep working full steam ahead on the releases of KDE Frameworks 5, Plasma 2014.06 and KDE Applications 4.14.
Finally I'd like to remind you that most of the people doing KDE development are volunteers and they invest their time in making this awesome software for you to use for free.
Lots of them even spend time to travel abroad to meet each other in Sprints were they do concentrated hacking for a few days, so if you appreciate the work they do in those Sprints please donate some money so we can actually help them travel and we can make more Sprints happen :-) http://www.kde.org/community/donations/
As anecdote, I had the pleasure of meeting the guys from the KTP Sprint this Friday and after dinner they went back to hacking instead of joining some of us for some beers. That is dedication!
Tuesday, March 25, 2014
ASAN and libraries (2nd part)
In ASAN and libraries I claimed you didn't need to compile a library with -fsanitize=address to get ASAN to work over it. Well it turns out that is only true in some cases and in some others like the one in this example you actually need it. So here comes a different example and the differences of using -fsanitize=address and not in the library code.
shared.cpp
#include "shared.h"
Foo::Foo()
{
int a[1];
a[2] = 3;
}
shared.h
class Foo
{
public:
Foo();
};
main.cpp
#include "shared.h"
int main(int, char **)
{
Foo f;
return 0;
}
Let's see what happens if we do
Nothing, no error detected.
But if we change to
Boom! We get the error :-) So my conclusion that ASAN wasn't needed on libraries was bad. You need it. Thanks Zecke for pointing me to my wrongness :-)
shared.cpp
#include "shared.h"
Foo::Foo()
{
int a[1];
a[2] = 3;
}
shared.h
class Foo
{
public:
Foo();
};
main.cpp
#include "shared.h"
int main(int, char **)
{
Foo f;
return 0;
}
Let's see what happens if we do
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4 export ASAN_OPTIONS=symbolize=1 g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 g++ -fno-omit-frame-pointer -fsanitize=address main.cpp -lshared -L . -g3 LD_LIBRARY_PATH=. ./a.outAs the suggested in the previous blog entry.
Nothing, no error detected.
But if we change to
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4
export ASAN_OPTIONS=symbolize=1
g++ -fno-omit-frame-pointer -fsanitize=address -Wl,--no-undefined \
-shared -o libshared.so shared.cpp -g3 -lasan -fPIC
g++ -fno-omit-frame-pointer -fsanitize=address main.cpp -lshared -L . -g3
LD_LIBRARY_PATH=. ./a.out
==13069== ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffe74fafa8
at pc 0x7fb0ef71f792 bp 0x7fffe74faf60 sp 0x7fffe74faf58
WRITE of size 4 at 0x7fffe74fafa8 thread T0
#0 0x7fb0ef71f791 in Foo::Foo() /home/tsdgeos/test/shared.cpp:6
#1 0x40074a in main /home/tsdgeos/test/main.cpp:5
#2 0x7fb0ef37aec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
#3 0x400638 in _start (/home/tsdgeos/test/a.out+0x400638)
Address 0x7fffe74fafa8 is located at offset 40 in frame <__base_ctor> of T0's stack:
Boom! We get the error :-) So my conclusion that ASAN wasn't needed on libraries was bad. You need it. Thanks Zecke for pointing me to my wrongness :-)
Saturday, March 22, 2014
ASAN and plugins
In ASAN and libraries Milian asked if the reasoning for libraries also applied for plugins. Since I had no idea, I had to try it.
Here comes the output
main.cpp
So it seems that "plugins are just libraries" applies here :)
Here comes the output
main.cpp
#include <QDebug>
#include <QLibrary>
int main(int, char **)
{
QLibrary l("libshared");
qDebug() << l.load();
return 0;
}
shared.cpp
#include "shared.h"
static Foo f;
Foo::Foo()
{
int *a = 0;
*a = 33;
}
shared.h
class Foo
{
public:
Foo();
};
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4
export ASAN_OPTIONS=symbolize=1
g++ -shared -o libshared.so shared.cpp -g3 -fPIC
g++ -fsanitize=address main.cpp -g3 -I /usr/include/qt4/QtCore/ \
-I /usr/include/qt4/ -lQtCore
And then we run it!
$ LD_LIBRARY_PATH=. ./a.out
ASAN:SIGSEGV
=================================================================
==7048== ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000
(pc 0x7f199c1326aa sp 0x7fff37e557c0 bp 0x7fff37e557c0 T0)
AddressSanitizer can not provide additional info.
#0 0x7f199c1326a9 in Foo::Foo() /home/tsdgeos/test/shared.cpp:8
#1 0x7f199c1326da in __static_initialization_and_destruction_0(int, int)
/home/tsdgeos/test/shared.cpp:3
#2 0x7f199c1326ef in _GLOBAL__sub_I_shared.cpp /home/tsdgeos/test/shared.cpp:9
#3 0x7f19a132b139 (/lib64/ld-linux-x86-64.so.2+0x10139)
#4 0x7f19a132b222 (/lib64/ld-linux-x86-64.so.2+0x10222)
#5 0x7f19a132fc6f (/lib64/ld-linux-x86-64.so.2+0x14c6f)
#6 0x7f19a132aff3 (/lib64/ld-linux-x86-64.so.2+0xfff3)
#7 0x7f19a132f3ba (/lib64/ld-linux-x86-64.so.2+0x143ba)
#8 0x7f199d1a602a (/lib/x86_64-linux-gnu/libdl.so.2+0x102a)
#9 0x7f19a132aff3 (/lib64/ld-linux-x86-64.so.2+0xfff3)
#10 0x7f199d1a662c (/lib/x86_64-linux-gnu/libdl.so.2+0x162c)
#11 0x7f199d1a60c0 (/lib/x86_64-linux-gnu/libdl.so.2+0x10c0)
#12 0x7f199e0156b7 (/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x16e6b7)
#13 0x7f199e010599 (/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x169599)
#14 0x4011c0 in main /home/tsdgeos/test/main.cpp:8
#15 0x7f199d5e8ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
#16 0x401078 in _start (/home/tsdgeos/test/a.out+0x401078)
SUMMARY: AddressSanitizer: SEGV /home/tsdgeos/test/shared.cpp:8 Foo::Foo()
==7048== ABORTING
So it seems that "plugins are just libraries" applies here :)
Thursday, March 20, 2014
ASAN and libraries
Yesterday we saw how to get line numbers in the stacktrace when using ASAN and gcc, today we're going to see how to deal with ASAN and libraries. For that we're going to use these three very simple files
shared.cpp
shared.h
main.cpp
We do the initial compilation:
Now we want to use ASAN to find out what's wrong, where do we add the -fsanitize=address -fno-omit-frame-pointer? Logic would say that we add it to both places, but actually it's only necessary to add it to the final binary, i.e
There you go, no need to add the -fsanitize=address flag to the library compilation :)
Now, until a few minutes ago I did not know this, I actually was adding -fsanitize=address to the library itself; that comes with a few problems that i'll explain how i solved (just for completeness, since the above example shows you don't need it)
My logic was that by looking at main.cpp i knew nothing could be wrong there so i decided i wanted sanitize the library, my first attempt was:
OK, so we are told to recompile with -fPIC, easy peasy
OK, so if ASAN symbols are missing, let's just compile libasan in
Next since I know nothing is wrong in main.cpp I don't need ASAN in there
But when run it segfaults :-/ And if you debug it you'll see a stack trace like
So something weird in ASAN thing is going on, let's compile -lasan in also
Same crash :-/
Ok, so then you think, well, let's just add the fsanitize in. And then it works, but as demonstrated a few lines ago, the whole thing of adding -fsanitize=address and -lasan to the library was unneeded since all that was required was just adding -fsanitize=address to the binary when it's compiled and that's it :)
shared.cpp
#include "shared.h"
Foo::Foo()
{
int *a = 0;
*a = 33;
}
shared.h
class Foo
{
public:
Foo();
};
main.cpp
#include "shared.h"
int main(int, char **)
{
Foo f;
return 0;
}
We do the initial compilation:
g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 g++ main.cpp -lshared -L . -g3 LD_LIBRARY_PATH=. ./a.outand it segfaults :)
Now we want to use ASAN to find out what's wrong, where do we add the -fsanitize=address -fno-omit-frame-pointer? Logic would say that we add it to both places, but actually it's only necessary to add it to the final binary, i.e
g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 g++ -fno-omit-frame-pointer -fsanitize=address main.cpp -lshared -L . -g3 LD_LIBRARY_PATH=. ./a.outand we get
==10226== ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000
(pc 0x7f497563f66a sp 0x7fff77cc4310 bp 0x7fff77cc4310 T0)
AddressSanitizer can not provide additional info.
#0 0x7f497563f669 in Foo::Foo() /home/tsdgeos/test/shared.cpp:6
#1 0x40074a in main /home/tsdgeos/test/main.cpp:5
#2 0x7f497529aec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
#3 0x400638 in _start (/home/tsdgeos/test/a.out+0x400638)
SUMMARY: AddressSanitizer: SEGV /home/tsdgeos/test/shared.cpp:6 Foo::Foo()
There you go, no need to add the -fsanitize=address flag to the library compilation :)
Now, until a few minutes ago I did not know this, I actually was adding -fsanitize=address to the library itself; that comes with a few problems that i'll explain how i solved (just for completeness, since the above example shows you don't need it)
My logic was that by looking at main.cpp i knew nothing could be wrong there so i decided i wanted sanitize the library, my first attempt was:
g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 \ -fno-omit-frame-pointer -fsanitize=addresswhich gives a linking error
/tmp/cc18Wen3.o: In function `Foo::Foo()': /home/tsdgeos/test/shared.cpp:6: undefined reference to `__asan_report_store4' /usr/bin/ld: /tmp/cc18Wen3.o: relocation R_X86_64_PC32 against undefined symbol `__asan_report_store4' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value
OK, so we are told to recompile with -fPIC, easy peasy
g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 \ -fno-omit-frame-pointer -fsanitize=address -fPICWhich still fails to link!
/tmp/ccNkpRZo.o: In function `Foo::Foo()': /home/tsdgeos/test/shared.cpp:6: undefined reference to `__asan_report_store4' /tmp/ccNkpRZo.o: In function `_GLOBAL__sub_I_00099_0_shared.cpp': /home/tsdgeos/test/shared.cpp:7: undefined reference to `__asan_init_v1' collect2: error: ld returned 1 exit status
OK, so if ASAN symbols are missing, let's just compile libasan in
g++ -Wl,--no-undefined -shared -o libshared.so shared.cpp -g3 \ -fno-omit-frame-pointer -fsanitize=address -fPIC -lasanLinks!
Next since I know nothing is wrong in main.cpp I don't need ASAN in there
g++ main.cpp -lshared -L . -g3Compiles!
But when run it segfaults :-/ And if you debug it you'll see a stack trace like
#0 0x0000000000000000 in ?? () #1 0x00007ffff4894bf1 in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.0 #2 0x00007ffff4894e32 in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.0 #3 0x00007ffff4895d9b in __asan_init_v1 () from /usr/lib/x86_64-linux-gnu/libasan.so.0 #4 0x00007ffff7bd8776 in _GLOBAL__sub_I_00099_0_shared.cpp(void) () at shared.cpp:7 #5 0x00007ffff7dea13a in call_init (l=, argc=argc@entry=1, argv=argv@entry=0x7fffffffde18, env=env@entry=0x7fffffffde28) at dl-init.c:78 #6 0x00007ffff7dea223 in call_init (env= , argv= , argc= , l= ) at dl-init.c:36 #7 _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffde18, env=0x7fffffffde28) at dl-init.c:126 #8 0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2 #9 0x0000000000000001 in ?? () #10 0x00007fffffffe1ca in ?? () #11 0x0000000000000000 in ?? ()
So something weird in ASAN thing is going on, let's compile -lasan in also
g++ main.cpp -lshared -L . -g3 -lasan
Same crash :-/
Ok, so then you think, well, let's just add the fsanitize in. And then it works, but as demonstrated a few lines ago, the whole thing of adding -fsanitize=address and -lasan to the library was unneeded since all that was required was just adding -fsanitize=address to the binary when it's compiled and that's it :)
Wednesday, March 19, 2014
ASAN and gcc: How to get line numbers in the stacktrace
ASAN or Address Sanitizer is a nice project by Google that is a memory error detector for C/C++. According to their web it finds:
Also it's much faster than valgrind :-) Unfortunately it's not as easy to use as valgrind since it requires a rebuild of your code.
The basic instructions to use ASAN are:
As a simple example let's see what happens when we run
The result:
In this case it's pretty obvious what's wrong with just looking at the code and ASAN is even telling us it is a bad write just after the 'a' object, but note that we are not getting the line number of where the error happens. You'll say, that's why you didn't use the -g switch! So let's see what do we get after compiling with
The result:
Same thing :-/
Here is where people may give up or think to switch to clang and try there, but since clang is sometimes more picky with the code (not bad per se) it may be a lot of work to get your code to compile under clang, if you keep digging you'll read some news about GCC not having a ASAN symbolizer [yet], but clang has one and you can still use it with GCC, so if you
The result:
And now we have line numbers :-)
- Use after free (dangling pointer dereference)
- buffer overflow
- Stack buffer overflow
- Global buffer overflow
- Use after return
- Initialization order bugs
Also it's much faster than valgrind :-) Unfortunately it's not as easy to use as valgrind since it requires a rebuild of your code.
The basic instructions to use ASAN are:
Use the -fsanitize=address switchtogether with the suggestion of
To get nicer stack traces in error messages add -fno-omit-frame-pointer.
As a simple example let's see what happens when we run
int main(int, char **)
{
int a[3];
a[3] = 4;
return 0;
}
compiled withg++ -fno-omit-frame-pointer -fsanitize=address main.cpp
The result:
==8403== ERROR: AddressSanitizer: stack-buffer-overflow
on address 0x7fffbe7c7d8c at pc 0x400779
bp 0x7fffbe7c7d40 sp 0x7fffbe7c7d38
WRITE of size 4 at 0x7fffbe7c7d8c thread T0
#0 0x400778 (/home/tsdgeos_work/test/a.out+0x400778)
#1 0x7f2f5cfa6ec4 (/lib/x86_64-linux-gnu/libc-2.19.so+0x21ec4)
#2 0x400638 (/home/tsdgeos_work/test/a.out+0x400638)
Address 0x7fffbe7c7d8c is located at offset 44 in frame of T0's stack:
This frame has 1 object(s):
[32, 44) 'a'
In this case it's pretty obvious what's wrong with just looking at the code and ASAN is even telling us it is a bad write just after the 'a' object, but note that we are not getting the line number of where the error happens. You'll say, that's why you didn't use the -g switch! So let's see what do we get after compiling with
g++ -g3 -fno-omit-frame-pointer -fsanitize=address main.cpp
The result:
==8467== ERROR: AddressSanitizer: stack-buffer-overflow
on address 0x7fff59ccaa2c at pc 0x400779
bp 0x7fff59cca9e0 sp 0x7fff59cca9d8
WRITE of size 4 at 0x7fff59ccaa2c thread T0
#0 0x400778 (/home/tsdgeos_work/test/a.out+0x400778)
#1 0x7f6f75601ec4 (/lib/x86_64-linux-gnu/libc-2.19.so+0x21ec4)
#2 0x400638 (/home/tsdgeos_work/test/a.out+0x400638)
Address 0x7fff59ccaa2c is located at offset 44 in frame of T0's stack:
This frame has 1 object(s):
[32, 44) 'a'
Same thing :-/
Here is where people may give up or think to switch to clang and try there, but since clang is sometimes more picky with the code (not bad per se) it may be a lot of work to get your code to compile under clang, if you keep digging you'll read some news about GCC not having a ASAN symbolizer [yet], but clang has one and you can still use it with GCC, so if you
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4 export ASAN_OPTIONS=symbolize=1and then run the binary again (the one we just compiled with -g3)
The result:
WRITE of size 4 at 0x7fff4f5f0ebc thread T0
#0 0x400778 in main /home/tsdgeos_work/test/main.cpp:5
#1 0x7f3d4dce2ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
#2 0x400638 in _start (/home/tsdgeos_work/test/a.out+0x400638)
Address 0x7fff4f5f0ebc is located at offset 44 in frame of T0's stack:
This frame has 1 object(s):
[32, 44) 'a'
And now we have line numbers :-)
Akademy-es 2014 in Málaga
This year, the 9th Akademy-es will take place in Málaga from 16 to 18 May.
Málaga is the city that hosted Akademy 2005 and were a few few crazy people met and thought about doing Akademy-es 2006 next year in Barcelona, and after that, 9 years in a row. Not bad :-)
I'm definitely going and you should if you're interested in KDE too. And of course you should think about submitting a talk :-)
Finally if you have a company you may want to join and sponsor the event, have a look at the sponsor page.
Registration is still not open but will be in a few days/weeks.
Hope to see you there :-)
Málaga is the city that hosted Akademy 2005 and were a few few crazy people met and thought about doing Akademy-es 2006 next year in Barcelona, and after that, 9 years in a row. Not bad :-)
I'm definitely going and you should if you're interested in KDE too. And of course you should think about submitting a talk :-)
Finally if you have a company you may want to join and sponsor the event, have a look at the sponsor page.
Registration is still not open but will be in a few days/weeks.
Hope to see you there :-)
Saturday, January 25, 2014
How to strike out text in Okular
We just had a user report a wish item in bugs.kde.org asking for Okular to come with a text strike-out annotation by default. I just closed the bug saying that he can create his own annotations by Settings -> Configure Okular -> Annotations -> Add ->
Text Markup -> Strike Out -> Set Color -> OK

Of course we could still ship it, but if you have a look at that "Add Annotations" dialogs there's lots of lots of possibilities so people should just create the ones they see the need for instead of us shipping lots that may not be that useful.
Text Markup -> Strike Out -> Set Color -> OK

Of course we could still ship it, but if you have a look at that "Add Annotations" dialogs there's lots of lots of possibilities so people should just create the ones they see the need for instead of us shipping lots that may not be that useful.
Etiquetes de comentaris:
annotations,
okular,
strikeout
Thursday, January 09, 2014
KDE Applications and Platform 4.13 Schedule
You can find the release schedule for KDE Applications and Platform 4.13 at http://techbase.kde.org/Schedules/KDE4/4.13_Release_Schedule
This schedule consolidates the changes made for 4.12 since it seems to have worked well.
Also remember that 4.13 will be applications and kdelibs only; KDE Workspace (aka Plasma) will be getting 4.11.x LTS releases until August 2015
This schedule consolidates the changes made for 4.12 since it seems to have worked well.
Also remember that 4.13 will be applications and kdelibs only; KDE Workspace (aka Plasma) will be getting 4.11.x LTS releases until August 2015
Etiquetes de comentaris:
4.13,
kde,
release schedule
Tuesday, October 29, 2013
Changes in Okular printing for 4.12
Since today, Okular master (i.e. 4.12) respects the margins specified in the printer setup dialog (which default to the hard-margins of the printer). This means that I'll be able to print in my printer without getting cropped stuff; yes, my printer has a default hard-dead margin of 1.5 cm at the bottom and usually files contain stuff in that area.
If your document does already contains the margins, you can get the old behaviour by simply setting the margins to 0. Also hopefully you don't have a printer that is as bad as mine and your default margins are just 0,0,0,0
If your document does already contains the margins, you can get the old behaviour by simply setting the margins to 0. Also hopefully you don't have a printer that is as bad as mine and your default margins are just 0,0,0,0
Sunday, October 27, 2013
KDEEdu sprint is over for me
I'm sitting at the Coruña airport waiting for my plane for Barcelona to leave. This means my three days at the KDEEdu Sprint 2013 are gone. It's been good to meet new people like Punit, get to know better people I had already met like Samikshan and meet old co-sprints like Sebastian and Andreas, and of course re-meeting my fellow KDE España friends Jose, Aleix and Santa. Sadly Oindrila could not make it due to visa problems :-(
In these three days we'd had time to talk about KDE Edu apps future on mobile, KF5 ports, libkdeedu splitting and lots of other stuff.
I tried to port Blinken over the BB10. Got stuck trying to compile stuff using cmake until I found KDE's own Laszlo Papp guide. Unfortunately other stuff got in the middle and I could not finish the port, but now I'm closer and if I can find a couple of free afternoons will probably have something in the BB10 store.
Unrelated to KDEEdu i finally got time to create a review request for a patch i worked a few weeks ago that will hopefully workaround one of the most hated crashes people are having in the KDE Plasma Desktop, let's see if that helps.
Finally, I'd like to thank GPUL and KDE e.V. for organizing and sponsoring the event. And specially thanks to Jose for his mad organizing skills, you're awesome :-)
In these three days we'd had time to talk about KDE Edu apps future on mobile, KF5 ports, libkdeedu splitting and lots of other stuff.
I tried to port Blinken over the BB10. Got stuck trying to compile stuff using cmake until I found KDE's own Laszlo Papp guide. Unfortunately other stuff got in the middle and I could not finish the port, but now I'm closer and if I can find a couple of free afternoons will probably have something in the BB10 store.
Unrelated to KDEEdu i finally got time to create a review request for a patch i worked a few weeks ago that will hopefully workaround one of the most hated crashes people are having in the KDE Plasma Desktop, let's see if that helps.
Finally, I'd like to thank GPUL and KDE e.V. for organizing and sponsoring the event. And specially thanks to Jose for his mad organizing skills, you're awesome :-)
KReversi master is now Qt Quick based!
Denis Kuplyakov worked on porting KReversi to QtQuick during this Google Summer of Code and his code has now been merged to master for the upcoming 4.12 release. The kdegames team has given the new code as much testing as we can, but it is a big re-work so it'd be great if you can give it a try and report any regression you may find compared to the old version.
Wednesday, October 02, 2013
4 weeks until KDE SC 4.12 Feature Freeze
Just a quick heads up that the KDE SC 4.12 Feature Freeze is now 4 weeks away.
Full schedule at http://techbase.kde.org/Schedules/KDE4/4.12_Release_Schedule.
Full schedule at http://techbase.kde.org/Schedules/KDE4/4.12_Release_Schedule.
Saturday, September 21, 2013
Dine with the KDE e.V. board
Next weekend (September 28-29) the KDE e.V. board is going to have an in-person board meeting in Berlin.
As part of the board meeting we'll have food (geeks need to eat too) and since we like talking to other people besides ourselves we’d like to invite KDE people to come to the board dinner on Saturday at 19:00 (location still undecided).
We can talk about all things KDE, KDE e.V., Free Software and maybe even have a good time ;-). Please let me know as soon as possible if you’re coming as space is limited.
As part of the board meeting we'll have food (geeks need to eat too) and since we like talking to other people besides ourselves we’d like to invite KDE people to come to the board dinner on Saturday at 19:00 (location still undecided).
We can talk about all things KDE, KDE e.V., Free Software and maybe even have a good time ;-). Please let me know as soon as possible if you’re coming as space is limited.
Thursday, August 29, 2013
KNetwalk ported to QtQuick
Ashwin Rajeev has just commited his port of KNetwalk to use QtQuick to the master branch of the knetwalk git repository.
Ideally you should not notice any difference, but it would be awesome if you guys could give it a try and report to either Ashwin or to the kde-games-devel mailing list (if you do it here I'll try to pass the info, but I'm going to be off the web for a while so it may get lost when I come back and there's a ton of emails to read :D)
Ideally you should not notice any difference, but it would be awesome if you guys could give it a try and report to either Ashwin or to the kde-games-devel mailing list (if you do it here I'll try to pass the info, but I'm going to be off the web for a while so it may get lost when I come back and there's a ton of emails to read :D)
Tuesday, August 20, 2013
KDE SC 4.12 Release Schedule
After discussions at kde-core-devel, Akademy and release-team you can find the release schedule for KDE SC 4.12 at http://techbase.kde.org/Schedules/KDE4/4.12_Release_Schedule
The main change agreed by Release Team is that we have more simplified freezes (basically just one) and our betas/RC happen a bit more often (every week) so we have testers trying more up to date code. This also lead to a somewhat shorter cycle with a release mid December 2013.
The main change agreed by Release Team is that we have more simplified freezes (basically just one) and our betas/RC happen a bit more often (every week) so we have testers trying more up to date code. This also lead to a somewhat shorter cycle with a release mid December 2013.
Etiquetes de comentaris:
4.12,
kde,
release schedule
Sunday, August 04, 2013
Fixed: My Z10 automagically shutsdown at a random battery number (mine was around 33%)
Last week I hard a weird issue in which my Z10 was shutting down when the battery was around 33%, I thought the battery had gone wrong, but it seems the problem lies somewhere in the OS that gets confused, in my case i think it was because i pulled/put different batteries in a very short time span.
After some digging I found http://forums.crackberry.com/blackberry-z10-f254/blackberry-z10-shuts-down-30-battery-807279/index6.html#post8755531 that helped me make the OS "reset" according to battery handling.
Basically it boilds down to "make sure you really really run out of battery and it'll fix itself"
Adding here in case someone has the same issue.
After some digging I found http://forums.crackberry.com/blackberry-z10-f254/blackberry-z10-shuts-down-30-battery-807279/index6.html#post8755531 that helped me make the OS "reset" according to battery handling.
Basically it boilds down to "make sure you really really run out of battery and it'll fix itself"
Adding here in case someone has the same issue.
Tuesday, July 30, 2013
KDE 4.11 releases are around the corner. Let's cellebrate!
At KDE España we have started the ball rolling to cellebrate the release for 4.11 by starting the organization of the Barcelona event. Right now it feels pretty lonely at http://community.kde.org/Promo/Events/Release_Parties/4.11.
If you are interested in attending the Barcelona event don't hesitate voting at the doodle to decide the day!
If you are interested in attending the Barcelona event don't hesitate voting at the doodle to decide the day!
Etiquetes de comentaris:
barcelona,
kde,
release party
Saturday, July 06, 2013
Okular: "fit best" zoom. Yes? No? How?
The Okular team is looking for your input regarding a potential "Fit Best" feature for zoom. Please visit http://forum.kde.org/viewtopic.php?f=251&t=111777&sid=343334fa86e550d294793cf6a56e6ce5 and give us your opinion!
Sunday, June 30, 2013
I'm going to Bilbao!
I will be in Bilbao from July 11th to 19th. I am going to be attending lots of different events

The first of the events is the Akademy-es, Akademy little sister that we've been celebrating since 2006, this year we have modified of usual schedule of making it happen in a weekend to accommodate for Akademy schedule, so it will run from Thursday to Friday. In Akademy-es I'll be talking of how Qt5 and KDE projects fit together and also about QML, QtQuick and the other declarative-y things you can find in Qt world.

Obviously I'll also be at Akademy, I've been attending each year since 2005 so I couldn't miss it :-) I'm looking forward to lots of the talks there, but specially the keynote by Kevin Ottens :-) I will be running for a position in the KDE e.V. board as announced in the kde-community mailing list a few weeks ago, wish me luck!
Qt Contributor Summit
On Monday and Tuesday we will have the Qt Contributor Summit running in parallel with Akademy. I will be there with my Canonical-hat making sure everything QML-y we need for the Ubuntu software we are writing in Qt is fine and dandy :-)

And incidentally from Thursday to Saturday there's Green Day, Depenche Mode, Kings of Leon, Biffy Clyro and a lot more of bands playing in Bilbao, so I could not miss them!
Rock on Bilbao!
The first of the events is the Akademy-es, Akademy little sister that we've been celebrating since 2006, this year we have modified of usual schedule of making it happen in a weekend to accommodate for Akademy schedule, so it will run from Thursday to Friday. In Akademy-es I'll be talking of how Qt5 and KDE projects fit together and also about QML, QtQuick and the other declarative-y things you can find in Qt world.
Obviously I'll also be at Akademy, I've been attending each year since 2005 so I couldn't miss it :-) I'm looking forward to lots of the talks there, but specially the keynote by Kevin Ottens :-) I will be running for a position in the KDE e.V. board as announced in the kde-community mailing list a few weeks ago, wish me luck!
Qt Contributor Summit
On Monday and Tuesday we will have the Qt Contributor Summit running in parallel with Akademy. I will be there with my Canonical-hat making sure everything QML-y we need for the Ubuntu software we are writing in Qt is fine and dandy :-)
And incidentally from Thursday to Saturday there's Green Day, Depenche Mode, Kings of Leon, Biffy Clyro and a lot more of bands playing in Bilbao, so I could not miss them!
Rock on Bilbao!
Etiquetes de comentaris:
akademy,
akademy-es,
bilbao,
qtcs
Tuesday, June 11, 2013
builds.kde.org tests report for 4.11 release - 11 June 2013
We are 2 days away from Beta 1 tag:
* kate has 1 test that fails
* kcalc has 1 test that fails
* kde-baseapps has 1 test that fails
* kde-runtime has 1 test that fails
* kdepim has 5 tests that fail
* kdepim-runtime has 1 test that fail
* kdepimlibs has 7 tests that fail
* knetwalk has 1 test that fails
* kopete has 2 tests that fail
* ksystemlog has 1 test that fails
* marble has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
Please fix your tests.
* kate has 1 test that fails
* kcalc has 1 test that fails
* kde-baseapps has 1 test that fails
* kde-runtime has 1 test that fails
* kdepim has 5 tests that fail
* kdepim-runtime has 1 test that fail
* kdepimlibs has 7 tests that fail
* knetwalk has 1 test that fails
* kopete has 2 tests that fail
* ksystemlog has 1 test that fails
* marble has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
Please fix your tests.
Tuesday, May 28, 2013
Akademy-es 2013 schedule ready!
As you probably know we are having Akademy-es 2013 just a few days earlier than Akademy in Bilbao, from 11th to 12th of July.
We have just made the schedule available. If you understand Spanish you may want to come to Bilbao a few days earlier to enjoy our talks :-)
We have just made the schedule available. If you understand Spanish you may want to come to Bilbao a few days earlier to enjoy our talks :-)
Tuesday, May 21, 2013
Okular welcomes configurable review tools
I have just merged to master a branch by Fabio D'Urso that lets you configure the review tools that appear in the review bar.

This way you can decide that by default you want your highlighter to be green instead of yellow. Or even have two highlighters in the review bar.
Please test and enjoy it :-)

This way you can decide that by default you want your highlighter to be green instead of yellow. Or even have two highlighters in the review bar.
Please test and enjoy it :-)
Wednesday, May 15, 2013
4.11 Soft Feature Freeze in 7 days!
Remember the 4.11 Soft Feature Freeze is in 7 days so try to get your features ready for merging as soon as possible. If you add your features to the Feature Plan you get two weeks more until Hard Feature Freeze. Even if you don't need those two weeks you should add them anyway since it really helps other teams like promo, Q/A, etc. to have the features listed in one place.
Tuesday, May 07, 2013
gs 9.07 can't render ps files on comma-locales [fixed]
Okular and other libspectre based PostScript viewers can't render some ps files when using a locale that uses , instead of . for decimals.
This happens because of a bug in ghostscript 9.07 that has now been fixed.
I'm not a huge fan of distro-patches myself, but in this case it may make sense to have one, so feel free to ping your distribution if you are a PostScript user.
This happens because of a bug in ghostscript 9.07 that has now been fixed.
I'm not a huge fan of distro-patches myself, but in this case it may make sense to have one, so feel free to ping your distribution if you are a PostScript user.
Etiquetes de comentaris:
ghostscript,
libspectre,
okular,
postscript
Saturday, April 20, 2013
Specifications: Correct when writing, Gentle when reading
I got a BlackBerry Z10 a few days ago.
I had not tried to use it as my main phone until yesterday since it needed a MicroSIM and i had a regular one.
Yesterday I got myself a MicroSIM and put it on the device to find out I could not access the 3G data network.
No problem, my operator has a website where you put the make and model of the phone and they send a SMS to the phone that autoconfigures it.
I went there and was surprised to see there was no BlackBerry listed at all.
OK, time to write the APN settings by hand, so I went to the Settings and started to look where to write the APN details, found them and realized they were disabled(greyed out) so I could not write the correct values.
After lots of searching I have come to understand that the phone obeys a indicator of the SIM that can say "I know how to connect to 3G data, no need to letting the user edit it" and when that happens, the BlackBerry Z10 happily complies and locks you out from editing them.
Problem is, my operator SIMs are wrong, they say "I know how to connect to 3G data, no need to letting the user edit it" and then provide wrong data.
And BOOM! I have a nice paperweight worth 600€
BlackBerry fan forums are full of people that say "BlackBerry is just doing what the spec says, blame your operator".
I say to them "I've used that SIM in Apple devices, Samsung devices and Nokia devices and had never any problem connecting to the Internet". Because the manufacturers were smart enough to let me edit the APN settings and write there the correct values if I wanted.
And this brings us to one of the mantras of engineering, be Correct when writing stuff but be Gentle when reading. It's good the BlackBerry browser is following that mantra, otherwise you'd hardly be able to render any webpage.
So people at BlackBerry, please come of your senses and let people edit stuff. This way maybe I'll get to use your device and people around me will see it and will want to buy one.
Otherwise I'll just wait until the Ubuntu Phone is a bit more usable and start using it. It may not be as polished (at the moment) but at least it's open source and I can fix crazy stuff like this.
Update: With BB 10.1.0.1627 I've been able to edit the field and now my 3G data works again
I had not tried to use it as my main phone until yesterday since it needed a MicroSIM and i had a regular one.
Yesterday I got myself a MicroSIM and put it on the device to find out I could not access the 3G data network.
No problem, my operator has a website where you put the make and model of the phone and they send a SMS to the phone that autoconfigures it.
I went there and was surprised to see there was no BlackBerry listed at all.
OK, time to write the APN settings by hand, so I went to the Settings and started to look where to write the APN details, found them and realized they were disabled(greyed out) so I could not write the correct values.
After lots of searching I have come to understand that the phone obeys a indicator of the SIM that can say "I know how to connect to 3G data, no need to letting the user edit it" and when that happens, the BlackBerry Z10 happily complies and locks you out from editing them.
Problem is, my operator SIMs are wrong, they say "I know how to connect to 3G data, no need to letting the user edit it" and then provide wrong data.
And BOOM! I have a nice paperweight worth 600€
BlackBerry fan forums are full of people that say "BlackBerry is just doing what the spec says, blame your operator".
I say to them "I've used that SIM in Apple devices, Samsung devices and Nokia devices and had never any problem connecting to the Internet". Because the manufacturers were smart enough to let me edit the APN settings and write there the correct values if I wanted.
And this brings us to one of the mantras of engineering, be Correct when writing stuff but be Gentle when reading. It's good the BlackBerry browser is following that mantra, otherwise you'd hardly be able to render any webpage.
So people at BlackBerry, please come of your senses and let people edit stuff. This way maybe I'll get to use your device and people around me will see it and will want to buy one.
Otherwise I'll just wait until the Ubuntu Phone is a bit more usable and start using it. It may not be as polished (at the moment) but at least it's open source and I can fix crazy stuff like this.
Update: With BB 10.1.0.1627 I've been able to edit the field and now my 3G data works again
Tuesday, April 16, 2013
builds.kde.org tests report for 4.11 release - 15 April 2013
We are 59 days away from Beta 1:
* kate has 1 tests that fails
* kde-runtime has 1 test that fail
* kdelibs has 1 test that fails
* kdepim has 8 tests that fail
* kdepim-runtime has 21 tests that fails
* kdepimlibs has 14 tests that fails
* nepomuk-widgets has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
You can find the up-to-date info at jenkins http://build.kde.org/view/KDE%20SC%20master/
* kate has 1 tests that fails
* kde-runtime has 1 test that fail
* kdelibs has 1 test that fails
* kdepim has 8 tests that fail
* kdepim-runtime has 21 tests that fails
* kdepimlibs has 14 tests that fails
* nepomuk-widgets has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
You can find the up-to-date info at jenkins http://build.kde.org/view/KDE%20SC%20master/
Saturday, April 06, 2013
Okular welcomes undo/redo for annotations
Thanks to the amazing work of Jon Mease Okular now has undo/redo for annotation editing in master. Give it a go, it's quite cool :)
Now let's see if we can get Jon to do the same for Form editing, everyone give him some love!
Now let's see if we can get Jon to do the same for Form editing, everyone give him some love!
Monday, April 01, 2013
builds.kde.org tests report for 4.11 release - 1 April 2013
We are 73 days away from Beta 1:
* kate has 2 tests that fail (down 2-3 from 2 weeks ago)
* kde-runtime has 1-2 tests that fail (no change)
* kdelibs has 1 test that fails (up 1 from 2 weeks ago)
* kdepim has 7-8 tests that fail (stable from 2 weeks ago)
* kdepim-runtime has 19-22 tests that fail (up 0-3 from 2 weeks ago)
* kdepimlibs has 12-16 tests that fail (stable from 2 weeks ago)
* nepomuk-core has 1 test that fails (down 2 from 2 weeks ago)
* nepomuk-widgets has 1 test that fails (stable from 2 weeks ago)
* okteta has 1 test that fails (stable from 2 weeks ago)
Everything else that belongs into the 4.11 release is green
* kate has 2 tests that fail (down 2-3 from 2 weeks ago)
* kde-runtime has 1-2 tests that fail (no change)
* kdelibs has 1 test that fails (up 1 from 2 weeks ago)
* kdepim has 7-8 tests that fail (stable from 2 weeks ago)
* kdepim-runtime has 19-22 tests that fail (up 0-3 from 2 weeks ago)
* kdepimlibs has 12-16 tests that fail (stable from 2 weeks ago)
* nepomuk-core has 1 test that fails (down 2 from 2 weeks ago)
* nepomuk-widgets has 1 test that fails (stable from 2 weeks ago)
* okteta has 1 test that fails (stable from 2 weeks ago)
Everything else that belongs into the 4.11 release is green
Monday, March 18, 2013
KDE Frameworks 5 day at Barcelona
This last Saturday, Alex Fiestas, Martin Klapetek, Miquel Canes, Aleix Pol and me spent the whole day acquainting ourselves with the KDE Frameworks 5 codebase and starting to work on some of the tasks described in the Qt 5.1 and kdelibs cleanup epics.
It was a great day but i still have to say I find myself a bit lost in Frameworks land, we'll have to repeat it soon to get more in the loop :-)

I'd like to thank Blue Systems for hosting us in their office in Barcelona.
It was a great day but i still have to say I find myself a bit lost in Frameworks land, we'll have to repeat it soon to get more in the loop :-)

I'd like to thank Blue Systems for hosting us in their office in Barcelona.
Etiquetes de comentaris:
barcelona,
kde frameworks
builds.kde.org tests report for 4.11 release - 18 March 2013
We are 87 days away from Beta 1:
* kate has 4-5 tests that fail
* kde-runtime has 0-2 tests that fail
* kdepim has 7-8 tests that fail
* kdepim-runtime has 19 tests that fail
* kdepimlibs has 12-16 tests that fail
* nepomuk-core has 3 tests that fail
* nepomuk-widgets has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
* kate has 4-5 tests that fail
* kde-runtime has 0-2 tests that fail
* kdepim has 7-8 tests that fail
* kdepim-runtime has 19 tests that fail
* kdepimlibs has 12-16 tests that fail
* nepomuk-core has 3 tests that fail
* nepomuk-widgets has 1 test that fails
* okteta has 1 test that fails
Everything else that belongs into the 4.11 release is green
Wednesday, March 13, 2013
KDE SC 4.11 Release Schedule
You can find it at http://techbase.kde.org/Schedules/KDE4/4.11_Release_Schedule
There are two main changes agreed by Release Team against the previous releases:
* No specified time between Beta and RC tag and release. We will try to release them ASAP after the tag to make them as useful as possible
* No release with broken tests. We won't release if there are tests that do not pass in build.kde.org. So please start caring about tests that do not pass
There are two main changes agreed by Release Team against the previous releases:
* No specified time between Beta and RC tag and release. We will try to release them ASAP after the tag to make them as useful as possible
* No release with broken tests. We won't release if there are tests that do not pass in build.kde.org. So please start caring about tests that do not pass
Etiquetes de comentaris:
4.11,
kde,
release schedule
Monday, February 18, 2013
KDE 4.10 Release Party in Barcelona
This Friday 22nd of February we are having the KDE 4.10 Release Party in Barcelona. Fill in the wiki or tell me if you want to come!
Etiquetes de comentaris:
4.10,
kde,
release party
Saturday, February 09, 2013
Process your reviewboards!
Our "All Review Requests" page in https://git.reviewboard.kde.org has 13 pages of reviews, when sorting by "Last Updated" you'll see that from page 1-6 are reviews that have been updated in the last month, 7-8 in the last two months, 9-12 in the last year and 13 in more than one year.
That's a *lot* of reviews that either where not reviewed at all or where not followed up.
Please, people, pay attention to reviews, if stuff needs to be improved (either if you are the submitter or the reviewer) do speak in a timely manner so we can get stuff commited as nicely as possible.
Let's make the world nicer and review other people's code when they ask for it :-)
Otherwise i'll start closing review requests as discarded because what's the point of having stuff there rot that probably doesn't even apply anymore? ;-)
That's a *lot* of reviews that either where not reviewed at all or where not followed up.
Please, people, pay attention to reviews, if stuff needs to be improved (either if you are the submitter or the reviewer) do speak in a timely manner so we can get stuff commited as nicely as possible.
Let's make the world nicer and review other people's code when they ask for it :-)
Otherwise i'll start closing review requests as discarded because what's the point of having stuff there rot that probably doesn't even apply anymore? ;-)
Thursday, February 07, 2013
Unit testing KColorButton
Around two weeks ago, a bug about was reported in which Okular crashed when changing the color of highlighted text. After a bit of debugging i found that the bug was actually in kdelibs in the KColorButton class.
This is a class I had never looked internally so it was a bit hard to decide where to start looking for a fix. Then I decided to look at the git log and realized the last commit introduced by a fix for color selection not working correctly on double click.
I took my chances and saw that reverting that patch actually removed the crash, so now I knew where to look :-)
After a few minutes looking at the code i came up with a 3-line patch that fixed the crash and still made double click work correctly. I'm so awesome \o/
But that wasn't enough, I needed to *prove* I had fixed it, so i decided to create some tests, that was a bit harder since it involved "clicking" in buttons and stuff, but QTest to the rescue and a few hours later I had this nice unit test that will warn us if that breaks again :-)
So next time you fix a bug, unit test it! And don't complain it's graphical, that's no excuse!
And of course the tests run just fine in build.kde.org even if they show buttons/dialogs :-)
This is a class I had never looked internally so it was a bit hard to decide where to start looking for a fix. Then I decided to look at the git log and realized the last commit introduced by a fix for color selection not working correctly on double click.
I took my chances and saw that reverting that patch actually removed the crash, so now I knew where to look :-)
After a few minutes looking at the code i came up with a 3-line patch that fixed the crash and still made double click work correctly. I'm so awesome \o/
But that wasn't enough, I needed to *prove* I had fixed it, so i decided to create some tests, that was a bit harder since it involved "clicking" in buttons and stuff, but QTest to the rescue and a few hours later I had this nice unit test that will warn us if that breaks again :-)
So next time you fix a bug, unit test it! And don't complain it's graphical, that's no excuse!
And of course the tests run just fine in build.kde.org even if they show buttons/dialogs :-)
Monday, January 07, 2013
Okular git repo contributors in 2012
Thanks to:
- Aaron Seigo
- Albert Astals Cid
- Bogdan Cristea
- Burkhard Lück
- Christian Holme
- Dario Freddi
- David Faure
- Dirk Mueller
- Fabio D'Urso
- Guillermo A. Amaral B
- Ivan Čukić
- Jan Binder
- Jaydeep Solanki
- Jon Mease
- Jonathan Marten
- Luigi Toscano
- Mailson Menezes
- Marco Martin
- Mohammad Mahfuzur Rahman Mamun
- Parker Coates
- Patrick von Reth
- Pino Toscano
- Sandro Mani
- Sebastian Dörner
- T.C. Hollingsworth
- Thomas Etter
- Tobias Koenig
- Yuri Chornoivan
- Yury G. Kudryashov
That's 29 people, 1 more than 2011, so I guess we are doing a bit better ;-) Let's make this 2013 rock even more :-)
Of course sorry I'm not mentioning people that did bug reporting, bug triaging, promotion, translation and other bazillion of things that helped Okular but did not end up in a git contribution, I was lazy and getting the git names is very easy. Your help is also very much appreciated.
- Aaron Seigo
- Albert Astals Cid
- Bogdan Cristea
- Burkhard Lück
- Christian Holme
- Dario Freddi
- David Faure
- Dirk Mueller
- Fabio D'Urso
- Guillermo A. Amaral B
- Ivan Čukić
- Jan Binder
- Jaydeep Solanki
- Jon Mease
- Jonathan Marten
- Luigi Toscano
- Mailson Menezes
- Marco Martin
- Mohammad Mahfuzur Rahman Mamun
- Parker Coates
- Patrick von Reth
- Pino Toscano
- Sandro Mani
- Sebastian Dörner
- T.C. Hollingsworth
- Thomas Etter
- Tobias Koenig
- Yuri Chornoivan
- Yury G. Kudryashov
That's 29 people, 1 more than 2011, so I guess we are doing a bit better ;-) Let's make this 2013 rock even more :-)
Of course sorry I'm not mentioning people that did bug reporting, bug triaging, promotion, translation and other bazillion of things that helped Okular but did not end up in a git contribution, I was lazy and getting the git names is very easy. Your help is also very much appreciated.
Monday, December 17, 2012
KDE/4.10 branched
KDE/4.10 branches have just been created for all the git repos (except for kdelibs that already had it) and SVN branches/KDE/4.10/ has been populated with the modules still in SVN
From now on, if you want something to end up in the 4.10 release you'll have to commit it to there (in addition to master for future releases)
Tomorrow 17 December 2012 at 23:59 UTC, the following freezes for 4.10 kick in
* Tagging Freeze for Release Candidate 1
Only compilation fixes for all platforms are allowed to be committed.
Everything else (even showstopper fixes) have to be run through reviewboard, with the release-team and the affected maintainers as reviewer.
Tagging will happen on December 18 at 23:59 UTC
* Hard API Freeze
The API is now frozen. No more changes to APIs or header files (except docs) after this date.
* Hard Message Freeze
You need to contact kde-i18n-doc for every single string change
* Artwork Freeze
All artwork is frozen on this date. No new artwork should be added. Existing artwork can continue to be tweaked and fixed.
* Bindings Freeze
No new additions to the language bindings, except optional bindings as permitting by the kde-bindings team.
* Documentation Freeze
No more changes to documentation or handbooks after this date.
For typos, spelling and simple grammar changes you have to mail kde-i18n-doc for approval.
If you have to update program version numbers, library abi numbers, bugzilla program version numbers or stuff like that, please do it as soon as possible.
http://techbase.kde.org/Schedules/KDE4/4.10_Release_Schedule
From now on, if you want something to end up in the 4.10 release you'll have to commit it to there (in addition to master for future releases)
Tomorrow 17 December 2012 at 23:59 UTC, the following freezes for 4.10 kick in
* Tagging Freeze for Release Candidate 1
Only compilation fixes for all platforms are allowed to be committed.
Everything else (even showstopper fixes) have to be run through reviewboard, with the release-team and the affected maintainers as reviewer.
Tagging will happen on December 18 at 23:59 UTC
* Hard API Freeze
The API is now frozen. No more changes to APIs or header files (except docs) after this date.
* Hard Message Freeze
You need to contact kde-i18n-doc for every single string change
* Artwork Freeze
All artwork is frozen on this date. No new artwork should be added. Existing artwork can continue to be tweaked and fixed.
* Bindings Freeze
No new additions to the language bindings, except optional bindings as permitting by the kde-bindings team.
* Documentation Freeze
No more changes to documentation or handbooks after this date.
For typos, spelling and simple grammar changes you have to mail kde-i18n-doc for approval.
If you have to update program version numbers, library abi numbers, bugzilla program version numbers or stuff like that, please do it as soon as possible.
http://techbase.kde.org/Schedules/KDE4/4.10_Release_Schedule
Thursday, November 15, 2012
And this is why one needs cops
And then they drive like mad with their cars, and wonder what? They hit one of their own http://youtu.be/xr_lRr-4_5k?t=1m56s
Yes, I am aware that there are cops out there that do a good work, but sharing the work with these people should make them sad.
Sunday, November 11, 2012
Okular tiled rendering merged to master
Okular tiled rendering (more info) has been merged into master and is scheduled to be released with 4.10 KDE Applications release. There are a few open issues that Mailson and Fabio are working like crazy to get fixed for the upcoming Beta 1 release this thursday. It would be great if you can give it a try anyway and report any issue you might find.
Etiquetes de comentaris:
okular,
tiled rendering
Friday, November 02, 2012
KDE Spanish forum in forums.kde.org
Since a few weeks you can find the KDE en Español sub-forum inside the always awesome KDE Community Forums. Go there if you have something to ask or share and you prefer communicating in Spanish.
Monday, October 22, 2012
Thursday, October 18, 2012
4.10 dependency freeze in two weeks!
Copying from the 4.10 Release Schedule page
Thursday, November 1, 2012:
From this moment on it is not allowed to add new dependencies or bump dependencies versions. It is possible to get an exception for this. Post the patch to reviewboard and add the release-team as reviewer. We will check if the dependency is needed and is available on all platforms.
In other words: If you have a feature that requires a new dependency or a version of a dependency that is higher than currently checked for in the build system, you need to have committed this change before this date.
Thursday, November 1, 2012:
From this moment on it is not allowed to add new dependencies or bump dependencies versions. It is possible to get an exception for this. Post the patch to reviewboard and add the release-team as reviewer. We will check if the dependency is needed and is available on all platforms.
In other words: If you have a feature that requires a new dependency or a version of a dependency that is higher than currently checked for in the build system, you need to have committed this change before this date.
Monday, October 15, 2012
Active port of Okular merged
Marco just merged the Active port of Okular to the master in the okular repository. Now people that have the proper dependencies will also get an active-documentviewer binary that is a touch optimized experience based in the Okular core libraries.
You can find a video of an old version of it at http://www.youtube.com/watch?v=cvLVqiFC6_4
You can find a video of an old version of it at http://www.youtube.com/watch?v=cvLVqiFC6_4
Saturday, October 13, 2012
ktouchpadenabler 0.1.1 released
What is ktouchpadenabler?
ktouchpadenabler is a kded daemon that listens to the XF86XK_TouchpadToggle/XF86XK_TouchpadOn/XF86XK_TouchpadOff key presses and toggles/enables/disables your touchpad accordingly.What's the difference against 0.1.0?
The only difference is updated translations, the code is exactly the same. Thanks to the translation teams for their work :-)You can find it at http://download.kde.org/stable/extragear/ktouchpadenabler-0.1.1.tar.bz2.
Etiquetes de comentaris:
kde,
ktouchpadenabler,
touchpad,
XF86XK_TouchpadToggle
Friday, October 12, 2012
4.10 Soft Feature Freeze in 13 days!
Remember the 4.10 Soft Feature Freeze is in 13 days so try to get your features ready for merging as soon as possible. If you add your features to the Feature Plan you get two weeks more until Hard Feature Freeze, and if you don't need those two weeks you should add them anyway since it really helps other teams like promo, Q/A, etc. to have the features listed in one place.
Wednesday, October 10, 2012
Okular user forum
I've never been a fan of forums, but it seems our users like them so we've created the Okular subforum inside the awesome KDE Community Forums.
It shows that moving existing topics to the okular forum we already have 61 of them .D
Of course bugzilla is still the place for bugs and wishes and the mailing list is still the place for development, but if you have other user questions, don't hesitate to share them in the forums!
It shows that moving existing topics to the okular forum we already have 61 of them .D
Of course bugzilla is still the place for bugs and wishes and the mailing list is still the place for development, but if you have other user questions, don't hesitate to share them in the forums!
Monday, October 08, 2012
Okular tiled rendering manual
Mailson Lira has written a nice webpage explaining how his tiled rendering work for Okular works.
This is still not merged for 4.10 but we hope to get it ready by then.
And of course thanks to Google for his Google Summer of Code program that allowed Mailson to work on this project.
This is still not merged for 4.10 but we hope to get it ready by then.
And of course thanks to Google for his Google Summer of Code program that allowed Mailson to work on this project.
Etiquetes de comentaris:
okular,
tiled rendering
Monday, September 24, 2012
Randa 2012: First Half of Awesomeness
Time passes fast when you are enjoying the great company and the great location that the Randa 2012 meeting provides.
It's been a busy time for me in the Education part of the meeting.
I've worked on the following items:
- Fix memory leak
- Make molecule downloading more user friendly
- Let kalzium open molecules both from command line and from clicking in the file manager
- Look and feel improvements to the calculator
And of course this is just the things that resulted in commits, between the various random things I've helped people around with their questions that fall inside my area of expertise, for example helped Frederik Gladhorn integrate the KDE translation system on the Qt AT SPI project so we can provide an even more polished accessibility solution to our users and also "chaired" the KDE Edu discussions whose results you can find in the Notes links at http://community.kde.org/KDEEdu/Sprint2012
And finally to get some relax I've also contributed to the soluttion of the puzzle containing last year's group photo

And also got photographed for next years puzzle ;-)

Thanks all that donated to the pledgie and made Randa 2012 happen!
And now back to Awesomeness!
It's been a busy time for me in the Education part of the meeting.
I've worked on the following items:
kdeedu
Kalzium
- Fix uninitialized memory use- Fix memory leak
- Make molecule downloading more user friendly
- Let kalzium open molecules both from command line and from clicking in the file manager
- Look and feel improvements to the calculator
Rocs
- Fix uninitialized memory useStep
- Fix uninitialized memory useWebsite
- Make it a bit more localization friendly (now we should not show images with text besides the KDE Edu logo)kdegames
Thanks to Ben we now have kdegames on jenkins, which made me fix some bugs there :)Killbots
- Make tests work without the game being installedkmahjongg
- Fix compilation when libkmahjongg is not installed in default folderskshisen
- Fix compilation when libkmahjongg is not installed in default folderskdelibs
- Fix a bug with menubars when editing toolbarsl10n-kde4
- Regular tasks of moving files aroundAnd of course this is just the things that resulted in commits, between the various random things I've helped people around with their questions that fall inside my area of expertise, for example helped Frederik Gladhorn integrate the KDE translation system on the Qt AT SPI project so we can provide an even more polished accessibility solution to our users and also "chaired" the KDE Edu discussions whose results you can find in the Notes links at http://community.kde.org/KDEEdu/Sprint2012
And finally to get some relax I've also contributed to the soluttion of the puzzle containing last year's group photo

And also got photographed for next years puzzle ;-)
Thanks all that donated to the pledgie and made Randa 2012 happen!
And now back to Awesomeness!
Sunday, September 09, 2012
Trobadour knowledge about QImage
If you are using QImage::Format_RGB32 and the QImage constructor that takes uchar * data make sure your format is 0xffRRGGBB (i.e. the missing alpha channel is exactly 0xff) otherwise some operations won't work.
Thursday, September 06, 2012
KDE SC 4.10 Release Schedule
KDE SC 4.10 Release Schedule has just been made official. If everything goes to plan (and we have been able to keep with schedules quite good lately) we should be enjoying new 4.10 goodness by late January 2013.
By the way, Soft Feature Freeze is in 7 weeks!
By the way, Soft Feature Freeze is in 7 weeks!
Etiquetes de comentaris:
kde,
kde 4.10,
release schedule
Saturday, August 18, 2012
Got my Join The Game Welcome Pack :-)
Thursday, August 16, 2012
The death of http://www.kde.org/announcements/changelogs/*.php
The KDE SC Release Team has decided to not use the http://www.kde.org/announcements/changelogs/*.php files generated from the changelog_branch_*.xml anymore.
If you want your bugfix to be linked from the announcement make sure it has the "Version Fixed In" correctly set so it appears in this query (and in the future replace 4.9.1 with the correct version ;-))
If you want your bugfix to be linked from the announcement make sure it has the "Version Fixed In" correctly set so it appears in this query (and in the future replace 4.9.1 with the correct version ;-))
Etiquetes de comentaris:
bugs.kde.org,
bugzilla,
changelog,
kde,
release
Monday, August 13, 2012
KDE Randa Meetings Pledgie
Lots of people meeting and shaping the future of KDE software. Help make it happen!
Copy&paste from the Pledgie site
For the fourth year, the intense sprints in Randa, Switzerland will include key KDE projects and top developers, all collaborating concurrently under one roof, isolated from noise and distractions.
Every previous Randa meeting has been concentrated and productive, generating exceptional results; organizers and participants expect the same and more this year. And the meetings have produced significant breakthroughs for KDE users and developers.
While the participants are unpaid volunteers, there are hard expenses like accommodation, food and travel to get the volunteer contributors to Randa. If you are not attending, you can still support the Randa meeting by making a donation. As in the past, the Randa meeting will benefit everyone who uses KDE software.
Copy&paste from the Pledgie site
For the fourth year, the intense sprints in Randa, Switzerland will include key KDE projects and top developers, all collaborating concurrently under one roof, isolated from noise and distractions.
Every previous Randa meeting has been concentrated and productive, generating exceptional results; organizers and participants expect the same and more this year. And the meetings have produced significant breakthroughs for KDE users and developers.
While the participants are unpaid volunteers, there are hard expenses like accommodation, food and travel to get the volunteer contributors to Randa. If you are not attending, you can still support the Randa meeting by making a donation. As in the past, the Randa meeting will benefit everyone who uses KDE software.
Sunday, August 05, 2012
KDE 4.9 Releases Dinner in Barcelona
Awesome as always :-)
Etiquetes de comentaris:
barcelona,
kde,
release party
Wednesday, August 01, 2012
4.9.0 is out!
Yay! I'm so happy that we got it out of the door, 4.9.x is going to be amazing :-)
Personally I'd like to thank Fabio d'Urso for being my new Okular co-developer (actually he did more commits than me, but don't tell anyone) and implementing the store annotations to pdf files feature both in Okular and in poppler. Fabio you rock :-)
Personally I'd like to thank Fabio d'Urso for being my new Okular co-developer (actually he did more commits than me, but don't tell anyone) and implementing the store annotations to pdf files feature both in Okular and in poppler. Fabio you rock :-)
Etiquetes de comentaris:
annotations,
kde,
okular,
pdf
Monday, July 23, 2012
Dear Lazyweb: Who is right g++ or clang?
#include <stdio.h>
class A
{
protected:
static void foo()
{
printf("HI\n");
}
};
class B : public A
{
friend class C;
};
class C
{
public:
void useFoo()
{
A::foo();
}
};
int main(int argc, char **argv)
{
C c;
c.useFoo();
}
g++ compiles, clang complains that A::foo is protected and can't be used in C::useFoo.I know friendship is not inherited, but this is actually the reverse of inheriting, so does anyone has any pointer as to where i should open the bug? clang or gcc?
Etiquetes de comentaris:
clang,
g++,
gcc,
inheritance
Friday, July 20, 2012
Joined the KDE Game!
A few days ago I decided to go to http://jointhegame.kde.org/ and "Join the Game".
For those of you unfamiliar with the term it means i became an official supporting member of KDE eV by donating 25€ each 3 months.
In exchange i get this nice image

A membership card and a welcome gift (waiting for them, i just joined so still not here), the invitation to attend the annual general assembly of KDE e.V. (which doesn't mean much since i'm already a KDE e.V. member) and regular first hand reports about KDE's activities.
That's cool and it's what the webpage lists as benefits, but I think the other huge benefit I get is that KDE has a more stable source of income (it's better to have 100 people donating 100€/year that one donating 15000€, because that one might decide otherwise for next year and you take a big hit).
So if you like KDE and want us to keep doing development sprints, paying for the hardware, etc. you might want to Join The Game with me so we get a more stable source of income.
Of course you can also donate a single time via paypal (and other means) at http://kde.org/community/donations/ but I sincerely think being a member of Join The Game is great and after all it's just 0.28€ per day, of course we live in though economic times so only you can decide if you can afford to be part of this great club ;-)
For those of you unfamiliar with the term it means i became an official supporting member of KDE eV by donating 25€ each 3 months.
In exchange i get this nice image
A membership card and a welcome gift (waiting for them, i just joined so still not here), the invitation to attend the annual general assembly of KDE e.V. (which doesn't mean much since i'm already a KDE e.V. member) and regular first hand reports about KDE's activities.
That's cool and it's what the webpage lists as benefits, but I think the other huge benefit I get is that KDE has a more stable source of income (it's better to have 100 people donating 100€/year that one donating 15000€, because that one might decide otherwise for next year and you take a big hit).
So if you like KDE and want us to keep doing development sprints, paying for the hardware, etc. you might want to Join The Game with me so we get a more stable source of income.
Of course you can also donate a single time via paypal (and other means) at http://kde.org/community/donations/ but I sincerely think being a member of Join The Game is great and after all it's just 0.28€ per day, of course we live in though economic times so only you can decide if you can afford to be part of this great club ;-)
Sunday, July 15, 2012
4.9 Dinner in Barcelona (4th August)
Following our tradition, the KDE-ers of Barcelona (and anybody from anywhere that wants to drop by) will celebrate the release of 4.9 with a dinner. This time will be on 4th of August at 21:30 in the Hola Manito Restaurant in Grà cia.
Of course everyone is invited to come and remember that if it's too far for you, you can always organize something in your own city, according to the KDE users map there is people around with a common interest!
Of course everyone is invited to come and remember that if it's too far for you, you can always organize something in your own city, according to the KDE users map there is people around with a common interest!
Thursday, June 28, 2012
Your chance to help #2: Improving bugzilla for old developers
A while ago our amazing sysadmins upgraded our bugzilla installation from something aging to something more modern. Hurrah! We are not a billion years behind in another software! Hurrah!
Unfortunately this meant we lost some of our ¿custom? code that allowed to show the Votes column in searches like this (click on the change columns link at the end).
One can still see the votes in a particular bug, but for things like wishes it was very useful to be able of sorting by votes.
So it would be extremely cool if you can try to implement this, be warned, it's probably not going to be easy to implement and moreover bugzilla is in perl, but i'll owe you a few beers if you make it :-)
If you want to help do not hesitate to contact me on aacid@kde.org and I'll forward you to the appropriate people, or even better just join the #kde-sysadmin channel in irc.freenode.net and present yourself as volunteer to do this job.
Unfortunately this meant we lost some of our ¿custom? code that allowed to show the Votes column in searches like this (click on the change columns link at the end).
One can still see the votes in a particular bug, but for things like wishes it was very useful to be able of sorting by votes.
So it would be extremely cool if you can try to implement this, be warned, it's probably not going to be easy to implement and moreover bugzilla is in perl, but i'll owe you a few beers if you make it :-)
If you want to help do not hesitate to contact me on aacid@kde.org and I'll forward you to the appropriate people, or even better just join the #kde-sysadmin channel in irc.freenode.net and present yourself as volunteer to do this job.
Etiquetes de comentaris:
bugs.kde.org,
bugzilla,
kde,
perl
Your chance to help: Improving bugzilla for new developers
The other day I was talking with Fabio, a new Okular developer (a blog post on his awesomeness coming soon), and realized that he had permission to commit to the git repositories but not permission to close bugs in bugs.kde.org
This disconnect comes from the fact that bugzilla is not tied to your identity.kde.org user.
After speaking with the KDE sysadmins we agreed it'd be cool to enable permissions in bugzilla if there is a matching address (it would be cooler to match the accounts, but that's probably a gigantic task)
So we are looking for someone that can write some sql to do this:
1) find the user_id from someone's email address
2) insert an entry into user_group_map for the editbugs group and that user_id
3) insert an entry into user_group_map for the canconfirm group and that user_id
Additionally the code has to be smart enough to
1) print a notice if no bugzilla account was not found for the given email address
2) be written in a way as to not cause issues if the user already has those rights
The script can written in which ever language you prefer (though we expect some sanity in the choices if possible ;-))
If you want to help (and you know you want) do not hesitate to contact me on aacid@kde.org and I'll forward you to the appropriate people or even better just join the #kde-sysadmin channel in irc.freenode.net and present yourself as volunteer to do this job.
This disconnect comes from the fact that bugzilla is not tied to your identity.kde.org user.
After speaking with the KDE sysadmins we agreed it'd be cool to enable permissions in bugzilla if there is a matching address (it would be cooler to match the accounts, but that's probably a gigantic task)
So we are looking for someone that can write some sql to do this:
1) find the user_id from someone's email address
2) insert an entry into user_group_map for the editbugs group and that user_id
3) insert an entry into user_group_map for the canconfirm group and that user_id
Additionally the code has to be smart enough to
1) print a notice if no bugzilla account was not found for the given email address
2) be written in a way as to not cause issues if the user already has those rights
The script can written in which ever language you prefer (though we expect some sanity in the choices if possible ;-))
If you want to help (and you know you want) do not hesitate to contact me on aacid@kde.org and I'll forward you to the appropriate people or even better just join the #kde-sysadmin channel in irc.freenode.net and present yourself as volunteer to do this job.
Etiquetes de comentaris:
bugs.kde.org,
bugzilla,
kde
Monday, June 25, 2012
KDE/4.9 branch created
KDE/4.9 branch created.
Do not forget to push your fixes there too
Do not forget from tonight we have a freeze until RC1 is out
EOF
Do not forget to push your fixes there too
Do not forget from tonight we have a freeze until RC1 is out
EOF
Saturday, June 23, 2012
Qt Contributor Summit 2012
So here I am sitting on the lounge of the Qt Contributor Summit listening to jlayt-highschool-time music and doing two simple qtbase patches. I have to say that it's been a nice two days of technical discussion, here my highlights:
* RIM are shipping full Qt libraries for BlackBerry 10 and next unreleased/unannunced QNX release
* At last it is clear that QML Components are a pressing need and there were like 4 different talks/bofs/panels about it
* There's lots of random huge companies using Qt, from HP in plotters to Scania on cranes, so the future is bright :-)
* People at Nokia/Qt are worried about their future but no one really knows anything set on stone so all you get is fear cropping up
And now some pictures
https://twitter.com/tsdgeos/status/215727012717924352/photo/1
https://twitter.com/tsdgeos/status/216176177910530050/photo/1
https://twitter.com/tsdgeos/status/216176177910530050/photo/1
* RIM are shipping full Qt libraries for BlackBerry 10 and next unreleased/unannunced QNX release
* At last it is clear that QML Components are a pressing need and there were like 4 different talks/bofs/panels about it
* There's lots of random huge companies using Qt, from HP in plotters to Scania on cranes, so the future is bright :-)
* People at Nokia/Qt are worried about their future but no one really knows anything set on stone so all you get is fear cropping up
And now some pictures
https://twitter.com/tsdgeos/status/215727012717924352/photo/1
https://twitter.com/tsdgeos/status/216176177910530050/photo/1
https://twitter.com/tsdgeos/status/216176177910530050/photo/1
Tuesday, June 12, 2012
Free Software - Free to pay
A few months ago a professor from the math department of FU Berlin filed a few bugs to poppler and Okular about video playing not being totally implemented/bug free.
After a few mail exchanges it became clear that given the always scarce resources in free software projects his bugs would not be fixed/implemented in a timely way since the poppler/Okular priorities and his' did not align.
Then the unexpected occurred, instead of complaining or giving up, he said "Well, i have a little money around" and I promptly suggested a few third party companies/individuals that would be interested in doing paid development and voilà ! some time after, those features were developed
One of the often overlooked features of Free Software is the non existent vendor lock-in, in the non-free software world, if the company creating the software you use thinks your feature is nice to have but not important enough to develop, you are out of luck, it'll never happen, in the Free Software world you can have someone else develop it for you and get it merged upstream relatively easily.
After a few mail exchanges it became clear that given the always scarce resources in free software projects his bugs would not be fixed/implemented in a timely way since the poppler/Okular priorities and his' did not align.
Then the unexpected occurred, instead of complaining or giving up, he said "Well, i have a little money around" and I promptly suggested a few third party companies/individuals that would be interested in doing paid development and voilà ! some time after, those features were developed
One of the often overlooked features of Free Software is the non existent vendor lock-in, in the non-free software world, if the company creating the software you use thinks your feature is nice to have but not important enough to develop, you are out of luck, it'll never happen, in the Free Software world you can have someone else develop it for you and get it merged upstream relatively easily.
Friday, May 18, 2012
Akademy-es 2012 - First day gone
So the first day of the Akademy-es 2012 is already gone.
My day started early in the morning in Barcelona getting train to go to Zaragoza. Got there in less than 2 hours. Nice :-)
After getting to the hotel we headed to the nice Seminario building where today's talks took place.
We started with the welcoming ceremony with the local autorities (City Council local free software companies association (CESLA)), followed by me doing a quick summary of all the talks that would follow in the whole conference.
After that, Paul Brown (of Linux Magazine Spain fame) did a great talk about the whys and how of some typical/silly questions we in the Free Software world get. This was my first time attending a Paul Brown talk and I have to say he is really a gifted speaker.
Then we recharged our energy with coffe and pastries and got prepared to listen AgustÃn explaining how KDE is great for companies and to Baltasar talk about Plasma Active, unfortunately I could not attend those last two talks since I was helping moving some stuff to the place where tomorrow talks will take place, but I'm sure they were awesome :-)
You can find some photos in Alex Fiestas' twitter, http://yfrog.com/kedhqjhj, http://yfrog.com/odsc5kkaj, http://t.co/euiscuzi, http://yfrog.com/ntnmmrnj, and of course you can watch the #akademyes hashtag.
Thursday, May 10, 2012
ktouchpadenabler 0.1.0 released
What is ktouchpadenabler?
ktouchpadenabler is a kded daemon that listens to the XF86XK_TouchpadToggle/XF86XK_TouchpadOn/XF86XK_TouchpadOff key presses and toggles/enables/disables your touchpad accordingly.
You can find it at http://download.kde.org/stable/extragear/ktouchpadenabler-0.1.0.tar.bz2
ktouchpadenabler is a kded daemon that listens to the XF86XK_TouchpadToggle/XF86XK_TouchpadOn/XF86XK_TouchpadOff key presses and toggles/enables/disables your touchpad accordingly.
You can find it at http://download.kde.org/stable/extragear/ktouchpadenabler-0.1.0.tar.bz2
Etiquetes de comentaris:
kde,
ktouchpadenabler,
touchpad,
XF86XK_TouchpadToggle
Monday, April 30, 2012
Okular behaviour on Left/Right Arrow Key
Another question about what you, the okular users, think of a new feature proposed and implemented by Thomas Etter.
Please comment in the forum and not here since it makes it much easier to keep track of all the opinions!
Please comment in the forum and not here since it makes it much easier to keep track of all the opinions!
Tuesday, April 24, 2012
Akademy-es 2012 it's here!
It is the time of the year of Akademy-es, the yearly KDE users and developers spanish meeting, if you were wondering were are the news, stop wondering! It's here ;-)

The Akademy-es 2012 will take place in the nice city of Zaragoza from 18th to 20th of May
Registration is open and the schedule is almost final and of course a big thanks to our hosts and sponsors.
See you in Zaragoza!
The Akademy-es 2012 will take place in the nice city of Zaragoza from 18th to 20th of May
Registration is open and the schedule is almost final and of course a big thanks to our hosts and sponsors.
See you in Zaragoza!
Etiquetes de comentaris:
akademy-es,
zaragoza
Monday, April 16, 2012
Reminder: KDE 4.9 is at the corner!
May 3: KDE 4.9 Soft Feature Freeze
May 17: KDE 4.9 Hard Feature Freeze
May 24: KDE 4.9 Beta 1 Tagging
Which means 1 month to Hard Feature Freeze.
May 17: KDE 4.9 Hard Feature Freeze
May 24: KDE 4.9 Beta 1 Tagging
Which means 1 month to Hard Feature Freeze.
Monday, March 26, 2012
Okular word selection on double click
I've just commited a change that implements a wish created 3 years ago "Double click to select words".
Another little nice feature for Okular :-)
It felt good doing some actual coding instead of being the code review monkey I am these days in the KDE/poppler worlds.
/me goes back to the boringness of reviewing other people's code :-/
Another little nice feature for Okular :-)
It felt good doing some actual coding instead of being the code review monkey I am these days in the KDE/poppler worlds.
/me goes back to the boringness of reviewing other people's code :-/
Tuesday, March 13, 2012
Okular: Multiple bookmarks per page
Following the series of "We don't kwow what to do so we are going to ask you", we present you "Improvement on Okular bookmarks: How to handle more than one bookmark per page".
Please head over http://forum.kde.org/viewtopic.php?f=20&t=100729 and give mailson your opinion!
Please head over http://forum.kde.org/viewtopic.php?f=20&t=100729 and give mailson your opinion!
Wednesday, February 29, 2012
KDE SC 4.9 Release Schedule
KDE SC 4.9 Release Schedule has just been made official. If everything goes to plan (and we have been able to keep with schedules quite good lately) we should be enjoying new 4.9 goodness by early August 2012. Remember you can keep up to date with releases using the http://www.kde.org/releaseschedule.ics calendar file.
Etiquetes de comentaris:
kde,
kde 4.9,
release schedule
Tuesday, February 07, 2012
Okular users we want your input!
Sometimes the decision of how a program should behave is not right or wrong technically but based on the user expectation.
In Okular we are asking ourselves what should happen when you have two lines with the following text
This is an ex-
ample
and copy it. Should it return "This is an ex-\nample" or "This is an ex-ample" or "This is an example"?
Head over to the KDE forums and vote!
In Okular we are asking ourselves what should happen when you have two lines with the following text
This is an ex-
ample
and copy it. Should it return "This is an ex-\nample" or "This is an ex-ample" or "This is an example"?
Head over to the KDE forums and vote!
Thursday, February 02, 2012
Okular now with hyphen aware search
Thanks to Mahfuzur Rahman Mamun (of column text selection GSoC fame) we can now search for words that have hyphens to split them between lines.
This is a new feature so it'll be only available with KDE 4.9.0
This is a new feature so it'll be only available with KDE 4.9.0
Wednesday, January 25, 2012
Okular 0.14 released!
KDE 4.8 just got released and that means Okular 0.14 also got released!
First of all I'd like to thank everyone that has done a git commit in the KDE 4.7 → KDE 4.8 trip, here the list in alphabetical order: Aaron Seigo, Aleix Pol, Christopher Reichert, Dario Freddi, David Faure, David Palacio, Elvis Stansvik, Frederik Schwarzer, Geoffry Song, Jiri Baum, Kevin Kofler, Martin Ueding, Michal Svec, Michel Ludwig, Mohammad Mahfuzur Rahman Mamun, Montel Laurent, Niels Ole Salscheider, Patrick von Reth, Philip Muskovac, Pino Toscano, Ralf Habacker, Stephen Anthony, Yuri Chornoivan.
That's more than 20 people! Awesome :-)
This release introduces new features like improved text selection in documents with columns, table selection tool, LaTex rendering in annotations, improved embedded support (for use in e.g. Kile), better layouting for facing pages, smarter screensaver/powermanagement handling, improved page label support, default zoom configuration, improved Landscape printing, etc.
You can find a non complete list of bugs and features in bugzilla.
And best of all there's already new features in the pipeline for the next release :-)
Let's keep the ball rolling!
First of all I'd like to thank everyone that has done a git commit in the KDE 4.7 → KDE 4.8 trip, here the list in alphabetical order: Aaron Seigo, Aleix Pol, Christopher Reichert, Dario Freddi, David Faure, David Palacio, Elvis Stansvik, Frederik Schwarzer, Geoffry Song, Jiri Baum, Kevin Kofler, Martin Ueding, Michal Svec, Michel Ludwig, Mohammad Mahfuzur Rahman Mamun, Montel Laurent, Niels Ole Salscheider, Patrick von Reth, Philip Muskovac, Pino Toscano, Ralf Habacker, Stephen Anthony, Yuri Chornoivan.
That's more than 20 people! Awesome :-)
This release introduces new features like improved text selection in documents with columns, table selection tool, LaTex rendering in annotations, improved embedded support (for use in e.g. Kile), better layouting for facing pages, smarter screensaver/powermanagement handling, improved page label support, default zoom configuration, improved Landscape printing, etc.
You can find a non complete list of bugs and features in bugzilla.
And best of all there's already new features in the pipeline for the next release :-)
Let's keep the ball rolling!
Tuesday, January 03, 2012
Come Dine with Me and KDE 4.8
KDE is releasing 4.8 the 25th of January (if all goes well) and to celebrate that KDE España is organizing two dinners, one in Madrid the 20th of January and another one in Barcelona the 27th of January. Coincidentally i happen to be on both cities on the dates the dinners happen so if you are around come and chat with other KDE people! More info at http://www.kde-espana.es/news.php#itemCenasKDE48
Etiquetes de comentaris:
kde,
kde 4.8,
release party
Sunday, January 01, 2012
My top 10 blog posts of 2011
Top 10 blog entries with more visits in 2011 in my blog:
10 - Poppler 0.18.0 released
Poppler's latest major release gets the last spot on the list, PDF greatness for all!
9 - Okular and Send by Mail
Interesting discussion of where does a feature belong. Outcome: kparts will get plasma share-like-connect awareness and you'll be able to share (including sending by mail) stuff from there :-)
8 - Poppler for windows
Poppler for windows, a classic in my top lists since I wrote that blog originally in 2006!
7 - My CPU fan does not speedup
When the CPU melted i discovered why, there was too much dust in the fan... :-/
6 - Blinken: First KDE App on the Nokia Store?
KDE starts conquering the N9 application space, KAlgebra followed soon
5 - XPS viewer for Linux
Microsoft seems to be succeeding in forcing XPS down people's throat, i did not expect linux users to have a need for XPS viewing
4 - keyboard crazyness
Somehow Google loves this blogpost and sends people searching for keyboard to it
3 - KDE SC 4.8 Release Schedule
People wants to know when new awesomeness will be out. Answer: soon!
2 - N9 disappointment
Wonder if people reaching this page understand my disappointment, the N9 is an awesome phone, it just it doesn't meet my free software expectations
1 - Beware of KDE 4.6.4
We had a small slip when packaging KDE 4.6.4, people wanted to know about it
10 - Poppler 0.18.0 released
Poppler's latest major release gets the last spot on the list, PDF greatness for all!
9 - Okular and Send by Mail
Interesting discussion of where does a feature belong. Outcome: kparts will get plasma share-like-connect awareness and you'll be able to share (including sending by mail) stuff from there :-)
8 - Poppler for windows
Poppler for windows, a classic in my top lists since I wrote that blog originally in 2006!
7 - My CPU fan does not speedup
When the CPU melted i discovered why, there was too much dust in the fan... :-/
6 - Blinken: First KDE App on the Nokia Store?
KDE starts conquering the N9 application space, KAlgebra followed soon
5 - XPS viewer for Linux
Microsoft seems to be succeeding in forcing XPS down people's throat, i did not expect linux users to have a need for XPS viewing
4 - keyboard crazyness
Somehow Google loves this blogpost and sends people searching for keyboard to it
3 - KDE SC 4.8 Release Schedule
People wants to know when new awesomeness will be out. Answer: soon!
2 - N9 disappointment
Wonder if people reaching this page understand my disappointment, the N9 is an awesome phone, it just it doesn't meet my free software expectations
1 - Beware of KDE 4.6.4
We had a small slip when packaging KDE 4.6.4, people wanted to know about it
Tuesday, December 27, 2011
Help KDE España while subscribing to Linux-Magazine.es
If you were thinking to subscribe to Linux-Magazine.es you might want to have a look at this offer, which lets you to pay the amount you want for 6 issues (well, actually it has to be >= 2€ but 2€ for 6 magazines borders stealing in my opinion :D) and you even get to choose to donate 10% to KDE España or other Free Software organizations.
Etiquetes de comentaris:
kde,
kde españa,
linux magazine
Sunday, December 11, 2011
KDE España is looking for Akademy-es 2012 locations
In KDE España we are looking for a group or organization in condition of co-organizer for Akademy-es 2012. If you are interested have a look at the call for locations page. If you are interested do not forget to send your submission in before February 25th.
Wednesday, December 07, 2011
Sad story of the day: Qt and XF86XK_TouchpadToggle
Today I realized Gnome has support for XF86XK_TouchpadToggle, i.e. if you press the key in your keyboard that has the touchpad with an X symbol over it, it toggles the enabled state of the touchpad.
This is very useful if you are like me and attach/detach a mouse various times during the day.
Since as far as I know this is not supported in KDE, this afternoon I decided to write a quick kded module that would listen to XF86XK_TouchpadToggle and call the corresponding XInput2 functions to toggle the state of the touchpad.
Investigating XInput2 was supposed to be the difficult part since it is out of my area of comfort, but at the end it resulted it was not that difficult and the desired effect can be achieved with no more than 10 lines of code.
After getting the correct XInput2 calls I started to build the skeleton of my kded module and when I was going to register the global KAction to listen for XF86XK_TouchpadToggle I realized Qt does not have support for this key, which means I can not use a KAction for that. Sad :-/
This has resulted in my getting diverted from my original goal and writing a patch for Qt5 to support the XF86XK_TouchpadToggle key and two other ones. Sadly this does not solve my immediate itch so I will either live with that itch or try to detect the keypress at the X level, but i'm not sure that's something I want to do :D
Update: I went the X11 way and it was not that painful. I now have some code that works, putting it in a git repo as soon as I get one :-)
This is very useful if you are like me and attach/detach a mouse various times during the day.
Since as far as I know this is not supported in KDE, this afternoon I decided to write a quick kded module that would listen to XF86XK_TouchpadToggle and call the corresponding XInput2 functions to toggle the state of the touchpad.
Investigating XInput2 was supposed to be the difficult part since it is out of my area of comfort, but at the end it resulted it was not that difficult and the desired effect can be achieved with no more than 10 lines of code.
After getting the correct XInput2 calls I started to build the skeleton of my kded module and when I was going to register the global KAction to listen for XF86XK_TouchpadToggle I realized Qt does not have support for this key, which means I can not use a KAction for that. Sad :-/
This has resulted in my getting diverted from my original goal and writing a patch for Qt5 to support the XF86XK_TouchpadToggle key and two other ones. Sadly this does not solve my immediate itch so I will either live with that itch or try to detect the keypress at the X level, but i'm not sure that's something I want to do :D
Update: I went the X11 way and it was not that painful. I now have some code that works, putting it in a git repo as soon as I get one :-)
Etiquetes de comentaris:
kde,
qt,
XF86XK_TouchpadToggle
Saturday, December 03, 2011
Join KDE! Translate KDE!
It's that time of year again, KDE is nearing a new release day and it's time for translators to work on the making sure that new software/features are properly translated so that the thousands of KDE users can enjoy it in their native language.
Unfortunately translators come and go and KDE software continues to grow and grow, meaning that sometimes some languages fall below the line of what we consider an acceptable amount of translations for them to be shipped with the KDE releases.
For this 4.8 cycle this is the list of languages that was in 4.7 and if the release was today would not be released: Arabic, Bulgarian, Galician, Hebrew, Irish Gaelic, Indonesian, Japanese, Kannada, Latvian, Norwegian Nynorsk, Punjabi, Uyghur and Walloon
Obviously this does not mean that they will not released with KDE since each translation team has a different work schedule and some of them only work when really close to a release, but if you are a user enjoying KDE on one of the above languages you should think on volunteering to do some work so it stays that way. This is your opportunity to make a difference, write me to aacid@kde.org and join KDE by working on translations!
Unfortunately translators come and go and KDE software continues to grow and grow, meaning that sometimes some languages fall below the line of what we consider an acceptable amount of translations for them to be shipped with the KDE releases.
For this 4.8 cycle this is the list of languages that was in 4.7 and if the release was today would not be released: Arabic, Bulgarian, Galician, Hebrew, Irish Gaelic, Indonesian, Japanese, Kannada, Latvian, Norwegian Nynorsk, Punjabi, Uyghur and Walloon
Obviously this does not mean that they will not released with KDE since each translation team has a different work schedule and some of them only work when really close to a release, but if you are a user enjoying KDE on one of the above languages you should think on volunteering to do some work so it stays that way. This is your opportunity to make a difference, write me to aacid@kde.org and join KDE by working on translations!
Etiquetes de comentaris:
kde,
translate,
translation
Monday, November 21, 2011
New job
Today has been my first day in my new job. I've started working as Software Engineer for
Since late August I had been doing interviews here in Barcelona but most of them were not really interesting only fullfilling the last of my four wanted points:
* Interesting job
* Linux related
* Free Software related
* Barcelona based
Working for Canonical gives me those four points and as an extra the salary is better than the average Barcelona job, so I can't complain :-)
As note i am almost sure my regular work will *not* be working in creating Kubuntu so don't ask me for feature improvements/bugfixes for it.
Since late August I had been doing interviews here in Barcelona but most of them were not really interesting only fullfilling the last of my four wanted points:
* Interesting job
* Linux related
* Free Software related
* Barcelona based
Working for Canonical gives me those four points and as an extra the salary is better than the average Barcelona job, so I can't complain :-)
As note i am almost sure my regular work will *not* be working in creating Kubuntu so don't ask me for feature improvements/bugfixes for it.
Wednesday, November 16, 2011
KDE/Harmattan brings me back to Berlin!
Until this summer I had never been in Berlin. And now after going there this August for the Desktop Summit, I am going back this weekend for the KDE/Harmattan sprint. My plan for this sprint involves trying to port KTuberling to Harmattan, should not be too difficult after my Blinken port, investigate how to use a proper kdelibs instead of libkok and try to learn as much of possible from all the attendants :-)
Thursday, November 10, 2011
Okular and Send by Mail
There are regular requests about Okular having a "Send by Mail" menu item in the File menu.
In terms of implementation, it is a five minutes hack, since all you have to do is create a new KAction that calls KToolInvocation::invokeMailer with a few params and you are done.
Yet, i have been refusing to implement it since i do not think it is Okular responsibility to offer this feature.
I can understand that users are used to Adobe Reader having it, and in the unintegrated world of Windows it makes sense that every app includes as many features as possible since it is you versus the world.
On the other hand, in KDE land we pride ourselves of having things properly integrated and each feature in the software where it logically belongs, and in my book, the action of initiating the sending of an email, does not belong to a document viewer.
It is true though, that even if I've been involved in UI designing/programming for a while I can't still say I know what belongs to a given program or not.
Because once we add it to Okular? Why not to gwenview? And why not to Calligra? And And And?
What do you think?
In terms of implementation, it is a five minutes hack, since all you have to do is create a new KAction that calls KToolInvocation::invokeMailer with a few params and you are done.
Yet, i have been refusing to implement it since i do not think it is Okular responsibility to offer this feature.
I can understand that users are used to Adobe Reader having it, and in the unintegrated world of Windows it makes sense that every app includes as many features as possible since it is you versus the world.
On the other hand, in KDE land we pride ourselves of having things properly integrated and each feature in the software where it logically belongs, and in my book, the action of initiating the sending of an email, does not belong to a document viewer.
It is true though, that even if I've been involved in UI designing/programming for a while I can't still say I know what belongs to a given program or not.
Because once we add it to Okular? Why not to gwenview? And why not to Calligra? And And And?
What do you think?
Thursday, November 03, 2011
Blinken: First KDE App on the Nokia Store?
Today Nokia approved Blinken for the N9/N950 and it appeared in the Nokia store.
I started coding Blinken (back then known by the ksimon name) in February 2005 and a few months later it joined the KDE Education project.
The last few months I've been playing with the N950 that the nice people at Nokia lent me and soon I realized that thanks to the Document Viewer (based in Calligra) it has some sort of kdelibs on the device (by the name of libkok) so porting KDE applications to it became a bit easier.
With the aim of having Blinken on my phone I started to work and after a few ifdefs for the mouse hover handling and a bit of QML for bits of the UI I ended up with this commit that makes Blinken available for another platform and to my knowledge makes it the first KDE application in the Nokia Store.
I started coding Blinken (back then known by the ksimon name) in February 2005 and a few months later it joined the KDE Education project.
The last few months I've been playing with the N950 that the nice people at Nokia lent me and soon I realized that thanks to the Document Viewer (based in Calligra) it has some sort of kdelibs on the device (by the name of libkok) so porting KDE applications to it became a bit easier.
With the aim of having Blinken on my phone I started to work and after a few ifdefs for the mouse hover handling and a bit of QML for bits of the UI I ended up with this commit that makes Blinken available for another platform and to my knowledge makes it the first KDE application in the Nokia Store.
PelleTut, we love you too!
A nice user by the nickname of PelleTut just dropped by the #okular IRC channel and after me telling him "use evince instead of okular if you like it more/does what you want", he answered with a nice "lol, retard" and then quit.
Great way to convince us to implement those missing features!
Great way to convince us to implement those missing features!
Wednesday, November 02, 2011
Some Okular testing, please?
There are three newsworthy things today in Okular world:
* Michel Ludwig merged into master the branch he had been developing to help him use Okular better from Kile. This should had no impact in regular Okular users but as this is a biggish change it would be great if you all master branch okular users update, recompile and complain if you see any regression
* I committed a patch that will make the UI more responsive on opening for documents whose pages are slow to render. There is no real speedup, but the fact that you have the UI up and running sooner is nice. Again this should be pretty innocuous but if you run master and see any new weird thing on opening files let us know.
* I created a new branch named kill_poppler_thread whose only commit removes a lot of code from the PDF/poppler backend that is not needed anymore since there is now generic code that provides the threading functionality that code had. This should also be innocuous but i am a bit hesitant of merging it into master so it would be cool if some that use okular with PDF files intensively switched to the kill_poppler_thread and verified everything works as it should. If you do, please tell me and it will make my decision of whether merging into master or not easier.
* Michel Ludwig merged into master the branch he had been developing to help him use Okular better from Kile. This should had no impact in regular Okular users but as this is a biggish change it would be great if you all master branch okular users update, recompile and complain if you see any regression
* I committed a patch that will make the UI more responsive on opening for documents whose pages are slow to render. There is no real speedup, but the fact that you have the UI up and running sooner is nice. Again this should be pretty innocuous but if you run master and see any new weird thing on opening files let us know.
* I created a new branch named kill_poppler_thread whose only commit removes a lot of code from the PDF/poppler backend that is not needed anymore since there is now generic code that provides the threading functionality that code had. This should also be innocuous but i am a bit hesitant of merging it into master so it would be cool if some that use okular with PDF files intensively switched to the kill_poppler_thread and verified everything works as it should. If you do, please tell me and it will make my decision of whether merging into master or not easier.
Subscribe to:
Posts (Atom)



