Andre Heinecke did some patches [1][2][3][4][5] over the last few weeks that finally got landed this week.
With it we support recalculation of some fields based on others. An example that calculates sum, average, product, minimum and maximum of three numbers can be found in this youtube video.
This code will be available for the Okular version that will ship with KDE Applications 18.04
A blog about random things and sometimes about my work translating and developing KDE and anything
Friday, February 23, 2018
Wednesday, February 07, 2018
KDE Applications 18.04 Schedule finalized
It is available at the usual place https://community.kde.org/Schedules/Applications/18.04_Release_Schedule
Dependency freeze is in 5 weeks and Feature Freeze in 6 weeks, so hurry up!
Dependency freeze is in 5 weeks and Feature Freeze in 6 weeks, so hurry up!
Etiquetes de comentaris:
kde applications,
release schedule
Wednesday, November 01, 2017
Akademy 2018 site visit
Last week I was part of the expedition by KDE (together with Kenny and Petra) to visit the local team that is helping us organize Akademy 2018 in Vienna.
I can say that I'm very happy :)
The accommodation that we're probably going to recommend is 15 minutes away by train from the airport, 20 minutes on foot from the Venue (10 on metro) so kind of convenient.
The Venue is modern and centrally located in Vienna (no more "if you miss the bus you're stranded")
Vienna itself seems to be also a nice city for late evening sight-seeing (or beers :D)
Hopefully "soon" we will have confirmation of the dates and we'll be able to publish them :)
I can say that I'm very happy :)
The accommodation that we're probably going to recommend is 15 minutes away by train from the airport, 20 minutes on foot from the Venue (10 on metro) so kind of convenient.
The Venue is modern and centrally located in Vienna (no more "if you miss the bus you're stranded")
Vienna itself seems to be also a nice city for late evening sight-seeing (or beers :D)
Hopefully "soon" we will have confirmation of the dates and we'll be able to publish them :)
Thursday, October 19, 2017
KDE Edu sprint 2017 in Berlin
I had the privilege to attend the KDE Edu sprint in Berlin that happened from the 6th to the 9th of October.
There i mostly worked in the KTuberling port to Android. If you have children (or maybe if you want to feel like one for a few minutes) and an Android device please try it and give some constructive feedback ;)

Though of course that's not all we did, we also had important discussions about "What is kde edu", about how we should be involved in the "Making KDE software the #1 choice for research and academia" KDE goal and other organization stuff like whether we want a phabricator rule to send email to the kdeedu mailing list for a set of projects, etc.

Thanks go to all the people that donate to KDE e.V. that made sponsoring the trip possible, and to Endocode for hosting us and sponsoring all kind of interesting drinks and pizza on Sunday :)
There i mostly worked in the KTuberling port to Android. If you have children (or maybe if you want to feel like one for a few minutes) and an Android device please try it and give some constructive feedback ;)
Though of course that's not all we did, we also had important discussions about "What is kde edu", about how we should be involved in the "Making KDE software the #1 choice for research and academia" KDE goal and other organization stuff like whether we want a phabricator rule to send email to the kdeedu mailing list for a set of projects, etc.

Thanks go to all the people that donate to KDE e.V. that made sponsoring the trip possible, and to Endocode for hosting us and sponsoring all kind of interesting drinks and pizza on Sunday :)
Sunday, October 01, 2017
Sorry for Spain
Today the Spanish police has committed in Catalonia what can only be described as barbarism.
Beware of the videos, they may hurt your feelings.
They have hit people on the street and fought catalan police over it https://twitter.com/jaumeclotet/status/914484855450333184
They have hit people sitting on stairs https://twitter.com/LaVanguardia/status/914447807754448896
They have hit old ladies https://twitter.com/asiercorc/status/914395993193504768
They have hit people standing on the street https://twitter.com/julia_otero/status/914466508570595329
Did i mention they hit people on the street? https://twitter.com/isaacfcorrales/status/914508531654676480
They also hit someone that was already injured and walking away https://twitter.com/Ulldebou1/status/914497525033390080
They have broken (on purpose) all the fingers of a woman that was already on the floor https://twitter.com/hectorjuanatey/status/914538706299707392
They have hit some more people https://twitter.com/QuicoSalles/status/914504909508218880
They have hit firefighters https://twitter.com/Jorfs_/status/914482953954177024
Currently we're officially speaking of more than 800 injured people https://twitter.com/emergenciescat/status/914584719060275200 but i wouldn't be surprised if the count was much higher.
Meanwhile a dude voting wrapped in a spanish+bull flag gets a round of clapping https://twitter.com/JoseJPriego/status/914485977158209536
And I'm saying sorry for Spain, because it's obvious that after today Catalonia will leave Spain, sooner or later but it's going to happen, but the rest of Spain will have to live with these beasts ingrained in their police and politics.
Sorry and good luck.
Beware of the videos, they may hurt your feelings.
They have hit people on the street and fought catalan police over it https://twitter.com/jaumeclotet/status/914484855450333184
They have hit people sitting on stairs https://twitter.com/LaVanguardia/status/914447807754448896
They have hit old ladies https://twitter.com/asiercorc/status/914395993193504768
They have hit people standing on the street https://twitter.com/julia_otero/status/914466508570595329
Did i mention they hit people on the street? https://twitter.com/isaacfcorrales/status/914508531654676480
They also hit someone that was already injured and walking away https://twitter.com/Ulldebou1/status/914497525033390080
They have broken (on purpose) all the fingers of a woman that was already on the floor https://twitter.com/hectorjuanatey/status/914538706299707392
They have hit some more people https://twitter.com/QuicoSalles/status/914504909508218880
They have hit firefighters https://twitter.com/Jorfs_/status/914482953954177024
Currently we're officially speaking of more than 800 injured people https://twitter.com/emergenciescat/status/914584719060275200 but i wouldn't be surprised if the count was much higher.
Meanwhile a dude voting wrapped in a spanish+bull flag gets a round of clapping https://twitter.com/JoseJPriego/status/914485977158209536
And I'm saying sorry for Spain, because it's obvious that after today Catalonia will leave Spain, sooner or later but it's going to happen, but the rest of Spain will have to live with these beasts ingrained in their police and politics.
Sorry and good luck.
Thursday, August 24, 2017
How to check if your touch screen is really sending touch events
I've had this problem twice in the last year, I'm testing something related to touch in my laptop and I'm stuck trying to figure out if it's my code that is wrong or if my screen is misconfigured and it's only sending mouse events.
Thanks to Shawn of Qt fame for having helped me the two times and explained me how to test if my screen is sending touch events, I'm writing this blog so i don't forget and ask him a third time :D
First step is figuring out the xinput id of the touch screen of my laptop
tsdgeos@yoga:~:$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger id=9 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen id=10 [slave keyboard (3)]
↳ Integrated Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
In this case would be id=9
Then you can do
tsdgeos@yoga:~:$ xinput test-xi2 9
and if the output contains RawTouchBegin and RawTouchEnd events, it means that the screen is correctly sending touch events :)
Next you probably want to check if Qt actually is seeing those events, for that there's a few ready to use demos in the qtdeclarative source code, so I would do
tsdgeos@yoga:~:$ qml qt5/qtdeclarative_58/examples/quick/touchinteraction/multipointtouch/multiflame.qml
And after putting my five fingers on the screen I would see
So all is good, the bug is my code and not in Qt or the configuration of my touch screen :D
Thanks to Shawn of Qt fame for having helped me the two times and explained me how to test if my screen is sending touch events, I'm writing this blog so i don't forget and ask him a third time :D
First step is figuring out the xinput id of the touch screen of my laptop
tsdgeos@yoga:~:$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger id=9 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen id=10 [slave keyboard (3)]
↳ Integrated Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
In this case would be id=9
Then you can do
tsdgeos@yoga:~:$ xinput test-xi2 9
and if the output contains RawTouchBegin and RawTouchEnd events, it means that the screen is correctly sending touch events :)
Next you probably want to check if Qt actually is seeing those events, for that there's a few ready to use demos in the qtdeclarative source code, so I would do
tsdgeos@yoga:~:$ qml qt5/qtdeclarative_58/examples/quick/touchinteraction/multipointtouch/multiflame.qml
And after putting my five fingers on the screen I would see
So all is good, the bug is my code and not in Qt or the configuration of my touch screen :D
Etiquetes de comentaris:
multitouch,
qt,
touch screen,
xinput
Tuesday, August 01, 2017
Big day in poppler-land
Today in Poppler:
* Poppler 0.57 got released
* We agreed to stop supporting openjpeg 1.x at the end of the year
* We agreed to stop supporting Qt 4.x at the end of the year
* We merged the better_object branch
The last one is the one that is really big, since it introduces a big rework of the Object class, a central component to Poppler. Object is much used like a QVariant, i.e. it can hold various kind of data inside and you can pass it around.
Unfortunately the Object implementation we inherited from xpdf was kind of hard to use, having to basically do the memory management by hand. i.e. destroying the object was not enough to free the memory, you had to call free() on it.
Thanks to C++11 now we have an implementation with move semantics that greatly simplifies the use of Object and will hopefully make for less memory management mistakes.
Let's hope we didn't break anything in the process though :D
* Poppler 0.57 got released
* We agreed to stop supporting openjpeg 1.x at the end of the year
* We agreed to stop supporting Qt 4.x at the end of the year
* We merged the better_object branch
The last one is the one that is really big, since it introduces a big rework of the Object class, a central component to Poppler. Object is much used like a QVariant, i.e. it can hold various kind of data inside and you can pass it around.
Unfortunately the Object implementation we inherited from xpdf was kind of hard to use, having to basically do the memory management by hand. i.e. destroying the object was not enough to free the memory, you had to call free() on it.
Thanks to C++11 now we have an implementation with move semantics that greatly simplifies the use of Object and will hopefully make for less memory management mistakes.
Let's hope we didn't break anything in the process though :D
Etiquetes de comentaris:
C++11,
move semantics,
poppler
Thursday, June 15, 2017
KDE Applications 17.08 Schedule finalized
It is available at the usual place https://community.kde.org/Schedules/Applications/17.08_Release_Schedule
Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!
Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!
Thursday, April 20, 2017
Okular 1.1 released!
Today KDE Applications 17.04 was released.
It includes Okular 1.1, it contains a nice set of features:
* Add annotation resize functionality
* Add support for auto-calculation of form contents via JavaScript
* Allow to rotate the page view using two-finger pinches on a touchscreen
* Change pages in presentation mode by swiping on touch screen
* Added support for Links that change the Optional Content visibility status
* Allow to disable automatic search while typing
* Allow to create bookmarks from the Table Of Contents
This release was brought to you by Albert Astals Cid, Oliver Sander, Luigi Toscano, Martin T. H. Sandsmark, Tobias Deiminger, Antonio Rojas, Burkhard Lück, Christoph Feck, Elvis Angelaccio, Gilbert Assaf, Heiko Becker, Hrvoje Senjan, Marco Scarpetta, Miklós Máté, Pino Toscano, Yuri Chornoivan.
It includes Okular 1.1, it contains a nice set of features:
* Add annotation resize functionality
* Add support for auto-calculation of form contents via JavaScript
* Allow to rotate the page view using two-finger pinches on a touchscreen
* Change pages in presentation mode by swiping on touch screen
* Added support for Links that change the Optional Content visibility status
* Allow to disable automatic search while typing
* Allow to create bookmarks from the Table Of Contents
This release was brought to you by Albert Astals Cid, Oliver Sander, Luigi Toscano, Martin T. H. Sandsmark, Tobias Deiminger, Antonio Rojas, Burkhard Lück, Christoph Feck, Elvis Angelaccio, Gilbert Assaf, Heiko Becker, Hrvoje Senjan, Marco Scarpetta, Miklós Máté, Pino Toscano, Yuri Chornoivan.
Tuesday, April 04, 2017
Akademy 2017 Call for Papers deadline is in a week!
The Akademy 2017 Call for Papers ends April 10th at 23:59:59 CEST.
Surely you have interesting stuff to share with the community, so go to https://akademy.kde.org/2017/cfp and submit a proposal!
Surely you have interesting stuff to share with the community, so go to https://akademy.kde.org/2017/cfp and submit a proposal!
Tuesday, March 07, 2017
Okular table selection mode is amazing
I case you didn't know ;)
Okular has a amazing table select mode where you select an area and Okular will auto detect rows and columns on it (you can fine-tune it afterwards) and then you can directly copy&paste to a spreadsheet :)
It's mostly tested on PDF files, but should work the same on any of the formats we support text extraction.
Update: This feature is not new, just i got to use it today ;) Video at https://www.youtube.com/watch?v=E8XWI06tltY
Okular has a amazing table select mode where you select an area and Okular will auto detect rows and columns on it (you can fine-tune it afterwards) and then you can directly copy&paste to a spreadsheet :)
It's mostly tested on PDF files, but should work the same on any of the formats we support text extraction.
Update: This feature is not new, just i got to use it today ;) Video at https://www.youtube.com/watch?v=E8XWI06tltY
Wednesday, March 01, 2017
Okular Form Field auto-updating (Work In Progress)
You can see it in https://www.youtube.com/watch?v=fCLFkpaW3Ug
As the description of the YouTube video says:
Form 14 updates from Form 13 values as defined by the PDF file.
There's a few bugs left:
* To make the page contents update i need to edit another form in the page of the form that is being auto updated
* The contents of the "editable" Form are not updated. (The form is actually not editable since it's readonly)
And also a pile of uncommited and unreviewed patches, and probably only works for very simple files like this one, but it's a start :)
Update: It works fine now and everything has been commited :) https://www.youtube.com/watch?v=S-zmHc3WUhs
As the description of the YouTube video says:
Form 14 updates from Form 13 values as defined by the PDF file.
There's a few bugs left:
* To make the page contents update i need to edit another form in the page of the form that is being auto updated
* The contents of the "editable" Form are not updated. (The form is actually not editable since it's readonly)
And also a pile of uncommited and unreviewed patches, and probably only works for very simple files like this one, but it's a start :)
Update: It works fine now and everything has been commited :) https://www.youtube.com/watch?v=S-zmHc3WUhs
Thursday, February 16, 2017
KDE Applications 17.04 Schedule finalized
It is available at the usual place https://community.kde.org/Schedules/Applications/17.04_Release_Schedule
Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!
Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!
Thursday, December 15, 2016
KDE Applications 16.12.0 just out!
See https://www.kde.org/announcements/announce-applications-16.12.0.php for the announcement and https://www.kde.org/announcements/fulllog_applications.php?version=16.12.0 for the reaaaaaaaaally long changelog.
Well done everyone :)
Well done everyone :)
Wednesday, December 07, 2016
The dangers of stable/LTS/supported versions
Ubuntu 14.04 LTS is supported until April 2019 and ships poppler 0.24.5 http://packages.ubuntu.com/search?suite=trusty&searchon=names&keywords=libpoppler-dev
RHEL 7.3 ships poppler 0.26.5 (I may be wrong, https://git.centos.org/summary/?r=rpms/poppler is the best info i could find, Red Hat does not make easy to know what you're buying)
Debian stable (Jessie) ships poppler 0.26.5 https://packages.debian.org/search?suite=jessie&searchon=names&keywords=libpoppler-dev
Current release is poppler 0.49 https://poppler.freedesktop.org/releases.html
This means that people are running stable versions and thinking they are secure, but if we trust security specialists, [almost] every crash can be exploited, and I'm almost sure neither Ubuntu nor RedHat nor Debian have backported all of the crash fixes of the more than 20 releases and 2 years of development behind those *very old* versions they are shipping.
I don't know how/if this can be fixed, but i honestly think we're giving users a false sense of security by letting them run those versions.
RHEL 7.3 ships poppler 0.26.5 (I may be wrong, https://git.centos.org/summary/?r=rpms/poppler is the best info i could find, Red Hat does not make easy to know what you're buying)
Debian stable (Jessie) ships poppler 0.26.5 https://packages.debian.org/search?suite=jessie&searchon=names&keywords=libpoppler-dev
Current release is poppler 0.49 https://poppler.freedesktop.org/releases.html
This means that people are running stable versions and thinking they are secure, but if we trust security specialists, [almost] every crash can be exploited, and I'm almost sure neither Ubuntu nor RedHat nor Debian have backported all of the crash fixes of the more than 20 releases and 2 years of development behind those *very old* versions they are shipping.
I don't know how/if this can be fixed, but i honestly think we're giving users a false sense of security by letting them run those versions.
No one "works" on Poppler
I thought that was obvious, but today someone thought that i was "working" as "paid working" on it.
No, I don't get paid for the work i do on Poppler.
It's my computing hobby, and on top of that it's not even my "primary" computing hobby, lots of KDE stuff take precedence over it, and i guess Gnome stuff may also take precedence for Carlos (second top commiter according to the git shortlog)
Aside a few paid contributions and some patches that may have come from people that use the software on their business (and we could file them under "paid" since they did the fix as part of their job) no one has a paid job that is mainly "work on poppler".
I guess we've done a good enough job as hobbyist :)
Obviously we could do better, so if you have lots of money and are interested in making free software PDF rendering beter please hire someone to help us (no, this is not me asking for money, I've a good enough job already).
And if you don't have money but you have some free time and like to help, join us :)
And if you really really have some free time or lots of money you could port Okular, Evince et al to pdfium and see if it's actually better/worse than poppler.
No, I don't get paid for the work i do on Poppler.
It's my computing hobby, and on top of that it's not even my "primary" computing hobby, lots of KDE stuff take precedence over it, and i guess Gnome stuff may also take precedence for Carlos (second top commiter according to the git shortlog)
Aside a few paid contributions and some patches that may have come from people that use the software on their business (and we could file them under "paid" since they did the fix as part of their job) no one has a paid job that is mainly "work on poppler".
I guess we've done a good enough job as hobbyist :)
Obviously we could do better, so if you have lots of money and are interested in making free software PDF rendering beter please hire someone to help us (no, this is not me asking for money, I've a good enough job already).
And if you don't have money but you have some free time and like to help, join us :)
And if you really really have some free time or lots of money you could port Okular, Evince et al to pdfium and see if it's actually better/worse than poppler.
Etiquetes de comentaris:
free software,
pdf,
poppler
Tuesday, November 15, 2016
Finding a valid build order for KDE repositories
KDE has been lately been growing quite a bit in repositories, and it's not always easy to tell what needs to be build before, do i build first kdepim-apps-libs or pimcommon?
A few days ago i was puzzled by the same question and realized we have the answer in the dependency-data-* files from the kde-build-metadata repository.
They define what depends on what so what we need to do is just build a graph with those dependencies and get a valid build order from it.
Thankfully python already has a module for graphs and stuff so build-order.py was not that hard to write.
So say you want to know a valid build order for the stable repositories based on kf5-qt5
Here it is
Note i've been saying *a* valid build order, not *the* valid build order, since there are various orders that are valid since not every repo depends other repos.
Now i wonder, does anyone else find this useful? And if so to which repository do you think i should commit such script?
A few days ago i was puzzled by the same question and realized we have the answer in the dependency-data-* files from the kde-build-metadata repository.
They define what depends on what so what we need to do is just build a graph with those dependencies and get a valid build order from it.
Thankfully python already has a module for graphs and stuff so build-order.py was not that hard to write.
So say you want to know a valid build order for the stable repositories based on kf5-qt5
Here it is
Note i've been saying *a* valid build order, not *the* valid build order, since there are various orders that are valid since not every repo depends other repos.
Now i wonder, does anyone else find this useful? And if so to which repository do you think i should commit such script?
KDE Applications 16.12 branches created
The dependency freeze for KDE Applications 16.12 is on since November 10
For all repositories part of the KDE Applications 16.12 release the Applications/16.12 branch has been created.
The list of modules+branches that will be part of the release is at https://cgit.kde.org/sysadmin/release-tools.git/tree/modules.git?h=Applications/16.12
Please make sure the list is correct. If it's not please email release-team at kde.org *NOW*
From now on master is open for feature changes, but remember that all your fixes also should get to the Applications/16.12 branch (my suggestion, commit fixes to Applications/16.12 and then merge that branch to master)
KDE Applications 16.12 Beta (version number 16.11.80) will be tagged November 17 at 23:59 UTC
Once the Beta is tagged no more features can be added.
For all repositories part of the KDE Applications 16.12 release the Applications/16.12 branch has been created.
The list of modules+branches that will be part of the release is at https://cgit.kde.org/sysadmin/release-tools.git/tree/modules.git?h=Applications/16.12
Please make sure the list is correct. If it's not please email release-team at kde.org *NOW*
From now on master is open for feature changes, but remember that all your fixes also should get to the Applications/16.12 branch (my suggestion, commit fixes to Applications/16.12 and then merge that branch to master)
KDE Applications 16.12 Beta (version number 16.11.80) will be tagged November 17 at 23:59 UTC
Once the Beta is tagged no more features can be added.
Sunday, October 23, 2016
KDE Applications 16.12 Schedule finalized
It is available at the usual place https://community.kde.org/Schedules/Applications/16.12_Release_Schedule
Dependency freeze is in 2.5 weeks and Feature Freeze in 3.5 weeks, so hurry up!
Dependency freeze is in 2.5 weeks and Feature Freeze in 3.5 weeks, so hurry up!
Etiquetes de comentaris:
kde applications,
release schedule
Tuesday, August 30, 2016
I'm going to Akademy :)
Subscribe to:
Posts (Atom)


