So now that I have something ‘visible’ to show, instead of just internal changes, I thought I’d post an update on my progress with KStars and OpenGL.
In part due to the disorganized nature of the existing codebase and in part due to my under-estimation of some things (not to mention Hofstadter’s Law) I ended up not getting as much done as I’d have liked, because I spent a lot — maybe even a bit too much — time refactoring. What I did is to get rid of all calls to QPainter in the individual SkyComponent::draw() functions, and replaced them with calls to a SkyPainter class that acts as an interface, allowing one to draw things on the sky without regard to the actual backend. The actual drawing is done by either a SkyQPainter or a SkyGLPainter, but the sky components (e.g., stars, deep sky objects, constellation lines, &c.) don’t know anything about how the drawing is actually done.
Anyways, now I have the OpenGL backend almost up to par with the QPainter one in terms ...read more...
My first, but not my last, Akademy is over and I arrived back in Switzerland. Akademy was really amazing and I want to thank everyone who made that possible. It was a great pleasure to meet you all. Keep on rocking!
One of my good post Akademy intentions is to support the KDE-EDU team. The first step is to get my kids joyfully involved into software development with rubber ducks. They love it! ;-)
Bluecherry, a company that specializes in Linux (Ubuntu-based) surveillance equipment and applications, is currently looking for a full-time cross-platform Qt software developer. If you are a Qt developer who lives in the United States and is looking for a job, let me tell you, this could very well be it! It is a great opportunity to design and develop a new version of their interface and you get to work along side somebody like Ben Collins. Curtis Hall is the founder and owner of Bluecherry and is a really groovy dude. If you live around Fulton, MO, you can work in the office, and if not, you can work from home.
Here is just a brief introduction to the job posting Curtis has posted on Monster:
Bluecherry is seeking a well qualified applicant for cross platform Qt user interface software development. The position will also assist with training and support. The ideal candidate should have excellent communication skills and a strong background developing software applications under Linux. The candidate should also ...read more...
I’m proud to announce the second alpha of both LibQApt and Muon. (For an intro to those who may be seeing this for the first time, read my previous blog post) Packages will be in the same location as before, but are not yet ready. It seems that the PPA service builders have a backlog on the magnitude of 1956 jobs, and won’t get to LibQApt or Muon for another 48 hours.
Tarballs can be found here and here, for QApt and Muon respectively.
Bugs are now being tracked at bugs.kde.org (as opposed to in blog comments ). To report a bug in either LibQApt or Muon, you can now use the “Help -> Report bug” menu item in Muon just like any other KDE application.
Here’s what’s changed since 0.2 (1.0 alpha 1):
Fixed a bug where entries like “Replaces: libqapt (< 0.3.0-0ubuntu1)” would get cut off at the ‘(‘, due to the interpretation of ‘<’ as the ...read more...
I’m sitting in the train from Zurich to Burgdorf (Switzerland) and want to report, dear reader, about my first week of KDE (or atm qt) development. It was not really as I planned it, I did not work a whole day on qt and kde, but several hours during the week.
As I told you last week my first week was about an xml indenter. Some years ago when I started to track routes for OpenStreetMap.org my Garmin GPS device spat out bad formatted xml (GPX) files. Bad means here that all of the content was on one line and as I sometimes wanted to extract single tracks me and the dear editor (Kwrite or Kate) had some problems to read and understand it. So then I wished there was a simple possibility to indent and format this piece of … I’m sure there are tools for this and probably I would have found them quite fast but as I didn’t search that much … Now in the ...read more...
I finally finished “my” exams yesterday and now I’m free to restart hacking on Yesterday night I moved to KDE SC 4.5 and I have to say that the compilation was incredibly smooth! I had just two problems and just on the beginning: when I finally could compile & install kdelibs, I start my usual compile scripts and this morning everything was ok! My two problems were:
Phonon: as it seems that Qt 4.7 will ship with phonon 4.4.2, I tried using just that for my needs. This because I’d like to compile Qt with phonon, cause of webkit and some other not so important stuffs. It doesn’t work. It said “installed phonon 4.3.1″ and things didn’t work. So, I tried hacking the phonon release version and kdelibs “compiled well” (see point 2 about). That’s not the same with kdebase_runtime. it seems it’s a problem of angular brackets against double quotes one. I could solve it just installing a new phonon copy on my $KDEDIR (btw, I install Qt on /opt/qt ...read more...
Phonon already has video capture support. But nobody thought to tell email@example.com, #phonon, or the planet(s). I’m also slightly miffed that I wrote a proposal for the same exact thing and never got considered.
So karma decided to deliver my big box of homemade DDR machine fun from Newegg 2 days earlier. Such is life.
Compared to that merge request, my changes were miniscule, but I feel that I should still explain what I did, what I had planned, and how Casian’s changes fall (more or less) right in line. Hopefully my input will help.
The nucleus of my design was the CaptureDevice. I planned on adding a constructor to the MediaSource that would take this newly invented CaptureDevice class. CaptureDevices would be abstract devices and could represent any well-defined hardware-based source of media. Here’s what I wrote:
A lot of events happened during the last weeks. The most important one, aKademy, represented for me a great chance to meet a lot of people from our community. I found out about great ideas and initiatives and I'm looking forward on contributing also, using parts of the code I'll write in the future for KStars, to other parts in KDE also.
It was a great opportunity to meet Akarsh and Prakash, my two mentors for the project I've been working on KDE under GSoC so far, and in Season of KDE from now on. We were three developers working on KStars, and here's a picture of us from aKademy:
Victor, Prakash, Akarsh
Besides from meeting my mentors, I'm glad I've had the chance to speak with people from all over the world, working and doing such a great work in the KDE project.
Just before going to bed I managed to get a rather rough but working implementation of QML in plasma-mediacenter as welcome item view. The view is entirely written in QML while the delegate is a C++ implementation of a QGraphicsWidget that I also use as delegate in the other ordinary views in PMC.
Week 27 saw about 40 commits to Krita. Especially Sven Langkamp did a lot of cleaning up in our bug list, so we're at 59 bugs now, despite having received quite a few new reports. Sven's call for testing did work, but we still need more thorough testing if Krita 2.3 is going to be the Ready For You release!
And look what Ico-dY has made with the trunk version of Krita:
Adam Celarek already blogged about his work: this week he spent time polishing his new color selectors and adding support for colorspaces to them.
Boudewijn Rempt "fixed" a bug in our handling of metadata. Well, it's a quote-unquote fix, because it is more a paper-over of the problem that many real-world files have invalid names in the name/value pairs in their metadata. For now, we change the invalid names to something properly scary, like "INVALID", but don't halt krita when encountering the name anymore.
During the Akademy, I continu to work on my GSoC. I work more exactly on text shape animation, i.e. only animate a part of text. In my opinion it’s one of the more efficient animation, it allows user to only display a text paragraph by pragraph for example.
Currently, we can load this kind of animation and display it. Saving works too, but not yet commited.
Now, it’s time to start UI, to allow user to add animation into KOffice.
My first mock-up :
Appear animation :red
Dissapear animation : blue
Other animation : green
The button (+) allow user to add the selected Shape (on the presentation) to animation timeline.
On each animation there is a little square (icon), it’s representing subtype.
Mouse over animation : Tooltip with the following information : Animation type, subtype and duration
Right click on animation : allow user to remove animation, modify animation (start time, duration, type, subtype)
... a lot of work and some trouble. Since yesterday is the new openSUSE wiki online, as I discovered today as I checked my last week updated user page. The page was gone ... I had to create a new version of the page. Thanks!
I really appreciate the time the openSUSE wiki-team spend on the update, but unfortunately the new wiki don't always work as exprected:
You can export any page via Special:Export (from the old wiki, which you can reach via http://old-en.opensuse.org) and you should be able to import the page via Special:Import. But the import page don't work, you get "Permission error: The action you have requested is limited to users in the group: Administrators.". No way to migrate a page from the old to the new wiki for now!
Qt 4.7.0 beta 2 and Qt Creator 2.0.0 have been released upstream. There’s some noticeable changes in our Qt packages compared to Qt 4.6.x series: - legacy Qt Assistant (ADP) is removed - new Qt declarative module is introduced - Qt Multimedia and Qt Webkit aren’t being built anymore
In case your package depends on the deprecated Qt Assistant, it is still being shipped in a separated Qt Assistant compatibility package called qt-assistant-compat.
Qt Multimedia is now shipped from Qt Mobility API instead of Qt. The module has been renamed to Qt Mobility MultimediaKit. Qt Mobility delivers a set of APIs for mobile device functionality.
Qt WebKit is shipped standalone, separated from Qt. Hopefully, it will make Qt WebKit security support easier.
There are also a new component in the family: Qt Messaging Framework (QMF). The Qt Messaging Framework, QMF, consists of a C++ library and daemon server process that can be used to build email clients, and more generally software that interacts with email and mail servers.
In case you use Icecream (the distributed compile system which makes your coworkers' machines compile KDE for you ) and happen to be using a glibc >= 2.11.2, you might notice that you are not able to send compilation jobs to other machines while still being visible to the scheduler and receiving jobs from other hosts.
It turns out that some commits to ldconfig made the script which created the environment sent to all other clients not work as expected because of a missing directory.
So until a new stable Icecream release is made (the current one is 0.9.4), make sure to apply this commit to your package to keep things running smoothly.
Back when I switched from Debian to Fedora, the biggest, and hardest to get used to, change was the fact that the bash prompt looked like this:
Not having the full directory in the pathname had always been hard to get used to, but as I learned to delve deeper and deeper into source trees, that became really nice. And then (I think, feel free to correct me) Pinochio at Akademy reminded that that setup has its own set of limitations, and it was more and more clear that having only part of the PWD in the prompt could be an annoyance, particularly as I used pwd to constantly check whether I was in a CMake build dir, or the source dir. Well, not any more.
bash’s ability to colorize things suddenly rocks hard.
I found it useful, feel free to hack on it, make it less craptastic… I picked the worst possible I-hate-Bash-Scripting way of doing this, perhaps some gurus can improve ...read more...
At last Tokamak (Plasma developer sprint), I’ve made a small KWrite proof-of-concept patch just to see how it will behave with the new activities framework – notifying system when it opens and closes a document. A lot of time has passed since, and activity classes were completely revamped, turned upside-down, went through one API review, and moved from the playground to kdebase/libs.
That original patch doesn’t exist anymore, and even if it did, it wouldn’t work for all the changes that were made to activities.
The uber-awesome KDE conference – aKademy – was a time for something new!
Ok, after this introduction you’d expect that I’ve written another patch for KWrite. Well, you’re wrong. The first application that supports activities as a client is Vim!
The main reason I went for Vim this time was to prove that non-kde apps can work with our awesome concept of activities. Another reason is that I didn’t want to use KActivity* classes, so that I can see whether the d-bus ...read more...
The second openSUSE conference takes place in Nuremberg, Germany from october, 20th to 23rd. After its great start last year, we will continue the concept of a user and developer conference around the openSUSE Project including talks, workshops and BOFs. Expect everything between technical workshops about bleeding edge linux distro technology over user presentations about software to inspiring discussions with other projects, especially since the motto for the conference is Collaboration across Borders.
The first conference has also shown how important the openSUSE Conference is for the steering of the openSUSE project. Lots of ideas could be discussed and implemented quickly but also difficult or controversal community internal topics came up in a very contructive way and are worked on since then, some until today.
That brings me to the core message of this post: You should be on the ...read more...
Using digiKam? Show this to the world with some classy stickers from World Label. If you use digiKam to process and organize your photos, you have a chance to win 5 sheets (18 stickers each) featuring an original design. And you can download the template and print stickers yourself, too. Continue to read
For months and months now, my Linux Desktop is suffering from one particular issue, which makes it a pain to use on a daily basis: After having it running for a few hours, suddenly X.org and KWin go bonkers and start eating up all my cpu horse-power.
It's not uncommon to see X.org spiking up to a whopping 60% CPU usage, followed by KWin using roughly another 25%.
Since I'm suffering from this issue now ever since I switched to KDE 4, I thought it's time to turn to you fellow KDE developers for some good advice, since all my undertakings to resolve the issue have failed:
I have tried to switch to a different / newer graphics card, experimented with various versions of the NVidia driver and tweaked X.org settings, have turned off various desktop effect plugins, switched between XRender and OpenGL, even re-installed Kubuntu on a new machine.
No dice, though... after it's been running for a few hours my desktop is completely unusable. Every mouse ...read more...
I don’t have to tell you how great Akademy was; others on the Planet have already elaborated on this quite extensively. The only bad thing is that I had to depart on Tuesday. (Also, my plane to Helsinki was delayed quite a bit, but that’s another story.)
Those of you who were there probably remember the keynote of Aaron who wants us to put a focus on elegance. Details. The small things that distinguish good and useful programs from great programs. I soaked this message up like a sponge, and started working towards more elegance in our beloved jigsaw puzzle game Palapeli immediately after the keynote.
There are already quite some visual improvements which we are working on for Palapeli 1.2 (KDE SC 4.6): During the next week, the bling-compatible Goldberg slicer will be integrated into Palapeli as the new default slicer (I have just renamed it to “Palapeli Slicer Collection” to reduce confusion over the name). This will give us more natural and random piece shapes, and more grid types ...read more...
Since this is relevant among others for Parley I am posting the article also here:
It's just two weeks ago that I started to merge the dictionary data for Ambaradan in our loader application: this is needed to make sure data is in the right shape and we won't loose any.
Well, this morning I told Outi that Joola, one of the languages she cares about, was uploaded and she wrote she'll never forget this day: the last day of the Football World Championship and Joola online.
Quite some languages were still missing, but she was right: today had to be the day ... I wanted to finish before the Champion is known: and here we are :-) the data is up and we still don't know the World Champion of 2010.
It's also quite some time now we are following 1GOAL on facebook, because they want education to happen, well: it's great that there are so many fans and we hope that many of the fans also ...read more...
With Akademy and other stuff going on, it looks like the report on the KDE Finance Sprint didn't make it to the front page. I would like to thank Guillaume and the other people who helped put the report together, and of course, the board, Claudia, Thomas snd Syrocon, who enabled the sprint to happen at all.
I snuck away from Akademy on Friday morning. My intention was to sign some legal documents (part of a resolution of the AGM of the KDE e.V.) and say good byes to all and sundry, but that got terribly sidetracked. The usual experience of walking into Demola is people saying “Hey, [ade], I need to talk to you.” I don’t imagine this is unique to me — there’s so much coordination that goes on at Akademy when you finally have every sub-project on hand to chat with. So I ended up with a long talk with Elias about truth in advertising, and then I tried to print and sign and scan the document at hand. Kaare, a guy I’d exhanged some banter during the day trip, wandered over. It turned out that Kaare is the Skanlite dude, so I took the opportunity to thank him for his work.
Then rushed goodbyes — I skipped the whole of floor 4 with the BoFs — and off to the bus. Milian, Niels, Richard and Lubos were on the same flight, and ...read more...
I'm very happy to announce you that the reverse geotagging widget is finished! This was the first part and maybe the most important part of my project in this year Google Summer of Code, so I'm glad to see it working.
Now, perhaps some of you will ask: "Ok, but what is reverse geotagging?" Well, it's a process that reads the GPS coordinate inside an image and then tags it with address elements(country, city, street...).
I actually wrote parts of this blog post past friday, so just pretend aKademy has just ended while you read this.
All good things come to an end, and aKademy is of course no exception. Demola is closed, and tomorrow the taxis, buses, trains and airplanes that will bring us home will inevitably depart on time, and even though we may not want to, we’d better be in them.
I want to talk about a few highlights of aKademy this year. It’s been my first one, so I can’t compare to earlier ones – but I promise I will be able to compare next year’s aKademy to this one!
Possibly the most amazing thing this aKademy was the fact that I finally met Diederik and Valerio, two other KMess developers. We planned to come together, and it’s been great. Next year we’re going to try to pull the rest in too, which means there’ll even be some Australian blood. We will also probably have more realistic expectations of how much work you actually get done…
Yep, I didn’t have time to blog during aKademy as you may have noticed The main reason is that I had a lot of discussions and attended to a huge number of BoFs. This aKademy rocked just as the others that I went. Huge thanks to the organization team, KDE e.V and sponsors for providing ways to make this happen and to have a lot of KDE hackers there!
Instead of doing a technical blog today, I will just say that during this aKademy KDE ‘called home’ for the first time. This means that for the first time in history we had KDE running on a mobile phone and we made a call with it! This was AWESOME! Just a summary: Plasma-Mobile and a plasmoid that worked as a dialer did the work, using the phone API of Maemo5 on a N900.
As Aaron noticed, our first call was a little bit more “interesting” than Graham Bell’s one. The first words on a telephone in history are:
Today I saw a post by The Linux Critic. In the post the author, Trent, says "I’m really not a fan of the new Amarok", which naturally got me curious as to why. After all, if you don't know what problems people have with your software, it can be hard to improve it.
I had never interacted with Trent or any other member of The Linux Critic before, nor had I ever visited their site. I was there with the best of intentions.
I'm going to let the discussion we had speak for itself. I've reproduced it below, because Trent started removing my comments and modifying his own. You can see the original blog post here -- it's not even really relevant to most of the ensuing discussion -- however I strongly recommend, in case further modification has been made to the discussion on that page, that you read the reproduction of the discussion below which is accurate as of the time of writing this post. At the ...read more...