Category Archives: KDE-Edu

Mathematics that you can touch

These last months have been intense, so intense I needed a bit of a distraction. I’ve always felt some kind of curiosity for the world of 3D printing and, as I’ve said in different occasions, I always push KAlgebra to the limit when I have the occasion.

I had been researching, I’ve never had a 3D printer and I probably won’t have one in years, but I still wanted to figure out how to get do something there. First, I went through many 3D printing services and looked through the different supported formats. To be honest, I implemented the one that looked the simplest, it happened to work quite similar to how OpenGL works internally, so it seemed like a safe bet.

Once I had a working export algorithm, I chose an extremely good looking plot (thanks Percy ;-)) and then I uploaded it over to one of those 3D printing services. The website showed me a preview, it seemed like their software understood the format, so it looked like my job was done. I fiddled with it to get it printed in a reasonable size and submitted it to print and send. For the curious, here’s the formula I used:

piecewise { x^2+y^2+z^2<35 ? 2-(cos(x+(1+5^0.5)/2*y)+cos(x-(1+5^0.5)/2*y)+cos(y+(1+5^0.5)/2*z)+cos(y-(1+5^0.5)/2*z)+cos(z-(1+5^0.5)/2*x)+cos(z+(1+5^0.5)/2*x)), ? 1 } = 0

A couple of weeks later a box arrived to our office. To be honest, it was a bit weird. I was very excited, but then nobody else was when I showed it. Because it's math I guess, and it's boring. I felt a bit like when I used to spend my nights hacking KAlgebra around then show it around. Anyway, I'll say it. A 3D plot, in my hands, to play with them. How cool is that? :D

** crickets **


Now I'm sure you're excited and willing to try it. It will be available in the next version of KAlgebra, that will be released in the KDE Applications 2014.12, which by the way will be the first KAlgebra release based on Qt5 and KF5, and will be featuring many other new features.
And of course, it's free software developed in an open community! If you're feeling adventurous or you just know how to build KDE software, feel free to pull analitza and kalgebra repositories and give it a try! :)

KDE Software on Android

Despite my involvement in KDE and free software operating systems, one of the features I’ve always loved from Qt is how we can use it to develop an application that can be used on any platform. Since I got my first /programmable/ phone, I’ve wanted to get my projects to work there, especially through all Nokia approaches to the issue, and I’ve managed to do so with relative success.

At some point last year I got to the conclusion that, if I wanted to remain somewhat sane, the best approach was to start focusing Android by caring about the CMake side of the issue and let QtQuick get into place, which is not in place yet, but admittedly in a much better state than a couples of years ago.

My KDE on Android approach is that any KDE project should be able to be built and bundled for Android from the sources, that is with an apk file as a result, without having to change the project sources: c++ or cmake.

I started working on this longtime ago on Qt4, but the fact that kdelibs was about to change and the poor direction of the port drove me away from bothering. Also if we want portable interfaces we want QtQuick Controls. I don’t think there’s much doubt there.

I restarted the project last November. I compiled a full Qt5 installation and started to get it to build, my intention was to use android.toolchain.cmake again, but I then decided that it would be better to create a new cmake toolchain file to have all the control I needed over how it’s being compiled. Some things need to be treated with special love like how executables are built and especially being able to create apks.

At the moment it seems to be working reasonably well, I’ve been using KAlgebra as a test. I get to easily deploy the Analitza framework which is a dependency and then consume it from KAlgebra which bundles all dependencies into a nice publishable APK.

Enough back-story, let’s see how we’d build KAlgebra (or any traditional KDE project for that matter).

To get all the features going we need:
* Qt 5.4 built for Android (currently in dev branch)
* CMake 3.0
* Android NDK
* Android Development Kit
* the ToolChain file I created (still to find a proper place, can be found here)
* Extra-CMake-Modules
* The project’s source code, because the power is in the source!

Here’s an example on how to get it done [1], but that’s the expanded version. As an attempt not to scare you here I used a simplified version, by having a cmakeandroid macro defined, passing cmake all the needed information.

mkdir build-analitza build-kalgebra
cd build-analitza && cmakeandroid ~/src/analitza && make && make install
cd build-kalgebra && cmakeandroid ~/src/kalgebra -DQTANDROID_EXPORTED_TARGET=kalgebramobile && make && make create-apk-kalgebramobile

Which I think it’s readable enough.

To conclude, we are able to consider Android as a candidate for KDE projects to adopt. There’s much more to do both on KDE, Qt and cmake sides, but we can get to discuss it when you’ve ported your application.

For the moment, I’d like to know if there’s any application that is interested in being built for Android, I’d like to give it a try, especially if it’s already been ported to QtQuick and Qt5/KF5.
Furthermore, in case anybody is interested, I’ll open a wiki page with this information, in case anybody wants to use it, for the moment my cmake toolchain and manifest can be found here:

Continue reading KDE Software on Android

KDE, the present and present+1

Usually I don’t blog because there’s not much going on. Lately it’s been because there’s been too much things going on.

As always in communities, it’s not something somebody is doing in his corner, but some synergy coming together in a beautiful and convoluted way. Let me try to sort what I’m talking about.

  • The Akademy 2013 is happening soon. It’s going to be a very interesting event, KDE is evolving in a fast pace, more than most of us realize. This year’s Akademy will be crucial to the future of the project, I wouldn’t miss it.

    I'm going to the Akademy 2013

  • This year, Akademy comes with a small present in it. The Akademy-es 2013 will happen in Bilbao as well, the two days before the Akademy. It’s our biggest opportunity to help people from Spain join the KDE awesomeness. If you are around and understand Spanish, don’t hesitate to join!
    We’ll have talks, we’ll have discussions and we’ll tell you that you must go to Akademy. 🙂

  • Qt5 is gaining traction and we’re getting up to speed to adopt it through the KDE Frameworks 5 Project. The Qt contributors will be meeting in Bilbao as well, discussing what features we’ll be finding in Qt 5.2 and further. That means that they’ll be deciding what things we’ll have available for future releases by KDE!

Ok, so I’m saying that we’ll be gathering a bunch of people talking about what we do. What’s so special about that?
Well, first of all it’s not just people. It’s people who are passionate about what they do, the people who have created the KDE we all know and the one we don’t know about yet.

Personally, these are the topics I’d like to discuss about this year:

  • I want to talk to distributions. I want to remind them that Muon Discover will be working on their platform soon. I want to work together with them to make sure they are on board and that it will go smoothly.
  • I want to get in touch with the KDE Edu fellows, see what they’re up to (I hear that there’s some new awesome application coming together). I want to discuss about Khipu with them, it’s seeing some very interesting progress recently, I’m hoping to see it released soon!
  • The KDevelop team will be having their meeting there as well. I foresee a closer and closer KDevelop 4.6 release, and we want to make this one the best ever. Also I’d like to discuss some otherwise interesting stuff as well such as some changes in the C++ support that we’ve been discussing.
  • I’m quite excited about the KPeople project, as well. It’s coming together very well, getting ready for applications to adopt it. KDE Telepathy has already started worked on supporting it on some parts. Also KDE PIM should be adopting it soon, so will other projects. I want to easily interact with my friends from our applications. Awesomeness.
  • And last but not least, the KDE Frameworks 5 project, that I already talked about before. It’s probably the most important initiative in KDE, at the moment. Let’s push it all together, at Akademy!

I know it’s been a huge blog post, but also I think that it displays where we are. Lots of people, a big community, with smaller communities in it, coming together for a greater purpose, having beer and exchanging ideas.


See you in Bilbao!

Pairs is finally in KDE Edu

It’s been a long way, it’s made us struggle with ugliness at some point, but now we have Pairs in place to be released with the next KDE 4.9 Beta.

Also it will come with a great new UI drawn by Abhash Bikram Thapa featuring some lovely colorful people, yay! 🙂

Pairs is full of green people

If anybody is interested in the project, please get in touch with us or with the kde-edu mailing list! There’s plenty to be done: new games (sets of images and concepts), the game editor, improving the adaption in touch systems, and anything you’d like.

Thanks to everyone who has been involved in the making, especially Marco Calignano for helping and pushing me to do the work when needed, and Anne Marie for caring about the project. ^^

KAlgebra on Android

Since I started blogging I’ve talked many times about KAlgebra. Usually it’s not to display it’s awesome features but to discuss its portability. I’ve always considered that it’s important for KDE not to lock down its applications to a platform. That’s why I’ve put my efforts into ensuring KAlgebra will work properly on different platforms so far, like the N9 and Plasma Active.

— TL;DR: you can jump to the video 🙂 —

I think we’ve done a great job so far. It hasn’t been easy and we are not there yet, but I think that being able to do things like this is an awesome opportunity for projects like KDE Edu where we want to target the widest audience possible.

Android offers this, a widespread audience where we will be able to put our things. That’s why I put my interest in it, anyway.

Regarding the actual implementation, it’s far from perfect. It’s using KAlgebra Mobile, which has different backends. I created a new one that doesn’t require any components present. QtQuick components are lacking for Android at the moment, so I came up with this UI that besides not being properly integrated it works good enough and keeps me from frustration. Things are looking good on that regard, apparently I’m not the only one needing those, so I hope we’ll get some proper UX eventually.

A lot is left to be done still: Integration with the system, integration in the Market, etc. Ideas welcome.

Oh, and last but not least, big thank you for Marijn Kruisselbrink who put up with my questions and opened the path by adapting kdelibs.

And now, the video.

Almost forgot, if anybody wants to try it, you can download the installer here. Remember, it eats easter bunnies.

Pairs and ugly applications

Some time ago I blogged about a new game for KDE Edu, a memory-enhancing cards game. It was getting dusty in my scratch repository until Marco Calignano had the strength to push some features that it desperately needed and at the same time pushed me into gaining interest in the project again.

A lot has happened since: the name changed to Pairs (can be found in kde:pairs now) and it’s quite awesome already, I’d say. It lets us download themes from the Internet, supports different game types like image->image, image->word and some others, etc.

A couple of weeks ago we discussed about moving it to KDE Edu finally, although we decided not to and port it to QtQuick so that we can make it work in touch screens and we can get to have fancy GUI. In few days we managed to port it to QtQuick (somehow, there are some hacks :D) but now it’s a little ugly. WTH, not a little ugly, very ugly. It makes your eyes hurt and it’s on purpose.

Why would someone make such an ugly beast? Well, because we’re looking forward to find someone who can make it look nice. Now, those of you who have some pride in your artistic skills, please consider it: Could you please dedicate some time in your life to a community of hardcore developers without this sparkle for beauty? We don’t have much to offer other than considering your idea and hopefully it will get to be used by children from all around the world (now that I think of it, maybe it is something!).

What we need is quite simple:

  1. Check the video, when your eyes hurt just stop it.
  2. Think of what you think the GUI should look like.
  3. Here I’d love to say that you should be able to provide a QML file, if you can’t then just a mockup.
  4. Optionally (and preferably) you can check what it looks like by modifying the qml GUI and compiling the program. Here there are some instructions:
  5. Send it to me at You can also send me any questions you have, as well as posting them as comments below, so that we can discuss it all together.

Cheers, for beauty! 🙂

PS: And elegance 😉

New KDE Edu website and logo, the making of

I’m quite happy to see that we finally made it for the new KDE Edu design. From my point of view it’s quite hard to make all these changes from our community perspective. KDE has been built fundamentally around software developers and it’s not easy to get contributions other than that, I guess that’s mainly because I can write the type checker for KAlgebra but I really can’t work on a website design. It’s usually quite hard to get people from the community willing to put their love in projects like the KDE Edu website.

kdeedu logo

They say that there are always solutions, this time it came from Agustín Benito, who used his white wizard powers to get us in contact with a couple of designers coming from ASOLIF companies that wanted to contribute to free software somehow, and this was the way.


The experience went really well, I won’t say it was easy for me but I’d say it’s because it was my first time working like that and I didn’t know very much what to expect, but the thing is that people who worked with us are very good professionals (something that doesn’t happen always in our world as well, for good and bad) and I don’t think anyone can doubt of the quality of our result, like it or not. \o/ yay us!

edu tree

I won’t say everything was perfect, probably the whole process took too much time and communication could have been better probably, but I think it’s a great start and I’m really looking forward in seeing this collaboration paradigm gaining adoption inside KDE, and why not, taking part in these projects.

And last but not least, thanks to the KDE-www guys who were really helpful, specially Ingo Malchow and Matthias Meßmer who were really supportive with the project and helped us make the best out of it. Also thanks to Alex Fiestas who joined us in the KDE Edu sprint and broke some of his own KDE collaboration rules to give us a hand doing some development on the website.

Long life to KDE Edu and flowers! \o/

So… what’s cooking?

I’ve probably been talking lately too much about where I was going to spread my KDE love and talking too little about what I’ve been doing and what’s happening:

Akademy-es: Yes! we’re having the Akademy-es in Barcelona this year and I know you won’t miss it. Yay! Awesome. Well it takes some preparation, so it takes some time. I feel I’m quite lucky I could find a rather big team of local KDE enthusiasts, that way I don’t have to do it all by myself but truth is it’s time consuming and love consuming. By the way, if anybody wants to help, just poke me and remember to register if you want to come!

KDE Edu: We had our yearly meeting. In my opinion most of our group work was about getting the best out of GSoC and the rebranding. The GSoC results where out last week, I hope the best luck for all the GSoC student, as an ex-student I can remember the excitement of being accepted, so congrat’s to all of them :). About the rebranding, news will be coming soon :). On the KAlgebra side, the language has improved tons since 1 year ago, it’s quite hard to show that to the KAlgebra user I guess, but we’ll get there, for the moment rocs looks like it will be the next victim.

KDevelop: As some of you already know, I’m working on my final engineering project around KDevelop, doing some static analysis using our infrastructure. It’s still going forward but it’s keeping me to commit new features to KDevelop lately, I hope I’ll fix that soon, though… >:) I’ve got some crazy ideas to be put in place, since I don’t like to talk about something that’s not implemented, you’d better wait and see :). If anyone is interested in static analysis (on c++ for the moment) you can find me in irc/e-mail and we can talk about life and spring 🙂 oh and static analysis.

In the end, a lot of things are moving, I don’t have as much coding time as I’d like since there’s always something that sounds that if I don’t do it nobody will, probably I shouldn’t think like that… but oh well, I hope everyone will enjoy my KDE areas the way we all enjoy KDE.

Hugs for everyone! \o/

April of KDE

Some intensive days are coming let’s talk about it a little :).

Next week I’ll be going to San Francisco because I’ll be attending to Camp KDE. It’s specially interesting to go there because it’s a very nice opportunity to get in touch with a KDE community that is not usually around in the events I’ve been going (it’s going to be my first KDE meeting outside of Europe). There I will be talking about KDevelop and KDE Edu (no wonder), two beautiful projects from a beautiful community like KDE, can’t be more proud of it :).

I'm going to Camp KDE!

The day after I come back I’ll be going to Bilbao where we’re celebrating this year’s KDE Edu sprint. I feel like it’s an important step for KDE Edu because it will be the first time where we are celebrating it in an education context and because we will be gathering some important people from this country who is interested in education. Hopefully we will be able to take our project to the next level, so yay us! (again :)).

I'm going to the KDE Edu Sprint!

And last but not least, I’ll be going to Vigo the week after that, where I will give the KDE talks in the Free Software master by the Universidad Rey Juan Carlos and Igalia. I’m happy to see these initiatives happening here and proud to help to take it to the next level. (yay us! bis bis).

Universidad Rey Juan Carlos

And last but not least, thanks to all the sponsors the KDE eV board and, in the end, all the people who makes this kind of things possible :). See you soon!

Social KDE

In barely 5 hours I’ll be taking my plane to Bruxelles, on my way to FOSDEM, where I’m going to meet a bunch of people interested on a lot of things like I do, mainly Free Software (and chocolate :D, but that’s off topic I guess). Also there I’ll be talking about KDE in Education at the Cross Desktop devroom. I’d like to tell anyone interested on education to come and share with us their opinion and thoughts regarding Free and Open Education.

I’d also like to remind you all that we’ll be celebrating the KDE 4.6 dinner in Barcelona (well, this time Badalona, but it’s still close 🙂 the next 19th february, if you want to come, please just follow these instructions:

Last but not least, it would be good that anyone interested in coming to this year’s KDE Edu sprint says so on KDE Edu mailing list so that we have a correct appreciation about how much people is interested in coming. There will be hacking, talks to the local community and lots of fun with the local folks in Bilbao :).

See you soon!