We thought it might be a good idea to give everyone a new status update about the progress we are making regarding the conversion to Git. This report has been put together by a couple of members of the sysadmin team. Let’s start with the tasks done in the past weeks:
SSH Key Management itself can be done in Gosa – but the backend to get it live with gitolite is still to be done (see current todo list below)
Integration of Reviewboard with LDAP has been accomplished in a testing instance successfully. A script has also been written to sync data such as names and email addresses from LDAP into both Redmine and Reviewboard.
Gosa has begun to be themed using the kde.org style, chihuahua. Ingo Malchow is brave enough to work on this part.
Ben Cooksley has been working on making some additional forms for the initial account registration. Basically the new workflow will be like this:
User can register, and can use their account immediately after verifying their email address.
KDE SC 4.5 will be out soon and as mentioned in an earlier blog entry, for Dolphin this release has been used to do bugfixing, polishing and internal cleanups of the code. I'm quite happy with the result, however last week I decided to have some fun again and have started to improve the search interface of Dolphin (will be part of KDE SC 4.6).
In KDE SC 4.3 a searchbox has been added to Dolphin's toolbar. It used Nepomuk to do the searching:
Although it was already possible to search also for tags, ratings and other kind of data, it was nearly unfeasible for users to discover this functionality. In KDE SC 4.4 I tried to improve this by showing some search options as soon as the user clicks into the searchbox:
Yesterday i tried poppler with lcms2 instead of the regular lcms1 and some pdf give a speed improvement of 10%, the problem is that it seems that almost no distro packages it so we can't really depend on it. So please if you want a "free" speed improvement in poppler bug the packagers of your distro to package lcms2
It’s been a very long time since I made a post, mostly because my college started this week which meant I lost around a week in traveling, registration and the whole process of ’setting in’. Either ways, since my last post, a lot of changes in KWin. Actually, a very important change has been made in the entire structure of how clients are generated and currently things are looking very neat and much more systematic.
Clients and toplevels
In KWin, the Client object inherits from Toplevel. Toplevel is the class for all clients, whereas Client handles managed clients. Now, I could just directly wrap Client and not really care about Toplevel, but doing these things separately enables me to reuse the code for Toplevel for unmanaged clients as well if I plan to. I have always been doing these two things separately, but my previous method was pretty tacky.
Previously: Earlier, the SWrapper::Client object and SWrapper::Toplevel classes were just standalone classes that both used to generate QScriptValues. So, inside the SWrapper::Client::generate function:
KDE SC 4.5 is about to be released soon -- just two weeks to go. We will have some great new features in Marble, your favorite virtual desktop globe. Hopefully we'll have a visual changelog ready for the release summarizing the new and noteworthy.
While releases need their time to stabilize, development continues distributed in git repositories and in subversion trunk. Siddharth Srivastava is making great progress on his GSOC project Marble to Go with a major part of his work already in reviewboard. I'm sure he'll give an overview in his blog when it hits trunk. I'll focus on a different topic today. Marble's routing capabilities rely on OpenRouteService in KDE SC 4.5. Although it works great in most situations relevant to me, there are two major disadvantages: The OpenRouteService integration in Marble requires Internet access to retrieve routes and OpenRouteService itself is limited to Europe.
The Wheel of Time turns… meaning that the Kate Project has quite along history by now. The Kate Project was started back in December 2000, so it’s almost 10 years old. Development sometimes continues with a fast pace; and at other times there is almost no progress for weeks. But all in all, looking back at those 10 years, we can proudly tell you that the project is very much alive. Let’s take a look at the traffic of our mailing list:
The traffic itself does not say much about the development. It probably tells us that there are quite a lot of people using Kate and reporting wishes and bugs. This is a good thing The commit statistics for Kate, KWrite and the KTextEditor interfaces look like this:
Before 2000, Kate did not exist yet. Instead, so these commits come from ...read more...
As with any new code, during adoption bottlenecks show up.
For example the rendering of text lines with many ranges inside was quiet slow. This is now partly addressed by Milian Wolff, thanks a lot.
An other bottleneck was the assumption, that it is fast enough to hash the ranges just by their block and iterate over all of them to search the ranges matching a specific line. This does scale well enough for KatePart itself, but KDevelop creates multi-thousand ranges for small documents. To improve this, an internal special mapping was implemented by David Nolden for ranges which don’t span more than one line. For them an efficient line => range mapping is easy and not to costly.
If both changes are tested a bit more, they can be backported in time for KDE 4.5, which will allow a good usability of KatePart for KDevelop once again after the rewrite, given other bugs are fixed.
Following hot on the heels of a week of intensive KOffice performance analysis in Helsinki and a great Akademy, I'm in Bangalore again for two weeks. Not specifically to meet again with the Bangalore interns working on FreOffice, but rather to work with Nokia on mobile KOffice. Marijn Kruisselbrink is here together with me, and when we leave, Jos van den Oever will relieve us.
I'm happily hacking away on a project that was started at the last KOffice sprint in Essen: making KOffice more flexible by allowing other canvas types than QWidget-based ones, for instance, based on QGraphicsView. Lots of interesting challenges, and also some quite nice progress already.
It's the rainy season, as you can see from this picture taken from the rooftop of the Nokia building:
Day by day KPresenter becomes more and more an end-user presentation application. However, to be a real end-user application, KPresenter needs some new options and some new cool stuff. That’s why, I think it’s a good idea to ask for KDE community to know the essential need for them. So if you think KPresenter needs something, please send a comment .
There is already a brief idea list from zagge, morice-net, me and some discussion with KDE community members during Akademy.
Presentation tools :
Blur effect on highlight mode (presentation tools) and add anti-alisasing (in order to have a smoothy circle)
When an animation tool like highlight or black screen was selected play animation like fade effect
New tool to navigate easely between slide (For example if presenter view mode is disabled)
Allow user to navigate with keyboard when a presentation tool is activated
Allow user to resize light (highlight tool)
Page effect :
Allow user to set a default page effect for the slideshow (for a 30 slides presentation ...read more...
OpenChange is an important project, but it does require quite a lot of work to get it all to build. We're working on the process, but in the mean time, we've (ok, Julien Kerihuel with nothing from me except encouragement) has built a Virtual Box image that provides OpenChange all built, configured, set up and ready to try.
I witnessed (and was pleased to take part in) some interesting discussions on #qt-labs this afternoon, all stemming from a contribution to Qt3Support being rejected.
A long story short, the contribution - despite looking reasonably valid - was rejected because Qt3Support is effectively unmaintained, and as a result, any changes to it could have negative impacts on users of the support API.
I understand that argument, yet at the same time - I can't help but think it's a bit of a backwards approach to be taking. Typically, a contributor will wander along, find a bitrotting module/project that interests them, throw patches at the previous maintainer - and shortly after doing so, find themselves a de-facto (or indeed official) maintainer through their efforts.
This is a natural progression of things and should really be encouraged, it allows what would otherwise be dead code to live on. However, in Qt3Support's case, the central point was that they'd love someone else to take responsibility for it, but don't want to expend the effort themselves to triage, maintain, and otherwise support it ...read more...
The User:* pages are now finally protected (see bnc#409520 for history).
Looks as if the Special:Import is now finally working also for normal users.
That are good news, but there are some other issues with the wikki:
As already pointed out by some other (e.g. in the 5th comment on this post): older external links to wikipages don't work anymore and there is no hint on the 'empty' page that there is a new wiki with a new structure and where you can find the old wiki. That's really annoying! But there is a info one some pages in the old wiki where to find the new pages (as e.g. here), we need something like that in the new wiki with info where the page was moved. At least as long as this page is empty.
In my last posting, I mentioned that my notebook eats by far more battery when running Linux / KDE than running Windows 7. Even though I identified (and fixed) that this was due to the switchable graphics (both cards were running and sucking power), I was eager to optimize the power consumption. After some research, I came up with the following solution.
I put several energy-savign tweaks into a script, saved it to /usr/local/sbin/powersave.sh and added an entry in sudoers for it because it requires root privileges. I can run the script now with sudo but without having to enter the root password thus allowing the KDE energy manager Powerdevil to run the script automatically. Therefore, I added the following custom call to the Powersave profile in Powerdevil‘s settings: sudo /usr/local/sbin/powersave.sh
This makes KDE call the optimizations automatically as soon as the notebook switches to the Powersave profile.
I adapted the optimizations to a max_performance.sh script that reverts all changes done by the powersave script. This script needs an entry in sudoers, too, ...read more...
Just finished my mid-term evals, so I thought I'd give a quick view of what I have. I've gotten the base plugin for Gluon Creator finished that allows nodes to be made to represent logic/other stuff. The nodes have each their own properties that hold input or output values. The Input and output connectors are respected and connections can only be successful when one input is tied to one output. Work to save this structure to gluon project and outputting code/usable files is all coming soon.
The patch adding ruby support did not touch any C++ code. It did touch some ui files and Qt Resource files. It would be possible to add extra language support without even recompiling the application if not for the Qt Resource usage. Part of the intent of that example application though is to show how to use Qt Resources with Grantlee though, so that is not going to happen for that app .
I just released Version 0.3.2. Update as usual with sudo gem update
There are two important bugfixes.
Fetching qt failed because it tried to fetch from a pure server url. You need to update your recipe too.
SQLite3 obviously starts to enforce foreign key constraints. After updating to OpenSuSE 11.3 build-tool failed for me because the constrained i declared had a typo. Was never a problem before (for me). Remove all ~/.build-tool/*.db files to get going again if you encounter the problem.
I was wondering - the dot editors have clearly been in a frenzy lately, publishing articles like it's nothing. We've restricted ourselves to 1 article a day at most - but they're often quite a read. I wonder what people think... Since we've turned of anonymous comments I don't see a lot of input from the community, and I'm wondering - do you guys and girls like the articles? Are there things we can improve? Is the frequency to high? Too low? And as usual - wanna help out?
For the uninitiated, EyeOS is a free, open-source desktop implementation right in the browser. I was recently playing around with my EyeOS installation that I forgot I had installed a while back (v1.x) and like what most people do when they try out a new system, I decided to see what other themes they have.
Turns out they have an Oxygen theme! It’s a little dated but I must say I’m impressed. Very impressed.
Now all I have to do is find a practical personal use of EyeOS! Perhaps it might replace a few of my cobbled series of other cloudish hacks.
I did some 30 second video interviews at Akademy in Helsinki. You can download them to get a feel for the people and place of Akademy. Unfortunately I've been unable, in the limited time I've devoted to it, to convert them to Oggs, ffmpeg doesn't want to do it. I've also been unable to find a simple HTML5 video gallery script that would make a simple HTML page with the videos embedded. Do let me know if you have the answers to those. I recommend Frank's interview for an insight into what our board spends its week doing.
Eben Moglen Talk
Before Akademy I went to see Eben Moglen give a talk at the Scottish Society for Computers and Law. Eben is a much overlooked rock star of free software, having written the GPL licences and made many other significant contributions.
His talk was about the dangers of embedded software, taking the example of the software in cars because it is a topical issue but also in other life critical areas such as aeroplanes and ...read more...
Jos has been getting very philosophical lately. One post that got me thinking about how odd KDE is (in a good way) was his one about working together.
KDE is quite unlike anywhere else I have worked, for fun or profit. Probably the closest analog is my involvement at university with the student newspaper, the Warwick Boar where I started off writing general features and ended up as Science Editor.
The Boar had a few similarities to KDE. It was staffed by volunteers, was successful (we won awards and stuff), diverse and quite large (I don’t know exactly, but well over a hundred contributors). However, unlike KDE, it was hierarchical. At the top was the Editor, who had ultimate power and responsibility. He or she made the call when someone threatened to sue for libel, or when one of the big national newspapers wanted access to one of our sources (it happened). Below the editor, each section had its own head, responsible for organising their team and making sure that their pages got done.
For KDE developers, web-based forums are often uncommon workflows. Indeed, for communication among developers mailing lists are much better tools, especially since you can handle everything inside a client (most of the time), compared to forums where you have to use a web browser. The ways of reading, replying and interacting with posters are dramatically different. And that is why some developers find themselves uncomfortable with the KDE Community Forums.
A dedicated application would be usually much better than a browser, because you can work around the intrinsic limitations of the browser itself. The problem is that you can’t really access a forum with anything else than a browser. That is, it used to be like this, but now things are changing.
My summer of code had hit a bit of a dead end between some Nepomuk woes (your week is up Vishesh ) and some general issues with plasma integration in all of the plasma-related SoC projects… Half of that is hopefully solved with a bit of a nice solution, imo, which Aaron came up with at Akademy
At Akademy, Aarontalked a lot about Elegance; in our interface, our applications, our API. Make things fun to work with, easy, organic. It’s something we should strive for, and something that I have strove for in my code; sexy code is a hell of a lot more fullfilling than ugly hacks.
Since the beginning of SoC I have had the interesting task of making sure that applications have some sort of way to talk to the KPart I have been working on (which is now feature complete enough for me to start cleaning up the code for kdereview and eventually kdebase-runtime, w00t), which is incredibly difficult because KParts simply aren’t designed ...read more...
I’ve been pretty quite about GSoC progress. But I had a great time at aKademy and forgot all about blog posts. So the current status is thus. If programming was just about getting things done, I am done! But its not, which means although everything I was supposed to do is done in a big picture way, the next few weeks will see bug fixes, optimization and ensuring that certain things can be done faster, more accurately or in a more user-friendly manner. I also have to port the code over to use Solid, now that fellow GSoCer Paulo Romulo has improved UPnP support in it.
Last time I gave a glimpse of the Browse based collection. UPnP MediaServers have two methods of accessing their content. Browse() is similar to going through your hard-disk directory by directory. As you can see, this can be quite inefficient for a Collection since it has to keep track of a large number of tracks. The other method is Search(), wherein users can query the MediaServer to give tracks/media matching certain criteria, such ...read more...