Add your blog

If you are a KDE contributor you can have your blog on Planet KDE. Blog content should be mostly KDE themed, English language and not liable to offend. If you have a general blog you may want to set up a tag and subscribe the feed for that tag only to Planet KDE.

We also include feeds in different categories, currently Dot News, Project News feeds, User Blogs, french Language, Spanish Language, Polish Language and Portuguese Language KDE blogs. If you have a feed which falls into these categories (or another non-English language) please file a bug as below.

Planet KDE is kept in KDE's Git. If you have an account you can add or edit your own feed:

  • git clone kde:websites/planet-kde-org
  • Put your hackergotchi in website/hackergotchi/. A hackergotchi should be a photo of your face smaller than 80x80 pixels with a transparent background. git add the file.
  • At the end of the planetkde/config file add your details (the name in brackets is your IRC nick):
  • feed 45m http://path.to/my/feed.rss define_name Konqi Konqueror (konqi) define_face hackergotchi/konqi.png define_facewidth 80 define_faceheight 80
  • git commit -a; git push

If you want to add a Twitter microblog to the Microblogging sidebar add define_microblog true and follow your name with [twitter]. Currently only Twitter is known to work, please contact Jonathan Riddell before adding non-Twitter microblogs to check it works.

If you do not have a Git account, file a bug in Bugzilla listing your name, Git account (if you have one), IRC nick (if you have one), RSS or Atom feed and what you do in KDE. Attach a photo of your face for hackergotchi.

Blog Classes

The default class for blogs is English language personal blogs. Other classes are:

  • Spanish language:
    define_feedclass spanish
  • Portugese language:
    define_feedclass portuguese
  • Chinese lanugage:
    define_feedclass chinese
  • Polish lanugae:
    define_feedclass polish
  • Italian lanugae:
    define_feedclass italian
  • French lanugae:
    define_feedclass french
  • KDE User blogs:
    define_feedclass user
  • KDE News feeds:
    define_feedclass news
  • KDE Dot News:
    define_feedclass dot

Planet KDE Guidelines

Planet KDE is one of the public faces of the KDE project and is read by millions of users and potential contributors. The content aggregated at Planet KDE is the opinions of its authors, but the sum of that content gives an impression of the project. Please keep in mind the following guidelines for your blog content and read the KDE Code of Conduct. The KDE project reserves the right to remove an inappropriate blog from the Planet. If that happens multiple times, the Community Working Group can be asked to consider what needs to happen to get your blog aggregated again.

If you are unsure or have queries about what is appropriate contact the KDE Community Working Group.

Blogs should be KDE themed

The majority of content in your blog should be about KDE and your work on KDE. Blog posts about personal subjects are also encouraged since Planet KDE is a chance to learn more about the developers behind KDE. However blog feeds should not be entirely personal, if in doubt set up a tag for Planet KDE and subscribe the feed from that tag so you can control what gets posted.

Posts should be constructive

Posts can be positive and promote KDE, they can be constructive and lay out issues which need to be addressed, but blog feeds should not contain useless, destructive and negative material. Constructive criticism is welcome and the occasional rant is understandable, but a feed where every post is critical and negative is unsuitable. This helps to keep KDE overall a happy project.

You must be a KDE contributor

Only have your blog on Planet KDE if you actively contribute to KDE, for example through code, user support, documentation etc.

It must be a personal blog, or in a blog class

Planet KDE is a collection of blogs from KDE contributors.

Do not inflame

KDE covers a wide variety of people and cultures. Profanities, prejudice, lewd comments and content likely to offend are to be avoided. Do not make personal attacks or attacks against other projects on your blog.

For further guidance on good practice see the KDE Code of Conduct.

People Aggregated

FeedRSSLast fetchedNext fetched after
Rajko Albrecht (alwin) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Guillaume DE BURE (gdebure) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Christophe Giboudeaux (krop) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stuart Dickson (stuartmd) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anant Kamath (flak37) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Akshay Ratan (akshay_r) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Evgeniy Ivanov (powerfox/pfx) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Punit Mehta (punit9462) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Alex Fiestas (afiestas) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Łukasz Jaśkiewicz (ljaskiewicz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Arjun Basu (ultimatrix) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cristina Yenyxe González García XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Marc Mutz XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dan Leinir Turthra Jensen (leinir) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Petr Mrázek (petrm) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Philipp Knechtges (d1saster) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Roland Wolters (liquidat) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Michał Zając (Quintasan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dinesh (saidinesh5) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Diego Casella ([Po]lentino) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mojtaba Shahi Senobari (moji) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
A. L. Spehr (blauzahl) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Felix Lemke (HobbyBlobby) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adrian Draghici (adrianb) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dario Freddi (drf__) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Francesco Nwokeka (nwoki) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aakriti Gupta (aakriti) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Abhinav Gangwar XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Adam Celarek (adamce) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adam Rakowski (foo-script/efes) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aditya Bhatt (adityab) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrea Diamantini (adjam) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ahmed AbouElhamayed (TheMonster) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aike Sommer XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dmitry Ivanov (vonami) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Keith Rusler (comawhite) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anton Kreuzkamp (akreuzkamp) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Albert Vaca (albertvaka) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Alessandro Diaferia (alediaferia) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alejandro Wainzinger (xevix) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexander Dymo (adymo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexander Neundorf XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jeremias Epperlein XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alessandro Cosentino (cosenal) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alan Alvarez (clsk) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lukas Tinkl XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jos Poortvliet XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sri Ramadoss M (amachu) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Amandeep Singh (amandeepsingh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andras Mantia XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ana Guerrero (ana) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ander Pijoan (ander) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andi Clemens (aclemens) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas Demmer (ademmer) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas Schilling XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas Schneider (gladiac) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrei Duma (AndreiDuma) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrew Coles (coles) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrius Štikonas XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Andre Moreira Magalhaes (andrunko) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aniket Anvit (packo) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Timothee Giet (Animtim) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anmol Ahuja (DarthCodus) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Anne Wilson (annew) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anne-Marie Mahfouf (annma) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Antonio Larrosa Jimenez (antlarr) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Antonis Tsiapaliokas (kokeroulis) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anuj Pahuja (alasin) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Andreas Pakulat XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexander Rieder (arieder) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Arindam Ghosh XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Arno Rehn (pumphaus) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Arthur Ribeiro (arthurribeiro) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aaron Seigo (aseigo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ashish Madeti (madeti) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Friedrich Kossebau (frinring) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aurelien Gateau XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alberto Villa (avilla) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Allen Winter XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Paul Adams XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrew Lake (Jamboarder) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bart Coppens (BCoppens) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Behind KDE XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stephan Binner (Beineri) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Benjamin Port (ben2367) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Benjamin Kaiser (benkaiser) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Lim Yuen Hoe (moofang) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bhaskar Kandiyal XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Bastian Holst (bholst) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bhushan Shah (bshah) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Will Stephenson XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mohammed Nafees (binaryking) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Hamish Rodda (blackarrow) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jesper K. Pedersen (blackie) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jeff Mitchell (jefferai) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andres Betts (anditosan) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Sune Vuorela (svuorela) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Carlos Licea XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Agustín Benito Bethencourt XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Tatiana Gornak XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Mojtaba Shahi Senobari (moji) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mailson Menezes (mailson) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Michael Pyne (mpyne) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Wang Hoi (wkai) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adriaan de Groot (adridg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
C. Boemann (boemann) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lukas Appelhans XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jaroslav Řezník (jreznik) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Brad Hards (bradh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Simon St James (SSJ_GZ) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stephan Platz (paalsteek) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Bharath M S (brat197) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Brijesh Patel (erione) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Michał Małek (mmalek) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Călin Cruceru (crucerucalin) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Calligra News XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thorsten Zachmann XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Allan Sandfeld Jensen (carewolf) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Carsten Niehaus (carsten) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Remi Villatel XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Anselmo L. S. Melo (anselmolsm) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Detlev Casanova (Cazou) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Chandan Kumar (chandankumar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Chani Armitage (Chani) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrew Stromme (astromme) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexandr Goncearenco XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mathieu Chouinard (chouimat) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Christian Loose XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aracele Torres (araceletorres) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cies Breijs (cies) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Clarence Dang XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Claus Christensen (Claus_chr) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mauricio Piacentini (piacentini) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Igor Trindade Oliveira XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daker (dakerfp) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andriy Rysin (rysin) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrew Manson ( mansona aka real_ate ) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sven Assmann XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Colin Guthrie (coling) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bjørn Erik Nilsen (bnilsen) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nick Shaforostoff (shaforostoff) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ryan Rix (rrix) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fania Jöck (fjoe) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stephan Kulow (coolo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas Cord-Landwehr (CoLa) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sujith H (sujith_h) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Somsubhra Bairi (somsubhra) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Mirko Boehm XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cristian Tibirna (Inorog) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Carlos Leonhard Woelz (cwoelz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cyril Oblikov (munknex) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cyrille Berger XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David E. Narváez (dMaggot) XML 06:06, Tuesday, 02 September 06:06, Wednesday, 03 September
Rolf Eike Beer (Dakon) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dan Vratil (dvratil) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Daniel Molkentin (danimo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Danny Kukawka XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daniel Nicoletti (dantti) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dario Andres Rodriguez (Dario_Andres) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dario Massarin XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexis Menard (darktears) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Edmundson (d_ed) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Vignoni (davigno) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Florentina Musat (chrome) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vijay Dhameliya (vijay13) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Sander Koning XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Denis Steckelmacher (steckdenis) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dennis Nienhüser (Earthwings) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Luca Beltrame (einar77) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Josef Spillner XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Faure (dfaure) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Derek Kite (dkite) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dimitrios T. Tanis (diggy) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gilles Caulier (cgilles) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Sauer (dipesh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Jarvie (djarvie) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dimitri Popov XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dmitry Kazakov (dmitryK) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dominik Seichter XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ariya Hidayat XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Klaas Freitag (dragotin) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daniele E. Domenichelli (drdanz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Simon at Facebook Open Academy XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Eduardo Robles Elvira (Edulix) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mihail Ivchenko (EgorMatirov) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Eike Hein (Sho) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Joon-Kyu Park XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pau Garcia i Quiles (pgquiles) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Elvis Stansvik (estan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Enrico Ros XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adrien Facelina XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kevin Ottens (ervin) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
kunal ghosh (kunalghosh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Constantin Berzan (exit) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Akarsh Simha (kstar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas Ramm (psychobrain) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fabrice Mous (fab) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Boudewijn Rempt (boud) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fathi Boudra (fabo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Filipe Saraiva (filipesaraiva) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Christian Mollekopf (cmollekopf) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Flavio Castelli XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nadeem Hasan XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fabrizio Montesi (fmontesi) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Diane Trout (detrout) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Frank Karlitschek (karli) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frank Osterfeld (fosterfeld) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frederic Coiffier (fcoiffier) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frederik Gladhorn (fregl) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frederik Gladhorn (fregl) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rafael Fernández López (ereslibre) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Siddharth Sharma (siddvicious) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frank Reininghaus XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Freoffice: KOffice based Open Mobile Office Suite XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Friedrich Pülz (fkpulz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Harri Porten XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frerich Raabe XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Koos Vriezen XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nicolas Lécureuil (neoclust) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Felix Rohrbach (fxrh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gokmen Goksel (gokmen) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gabriel Voicu (gvoicu) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Michael Gapczynski (MTGap) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bruno Coudoin (bdoin) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Ian Geiser (geiseri) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gerhard Kulzer (gkulzer) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Giannis Konstantinidis (giannisk) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Giorgos Tsiapaliokas (terietor) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Gregor Iaskievitch XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
George Kiagiadakis (gkiagia) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cédric Bellegarde (gnumdk) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Antonio Aloisio XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Inge Wallin (ingwa) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cezar Mocan (CezarMocan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Debjit Mondal (debjit) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Simon A. Eugster (Granjow) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Johannes Bergmeier (joselb) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
George Goldberg (grundleborg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Denis Kuplyakov (dener.kup) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Denis Kuplyakov XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Denis Kuplyakov (denerkup) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vedant Agarwala (vedu) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Siddharth Srivastava (akssps011) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Edward Toroshchin (hades) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Harald Hvaal (metellius) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Harshita Mistry XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Sebastian Pipping (sping) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Diego Iastrubni XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Helio Castro (heliocastro) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Henri Bergius (bergie) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Henrique Pinto XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Henry de Valence (hdevalence) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Harshit Jain (hjain) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Florian Graessle (holehan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Holger Foerster (foerster) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Loic Corbasson XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mathias Kraus (hias) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ozan Çağlayan (ozancaglayan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fabio A. Locati (flocati) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Guillermo Amaral (gamaral) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bartosz Wadolowski XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Boudewijn Rempt's Krita blog XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Fredrik Höglund XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gopalakrishna Bhat XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Petri Damstén XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sergey Kalinichev (klins) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Rafael Gomes (gomex) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Vladimir Prus XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Arnaud Dupuis (Arno[Slack]) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dani Gutiérrez Porset XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Weng Xuetian (csslayer) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Risto Saukonpaa (fri13) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nicolas Lecureuil (nlecureuil) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Francesco Riosa (riosa) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Angelo Naselli (anaselli) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Hubner (hubner) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daniel Meltzer (hydrogen) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Robin Burchell (w00t) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andrea Scarpino (ilpianista) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ronny Yabar (ronnyml) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
William Viana (Liw-) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Niklas Laxström (Nikerabbit) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ivan Čukić (ivan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jean-Baptiste Mardelle (j-b-m) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
James Ots XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jan Grulich (grulja) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Jan Muehlig (janushead) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jan Gerrit Marker (jangmarker) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jarle Akselsen XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jarosław Staniek (jstaniek) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jason Harris (LMCboy) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Javier Llorente XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jens Muller (jmueller) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jan Kundrát (jkt) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Joseph Simon (jsimon3) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jörg Ehrichs XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
John Ratke XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
John Layt XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Johannes Huber (johu) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Jon Ander Peñalba (jonan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jonathan Thomas (JontheEchidna) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Avik Pal (avikpal) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Joseph Wenninger XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
John-Paul Stanford (jp) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ashley Winters XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jonathan Riddell (riddell) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Juan Carlos Torres (jucato) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Julien Narboux (jnarboux) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jussi Schultink (jussi01) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gaël de Chalendar (kleag) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Karan Luthra (luthrak) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Kashyap Puranik (kashthealien) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ekaterina Gerasimova (kittykat) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Adrian Lungu (lungu) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexander Neundorf XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Christoph Cullmann (cullmann) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Herberth (dav1d) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Diana Tiriplica (dianat) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dominik Haumann XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Emmanuel Bouthenot (bouthenot) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Erlend Hamberg XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Joseph Wenninger (jowenn) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kåre Särs (ksars) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marco Mentasti (mentasti) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Maximilian Löffler (max) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pablo Martín Cobos (pcobos) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Shaheed Haque (shaheed) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Simon St James (ssj) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Svyatoslav Kuzmich XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thomas Fjellstrom (fjellstrom) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
KDAB on Qt XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Laszlo Papp (lpapp) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kevin Funk (kfunk) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Shantanu Tushar (shantanu) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tobias Koenig (tokoe) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
John Tapsell (JohnFlux) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Baltasar Ortega XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Hugo Pereira Da Costa XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
KMix - the KDE Multimedia Mixer XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nuno Pinheiro (pinheiro) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Camila Ayres (camilasan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Wagner Reck (wiglot) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Wagner Reck (wiglot) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
KDE Sysadmins XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
KDE User Working Group XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jens Reuterberg (jensreuterberg) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Martin Bříza (mbriza) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
KDE Dot News XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Miller XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kdenlive team XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Christoph Feck (kdepepo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Egon Willighagen XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Percy Camilo Triveño Aucahuasi XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Kurt Hindenburg XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ramon Zarazua (_killerfox_) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Valerio Pilo (Amroth) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jasem Mutlaq (KNRO) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jigar Raisinghani (jigar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nikhil Marathe (nsm) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Wade Olson XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Konrad Zemek XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kevin Krammer XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Krita News XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sahil Nagpal (sahil) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mohit Goyal (mohit) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Vladimir Kuznetsov XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rafał Kułaga (rkulaga) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kubuntu Wire XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lamarque Souza (lamarque or lvsouza) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Johannes Wienke (languitar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Luca Tringali (lucatringali) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Leo Franchi (lfranchi) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lydia Pintscher (Nightrose) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Johan Thelin XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gabriel Poesia (gpoesia) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Valorie Zimmerman (valorie) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sven Brauch (scummos) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alex Raymond (alexraymond) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aracele Torres (araceletorres) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Filipe Saraiva (filipesaraiva) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Luiz Romário (luizromario) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sandro Andrade (sandroandrade) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tomaz Canabrava (tomaz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vinicius Azevedo (stdcout) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vito Chiarella (vitochiarella) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vitor Boschi (Klanticus) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alex Turbov (zaufi) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Luboš Luňák (llunak) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frederik Schwarzer (icwiener) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lucas Lira Gomes (MaskMaster) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lucijan Busch (lucijan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Luís Gabriel Lima (luisgabriel) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lukas Dzikaras (LukasLt2) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lukas Tvrdy (lukast) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tejas Dinkar (gja) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Piyush Verma XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andy Coder XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Mahfuz062 XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adam Treat (manyoso) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marc Cramdal XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marcel Wiesweg (mwiesweg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marcus Hanwell (cryos) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marco Calignano (marcuzzo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mario Fux (unormal) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mark Gaiser (markg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Markus Slopianka (markuss) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marco Martin (notmart) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martijn Klingens XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Küttler (mkuettler) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Klapetek (mck182) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Konold (Mortimer) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Gräßlin XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Klapetek (mck182) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daniel Jones XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matthias Fuchs (mat69) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mateu Batle (mbatle) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matt Williams XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mayank Madan (mayankmadan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Michael Bohlender (mbohlender) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kenneth Wimer (kwwii) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mehrdad Momeny (mtux) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Benjamin Meyer (icefox) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pedro López-Cabanillas XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Pedro Lopez-Cabanillas XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Milian Wolff (milianw) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mirko Boehm (miroslav) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Magda Konkiewicz XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marijn Kruisselbrink XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mohamed Anwer (tootis) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Mohamed Malik XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ben Martin (monkeyiq) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jean-Nicolas Artaud (morice-net) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Artur Souza (MoRpHeUz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mauro Iazzi (iazzi) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rupanjana Mitra (mrupanjana) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Miquel Sabaté (mssola) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tony Murray (murrant) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Carsten Pfeiffer (gis) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Martyn Circus XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sven Burmeister (rabauke) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Maurizio Monge XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sayak Banerjee (sayakb) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ben Cooksley (bcooksley) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Srikanth Tiyyagura XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Myriam Schweingruber (Mamarok) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jason A. Donenfeld (zx2c4/jdonenfeld) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ingo Malchow (neverendingo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kubuntu News XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Patrick Spendrin (SaroEngels) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Abhijeet Nikam (nikam08) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Niko Sams (nsams) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nikolaos Chatzidakis XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nilesh Suthar (nil1511) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Juan Luis Baptiste (Maeztro) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jos van den Oever (vandenoever) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Guillaume Martres (smarter) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Oindrila Gupta (oini) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marta Rybczyńska XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dmitry Suzdalev (dimsuz) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Lucas Hermann Negri (lucashn) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Aaron Reichman (areichman) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kai-Uwe Behrmann (oy) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Francisco Fernandes (chicao) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Paul Mendez (paul_m) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Paul Pacheco (paulpach) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marc Pegon (mpeg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
José Luis Vergara Toloza (Pentalis) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Peter Grasch XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adam Pigg XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pierre Ducroquet XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rob Scheepmaker (pinda) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matthias Meßmer (pipesmoker) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kurt Pfeifle (pipitas) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ignat Semenov (isemenov) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Rene Kuettner (rku) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Peter Penz XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pranav Ravichandran (Pranav_rcmas) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Frans Englich (FransE) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Paulo Rômulo (promulo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pierre Stirnweiss (PierreSt) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Tomasz Olszak (tolszak) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Illya Kovalevskyy (tucnak) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Raphael Kubo da Costa (rakuco) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jeremy Whiting (jpwhiting) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Peter Simonsson (psn) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Randa Meetings XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Petr Vanek XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Mark Kretschmann (markey) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Reinhold Kainhofer XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alex Merry XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rex Dieter (rdieter) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Richard Moore (richmoore2) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Richard Johnson (nixternal) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Richard Dale XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rishab Arora (spacetime) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rivo Laks XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Robert Knight XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Robert Riemann (rriemann) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Robert Mathias Marmorstein (robertm) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Radoslaw Wicik (rockford_) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Roozbeh Shafiee XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Björn Ruberg (ruberg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jordi Polo (jordl) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ruediger Gad (rcg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ryan Bitanga XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rob Buis (rwlbuis) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Maksim Orlovich (SadEagle) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sascha Manns (saigkill) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Samikshan Bairagya (samxan) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Martin Sandsmark (sandsmark) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sanjiban Bairagya (fewcha) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Sascha Peilicke (saschpe) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Adenilson Cavalcanti (Savago) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matteo Agostinelli (agostinelli) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Scott Wheeler (wheels) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Gottfried (sebasgo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sergio Martins (sergio) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thomas Pfeiffer (colomar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rohan Garg (shadeslayer) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Shaun Reich (sreich) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bernhard Beschow (shentey) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Shivaraman Aiyer (sraman) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Simon Edwards XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Peter Grasch XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sinny Kumari (ksinny) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Casian-Valentin Andrei (skelet) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Smit Patel (smitpatel) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sam Duff (Socceroos) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alvaro Soliverez (Hei_Ku) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Holger Freyther (zecke) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Christian Ehrlicher XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Germain Garand XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Shawn Starr (spstarr) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stefan Teleman XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stefan Derkits (HorusHorrendus) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stephanie Das Gupta (stephdg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stephen Kelly (steveire) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matěj Laitl (strohel) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stuart Jarvis XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Claudio Desideri (snizzo) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sven Langkamp (slangkamp) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Swair Shah (swair) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Romain Pokrzywka (kromain) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Prakash Mohan (praksh) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Dörner XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexandr Akulich XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Teo Mrnjavac (Teo`) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Bart Cerneels (Stecchino) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Hayri Bakici (thehayro) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Peter Schiffer (aceton) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Cornelius Schumacher XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Danny Allen (dannya) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jeffery MacEachern (jaem) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Matt Broadstone XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Andreas K. Hüttel (dilfridge) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Roopesh Chander XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Stefan Majewsky (majewsky) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Roney Gomes (roney) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Theo Chatzimichos (tampakrap) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Ahmed Ghonim XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Yuvraj Tomar (yuvrajtomar) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Kaushik Saurabh (roide) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jussi Kekkonen (Tm_T) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Gary Greene (greeneg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jan Hambrecht (jaham) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Jonathan Schmidt-Dominé (The User) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Luke Wolf (Luke_Wolf) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Harald Sitter (apachelogger) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Abhishek Patil (thezeroth) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Aleix Pol (apol) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Janet Theobroma (theobroma) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thiago Macieira (thiago) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Philip Rodrigues (PhilRod) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Emmanuel Lepage Vallee (Elv13) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dion Moult (Moult) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thomas McGuire XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Thomas Thym (ungethym) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Till Adam XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Duncan Mac-Vicar (duncanmv) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tina Trillitzsch XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Raymond Wooninck (tittiatcoke) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Torgny Nyblom (tnyblom) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Torsten Rahn (tackat) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Agustin Benito Bethencourt XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Konstantinos Smanis (ksmanis) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Olaf Schmidt-Wischhöfer (ojschmidt) XML 23:36, Tuesday, 02 September 00:21, Wednesday, 03 September
Eva Brucherseifer XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Alexandra Leisse (troubalex) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Trueg XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Trueg (trueg) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Albert Astals Cid (TSDgeos) XML 23:36, Tuesday, 02 September 23:51, Tuesday, 02 September
Albert Astals Cid (TSDgeos) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Till Theato (ttill) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Davide Bettio (WindowsUninstall) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Björn Balazs XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Utku Aydın (utku) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Valentin Rusu (valir) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Vishesh Handa (vhanda) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Sebastian Kügler (sebas) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vlad Codrea XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Vyacheslav Tokarev (vtokarev) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Pradeepto Bhattacharya XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Tirtha Chatterjee (wyuka) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Floris-Andrei Stoica-Marcu XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Laurent Montel (mlaurent) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Smit Shah XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Hans Chen (Mogger) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Nikolas Zimmermann (WildFox) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Dirk Mueller XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Daniel Kreuter (xardas008) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Matthias Klumpp (ximion) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Xavier Vello (xvello) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
YANG Qiao (yangqiao) XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Yash Shah (yashshah) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Philip Muškovac (yofel) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Zack Rusin (zrusin) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Rafał Miłecki (Zajec) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Zanshin Announcements XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
Marcin Zieminski XML 23:06, Tuesday, 02 September 23:51, Tuesday, 02 September
Waldo Bastian (zogje) XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September
David Nolden XML 23:06, Tuesday, 02 September 23:36, Tuesday, 02 September

Microblogging from KDE

September 02, 2014

Lukas Tinkl

July and August in Red Hat KDE

After summer vacations I'm back with reporting on exciting things happening in the KDE world at Red Hat. Everybody has been super busy with preparations for this year's meeting of KDE contributors conference -- Akademy -- which our team is co-organizing; nevertheless the number of topics tackled didn't decrease, quite the contrary.


Akademy 2014, Brno, Czech Republic
Red Hat, Akademy 2014 Silver sponsor

Bullets below marked with either KF5 or P5 suggest we're are busy working on KDE Frameworks and Plasma 5 ;) Want to try out Plasma 5 on Fedora? Instructions in this Daniel Vrátil's blog post.

Fedora

  • updated KDE Frameworks 5 packages to 5.1.0
  • updated Plasma 5 COPR to 5.0.1
  • kde-plasma-nm - update to 0.9.3.4
  • kdevelop - 4.7.0

KDE

  • finished GStreamer 1.0 port of phonon-gstreamer, fixed couple bugs there
  • KF5: frameworkized Akonadi
  • KF5: fix "Get hot new stuff" downloads, fix custom sound files in knotifications
  • P5: improved lock screen and Plasma 5 Digital Clock applet
  • P5: mix porting fixes
  • P5: date/time/zone fixes (kcm, dataengine, clock applets)
  • P5: i18n fixes across all modules
  • P5: powermanagement fixes (dataengine, powerdevil)
  • P5: ported and re-enabled solid-actions-kcm
  • revived KIO GDrive, rewrote most of the code and almost finished it
  • kdebz#1129909 - Dialog window for type password doesn't displays
  • kdebz#1133233 - (not protected AND new) wireless connection are shown as protected
  • kdebz#337956 - Unable to import PCF files
  • kdebz#338124 - plasma-nm-0.9.3.4 fails to build (openvpn.h:46:22: error: 'QTextStream' has not been declared)
  • kdebz#338146 - Percent sign mistakenly appended to connection IDs
  • kdebz#337958 - NetworkManager does not stores group passwords in KWallet
  • kdebz#338156 - plasma-nm does not save settings anymore
  • kdebz#338513 - NM applet significantly delays KDE logon

Misc

  • lots of vacation for everyone
  • dvratil attended KDE Randa Meetings 2014 (10.8. - 15.8.)
  • Akademy planning, attending


Brought to you by: Martin Bříza (mbriza), Jan Grulich (jgrulich), Than Ngo (than), Lukáš Tinkl (ltinkl) and Dan Vrátil (dvratil)

Get the latest and greatest of Fedora and KDE at http://spins.fedoraproject.org/kde/

You can find us on #fedora-kde channel on Freenode IRC

21:07, Tuesday, 02 September UTC

Jonathan Riddell (riddell)

Should Scotland be an Independent Country?

KDE Project:

Today my postal vote in the referendum for Scottish independence was sent off. I usually use my personal blog for non technical bits but I thought some readers of my KDE Blog might be interested in this as it does affect the geopolitics of pretty much the whole world.

What's going on?

300 years ago Scotland was broke and England was getting rich from its empire so England gave Scotland a wad of money and created the United Kingdom. That served Scotland pretty well for some centuries as Scots were able to trade and move freely across the empire and plenty of Scots were happy to take part in that (my old school still has a load of Hong Kong gold in its attic as a result). Time passed and the empire was shut down, the UK joined the EU and some oil was found in the sea off the coast of Scotland. After many decades of Scottish public services being run by some people appointed by the UK government, 15 years ago a new Scottish pariament was reconvened to control public services and laws in Scotland, but not tax or anything international.

In Scottish politics we have not liked the Conservative (and Unionist or Tory) party since Margaret Thatcher destroyed Scottish industry. Then Labour went out of fashion after Tony Blair started some random wars and Scottish administration (not even wanting to call itself a government) decided to market Scotland by calling it small. Then their coalition partner party the Liberal Democrats fell out of fashion by getting into the UK government and dropping all their liberal principles (GCHQ has been doing mass surveilance on the population and they haven't said a word against it). So at the last election the only large party left that had not lost all respect, the Scottish National Party, was voted in with a majority and their Scottish Government is now organising this referendum.

What will happen if the vote is Yes?

Both sides have said they will respect the result. If over 50% of people vote yes then the Scottish Government will start to negotiate with the UK government on the details to make Scotland an independent country. Depending on your point of view this is either a new country (Scotland) and a continuing state (rest of UK) or dissolving the 300 year old union to make two new countries. The proposed timetable is to make Scotland independent by March 2016 (which is done to fit in with the election timetable of the Scottish parliament, it's made somewhat more complex by a UK election happening in 2015).

Why vote for Yes?

There is a democracy in Scotland which has been notably different from England and the rest of the UK for some time. The two parties that make up the UK government (Conservative and Liberal Democrat) are the two least popular parties in Scotland. Political borders are circles on a map which can be arbitrary or based on some nasty tribal allegance but here's a redrawing which makes government better follow the demos of the population.

Is this anti-English?

We can be proud in Scotland that independence is being done through a peaceful political process. That was not the case in Ireland where they had effectively a guerrilla civil war until recently over incomprehensible tribal allegances. And it's not the case that Scottish nationalism is in any way anti any other nation, Scotland would continue to be best friends with England and the other counties of the British Isles.

The Yes campaign has sensibly avoided any call to patriotism, kilts and Irn Bru tend to get old quickly. By contrast the No campaign has tried quite a lot of patriotism talking about shared ties and gosh remember the first world war wasn't it glorious? Meanwhile English politics is getting more and more little-Englander. The Prime Minister has said he will give a referendum on membership of the EU, he wants to pull the UK out of the Court of Human Rights and he is making immigration much harder, all good reasons to vote to stay away from that sort of politics.

But isn't it better to work together?

Yes, and Scotland has benefited from the union with England to not have barriers of trade or movement. Now we have a larger union, the EU, to sort out the boring stuff around trade and movement we have no need of that middle layer of government. Scottish independence is an efficiency drive.

Can Scotland afford to be independent?

This is a common worry. Scots are often not very confident in their own country. We're small and need the help of something larger is a common thought. Of course it's not true, Scotland is exactly in the middle if you place it in a list of countries by size or population. We have plenty of industry and natural resources. And then we have the largest oil reserves in Europe. Currently the UK spends all the money that comes in from the oil while any other well run country with oil creates a soverign wealth fund, a common argument against independence is that the oil will run out sometime, my argument for independence is we need to be independent toot sweet so we can start a soverign wealth fund before it runs out.

Will Scotland be allowed to join the EU?

There's no precendent for this happening and no rules governing this process. Those against independence say Scotland would need to apply to join the EU and the Spanish might block it to stop the Catalans getting ideas above their station. Those for independence point out that Scotland is already a member of the EU, that all the citizens have EU citizenship and there is no rule to kick us out. In the end politics will decide and the EU has a good record of welcoming in people rather than shunning them.

What Currency will Scotland use?

Ah, yes, slightly more tricky this and the No campaign has been playing it to the full. The Scottish Government wants to continue to use the pound sterling with a formal currency union with the rest of the UK. The current UK government says this would not happen but it's not clear why the rest of the UK gets to keep it and Scotland not, this does suggest the last 300 years of union have really been a sham. The Scottish Government in response points out that as a freely tradeable currency Scotland can use the pound if it wants and nobody can stop it (this is what Ireland did when it became independent and what the Isle of Man and Gibraltar still do) and without a currency union Scotland would have no need to pay the massive national debt the UK has. Personally I'd like to use the Euro but that doesn't seem very fashionable these days for some reason.

What will happen to the BBC.. to the NHS.. won't the terrorists love it.. will Scotland have to join Schengen.. will immigrants steal our jobs and our women... will the UK get to keep its nuclear bombs?

The Scottish Government published a really long book with answers to all these details. They're just starting positions of course, after any Yes vote there will be lots of negotiation to work out how everything will be set up, but there is little that seems insurmountable.

They want to start a Scottish equivalent of the BBC which would mean we would actually get Scottish news in Scotland, currently half the news shown to use is irrelevant. It would make a formal agreement to allow us to keep important stuff like the World Service and Doctor Who. The National Health Service gives us free use of doctors and hospitals and any politician which says anything against it will be voted out quickly, the NHS is separate in Scotland than that in England so there's no change here, although some no campaign adverts have tried to claim otherwise. There has been some nonsense about terrorists loving it and we won't have MI5 and GCHQ to look after us all, to me the mass surveilance of the spy agencies is very much a reason to get away from that. I'd be all for Scotland joining Schengen and having closer ties with Europe but I expect we'll remain part of the British Isles Common Travel Area, it's only sensible politically. Scotland needs more immigrants for various economic reasons but in England there's a large political wish against it, another good reason to vote Yes. The UK nuclear bombs are kept north of Glasgow and sadly this is the only issue that has interested Slashdot. There is no desire to keep these in Scotland and the Scottish Government has promised to get rid of them mucho rapido, what the rest of the UK does with them is a problem for the rest of the UK.

All very exciting..

The vote is on 18th September and the polls show the No campaign stay steady at a bit below 50% and the Yes campaign started low at 30-odd percent but has been gaining ground as undecided voters move to Yes. There's now only a few points separating them and there are still plenty of undecided voters. The trend is for undecideds to move to Yes so it's very much all to play for. It's fun to live in interesting times.

10:21, Tuesday, 02 September UTC

Sujith H (sujith_h)

Akademy 2014

Akademy 2014 is going to be held at Brno University of Technology. This is the first akademy I am going to attend. Its been 5 years that I had been involved with the community and been with it during my good and bad times. I thank KDE e.V for sponsoring my travel and giving me an opportunity to meet community members. I share a kool hug to all community members and KDE e.V :)

 

09:50, Tuesday, 02 September UTC

Sebastian Trueg (trueg)

Sharing Files With Whomever Is Simple

Dropbox, Google Drive, OneDrive, Box.com – they all allow you to share files with others. But they all do it via the strange concept of public links. Anyone who has this link has access to the file. On first glance this might be easy enough but what if you want to revoke read access for just one of those people? What if you want to share a set of files with a whole group?

I will not answer these questions per se. I will show an alternative based on OpenLink Virtuoso.

Virtuoso has its own WebDAV file storage system built in. Thus, any instance of Virtuoso can store files and serve these files via the WebDAV API (and an LDP API for those interested) and an HTML UI. See below for a basic example:

Virtuoso DAV Browser

This is just your typical file browser listing – nothing fancy. The fancy part lives under the hood in what we call VAL – the Virtuoso Authentication and Authorization Layer.

We can edit the permissions of one file or folder and share it with anyone we like. And this is where it gets interesting: instead of sharing with an email address or a user account on the Virtuoso instance we can share with people using their identifiers from any of the supported services. This includes Facebook, Twitter, LinkedIn, WordPress, Yahoo, Mozilla Persona, and the list goes on.

For this small demo I will share a file with my LinkedIn identity http://www.linkedin.com/in/trueg. (Virtuoso/VAL identifier people via URIs, thus, it has schemes for all supported services. For a complete list see the Service ID Examples in the ODS API documentation.)

Virtuoso Share File

Now when I logout and try to access the file in question I am presented with the authentication dialog from VAL:

VAL Authentication Dialog

This dialog allows me to authenticate using any of the supported authentication methods. In this case I will choose to authenticate via LinkedIn which will result in an OAuth handshake followed by the granted read access to the file:

LinkedIn OAuth Handshake

 

Access to file granted

It is that simple. Of course these identifiers can also be used in groups, allowing to share files and folders with a set of people instead of just one individual.

Next up: Sharing Named Graphs via VAL.


09:25, Tuesday, 02 September UTC

Björn Balazs

Understanding Icons: Participate in high contrast survey #8

In this icon test we take a look at a high contrast set. Please, again, participate and help us to learn more about the usability of icon design.

Keep on reading: Understanding Icons: Participate in high contrast survey #8

09:00, Tuesday, 02 September UTC

Baltasar Ortega

KDE España estará presente en Akademy 2014

Como ya sabéis, y si no aquí estoy yo para contarlo, el próximo 6 de septiembre empieza en la ciudad de la República Checa  de Brno Akademy 2014, el mayor encuentro de simpatizantes de KDE del año, que finaliza el 12 del mismo mes. Y, como no podía ser de otra forma, KDE España estará [&hellip

08:10, Tuesday, 02 September UTC

KDE Dot News

Thank You Akademy 2014 Sponsors

Akademy is a non-commercial event, free of charge for all who want to attend. Generous sponsor support helps make Akademy possible. Most of the Akademy budget goes towards travel support for KDE community members from all over the world, contributors who would not be able to attend the conference otherwise. The wide diversity of attendees is essential to the success of the annual in-person Akademy conference. Many thanks to Akademy 2014 sponsors

Sponsors receive benefits beyond the feel-good rewards of supporting a worthy cause. They have the opportunity to:

  • Work closely with KDE contributors, upstream and downstream maintainers and users of one of the foremost User Interface technology platforms.
  • Meet other leading Free and Open Software players. In addition to the KDE Community, many other Free Software projects and companies participate in Akademy.
  • Get inspired. Akademy provides an excellent environment for collecting feedback on new products, or for generating new ideas.
  • Support Free and Open technologies. Much of the actual work of Akademy is done in new application development, hackfests and intensive coding sessions. These activities generate value that goes far beyond KDE and Akademy.
  • Be part of the KDE Community. KDE is one of the largest Free and Open Software communities in the world. It is also dynamic, fun-loving, cooperative, committed, creative and hard-working.

2014 Silver Sponsors
Blue Systems is a company investing in Free/Libre Computer Technologies. It sponsors several KDE projects and distributions such as Kubuntu and Netrunner. Their goal is to offer solutions for people valuing freedom and choice.

Digia is responsible for all worldwide Qt activities including product development, commercial licensing, and open source licensing working together with the Qt Project under the Open Governance model. Digia has in-depth Qt expertise and experience from demanding mission-critical development projects, as well as hundreds of in-house certified Qt developers. Digia offers licensing, support and services capabilities, and works closely with developers working on Qt projects.

Red Hat is the world's leading provider of open source solutions, using a community-powered approach to provide reliable and high-performing cloud, virtualization, storage, Linux, and middleware technologies.

2014 Bronze Sponsors
froglogic GmbH is a software company based in Hamburg, Germany. Their flagship product is Squish, the market-leading automated cross-platform testing tool for GUI applications based on Qt, QML, KDE, Java AWT/Swing and SWT/RCP, JavaFX, Windows MFC and .NET, Mac OS X Carbon/Cocoa, iOS Cocoa Touch, Android and for HTML/Ajax or Flex-based Web applications running in various Web browsers.

Google is a leading user and supporter of open source software and development methodologies. Google contributes to the Open Source community in many ways, including more than 50 million lines of source code, programs for students including Google Summer of Code and the Google Code-in Contest, and support for a wide variety of projects, Linux User Groups, and other events around the world.

KDAB—the world's largest independent source of Qt knowledge—provides services, training and products for Qt development. KDAB engineers deliver peerless software, providing expert help on any implementation detail or problem. Market leaders in Qt training, our trainers are all active developers, ensuring that the knowledge delivered reflects real-world usage.

2014 Supporters
Open Invention Network (OIN) is a collaborative enterprise that enables Linux through a patent non-aggression community of licensees. OIN also supports Linux Defenders, which helps the open source community defend itself against poor quality patents by crowdsourcing defensive publications and prior art.

ownCloud Inc. was founded in 2011, based on the popular ownCloud open source file sync and share community project launched within the KDE Community. The goal of ownCloud Inc. is to give corporate IT greater control of their data and files — combining flexibility, openness and extensibility with on-premise servers and storage.

A special thank you to KDE's Patrons who support the KDE Community throughout the year.

Akademy 2014 Brno

For most of the year, KDE—one of the largest FOSS communities in the world—works online by email, IRC, forums and mailing lists. Akademy provides all KDE contributors the opportunity to meet in person to foster social bonds, work on concrete technology issues, propose and consider new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the following year. Hands-on sessions offer the opportunity for intense work to bring those plans to reality. The KDE Community welcomes companies building on KDE technology, or looking to begin using it.

If you are someone who wants to make a difference with technology, Akademy 2014 in Brno, Czech Republic is the place to be.

Dot Categories:

02:08, Tuesday, 02 September UTC

Ashish Madeti (madeti)

GSoC'14 Project Summary

Like all good things, GSoC’14 had to come to an end. Thanks to my mentors, Shantanu and Peter, I was able to complete all the things I promised in my proposal. In this post I will try to summarize my whole work during the GSoC.

My project was to “Integrate Plasma Media Center with Simon”. The goal was to allow a user to control PMC through voice commands (using Simon). This required PMC to expose a D-Bus interface through which other programs (including but not limited to Simon) could communicate with it. On the other end, Simon required a plug-in to be able to communicate with PMC.

The interface for PMC and the Simon plug-in, both were based on MPRIS specifications which allows them to communicate with other applications based on those specs. For example: any MPRIS based controller like “Now Playing” plasmoid can control PMC. Similarly, the Simon plug-in can be used to control other MPRIS compatible media players like VLC, Dragon, Amarok etc.

Following was my course of action to complete the project:

  1. Added Root and Player MPRIS interfaces to PMC. This made PMC MPRIS compatible. Below is a snapshot of the “Now Playing” plasmoid and the taskbar preview exploiting the D-Bus interfaces of PMC.

  2. Created a command plug-in for Simon based on MPRIS specs. It allowed a user to control any MPRIS compatible media player through voice commands. It could control the playback of media and change volume. This plug-in was to be improved later so that a user can play a song in his playlist by saying its name.

  3. Added Tracklist MPRIS interface to PMC. This allowed other applications to keep track of PMC’s playlist and play a particular song from it. The Simon plug-in was to interact with this interface to let a user play a song from the current playlist just by saying its name.

  4. Improved the plug-in mentioned in (2) so that a user can play a song by saying its name. This works in the following manner:
    • Simon plug-in keeps track of MPRIS compatible media players registered on D-Bus
    • It maintains a list of tracks in a media player by listening for signals of Tracklist interface
    • For each track a new command is created (or deleted when the track is removed) with the track’s title as trigger (as shown in the snapshot)
    • When a user says the name of a track, a command with that name is triggered and a GoTo method call is used to play that particular song
  5. Created a Simon scenario based on English HUB4 SPHINX model using the plug-in mentioned in (4) so that the user need not setup the commands manually. Download the scenario, import it in Simon and you can control your favourite MPRIS media player (read PMC ;) ).

Now that the project is complete, I request you to test it and please report bugs. You can ping me on IRC for any help. My IRC nickname is madeti and you can find me in channels #plasma or #kde-speech.

00:00, Tuesday, 02 September UTC

September 01, 2014

Björn Balazs

Talking at KDE Akademy

At KDE Akademy starting Friday in Brno I will outline in a talk 'A quick guide how you can save the world or why it is impossible to do usability.'

Keep on reading: Talking at KDE Akademy

21:58, Monday, 01 September UTC

Aaron Seigo (aseigo)

The Luminosity of Free Software: A new series and .. Patreon!

It has been a while since I did a Luminosity of Free Software episode. Real life has consistently gotten in between me and the show. I like doing the show, however, and it seems a couple thousand people other do as well (at least enough to watch each episode), so I sat down a couple months ago to think about what I wanted to do with Luminosity: Leave it behind forever? Pick it up again where I left off? Reboot it?

I've long wanted a show to tune into that was done by a free software "insider" that gave me new insights, not just reviews and interviews and guffahs. I mean, I love that stuff too and there some epic shows out there ... but I wanted something a bit different. I also wanted a show that wasn't just "open source software" but also "free software philosophy". Earlier series of Luminosity were my stabs at that.


After quite a bit of considering and some planning I settled on ... a reboot of the show. Luminosity is going to change format slightly to come closer to my initial goals. Each episode will be 30 minutes long and there will be 3 segments per episode.: a software review, an editorial reflection and then a Q&A session as in the good ol' days. I'll still use Google+ Hangouts, at least for now, and post to Youtube as that seems to still have the greatest reach, and that is why I am doing the show.

The first episode of the new Luminosity will be on Friday the 12th of September .. but there's more!

I've started a Patreon campaign for the show. It's a new way for those who watch Luminosity to support it and, in turn, both motivation and means for me to continue to make episodes and improve the show. The way Patreon works is that you pledge an amount of your choosing to donate for each show. You can also set a maximum monthly budget so you don't overspend. You can pledge as little as $1 or as much you wish. It's like crowd funding but instead of paying for the completion of a specific project you are supporting the ongoing creative effort.

And Luminosity is an effort. I have to select worthy and interesting topics each week, research and experiment, compile notes, often set up a demo and then actually do the show. Don't get me wrong: it's an enjoyable process, but it does take time and effort.

One of the things I'm really looking forward to with having patrons is having you help shape the show. People who sign up as patrons will get a vote on the topics for next week's show, for instance, and that's just one of the perks available. There's even a perk where you get a personalized post card from me, in case you are into that sort of thing. I promise to make it a pretty one with something Zürich in the picture. That perk is limited, however, to the first 50 people who sign up for it. I'm not made of postcards, you know!

You can also help by spreading the word around about the Luminosity of Free Software Patreon campaign and the show itself. See you next Friday!


20:20, Monday, 01 September UTC

Christoph Cullmann (cullmann)

Akademy 2014 – Soon ;=)

Only some days until the yearly Akademy starts.

Its a real great thing to get known to other KDE/Qt contributors and meet old and new friends.

Already amazed, lets hope the airlines don’t go on strike during my travel :=)

See you all there, lets have fun & be productive! Already now thanks to all people that help to organize this cool event and all our sponsors!
Banner400.going

18:12, Monday, 01 September UTC

Baltasar Ortega

Mapa de usuarios de KDE [01-09-14]

Si eres usuario de KDE no pienses que estás solo. De hecho hay muchas más personas que lo utilizan de lo que crees. Es por ello que estamos creando un Mapa de usuarios de KDE de todo el mundo. Y, evidentemente, España y sus archipiélagos no podía ser una excepción y desde el blog queremos [&hellip

08:10, Monday, 01 September UTC

Yash Shah (yashshah)

Akademy 2014 – Here I come :)

Only a few days are left for Akademy 2014, the annual KDE Conference. I’m very excited to be part of it for the third time. As usual, i got my Visa on the last day. This year, it will be hosted in Brno, Czech Republic from 6th to 12th September.

You can see the complete schedule of the conference here. There are many interesting talks that I would like to attend. Also, the board is going to do a Q&A session on Saturday afternoon and if you have any question ( and if you’re not able to attend Akademy personally ), you can post your questions here.

I will be hosting a BoF on 9th September to discuss about the future plans of KDE India. Be there, if you have any feedback and ideas and want to help us in developing a better community of KDE Contributors. Akshay Ratan will also talk about the current scenario of KDE India and conf.kde.in 2014 on 6th September.

Thanks KDE e.V. for sponsoring my travel and giving me opportunity to interact and share thoughts with awesome community people which will be life changing experience again!

Looking forward to meet all my Kool friends :)

03:26, Monday, 01 September UTC

August 31, 2014

Mohamed Anwer (tootis)

What about ?

What about adding sorting order ["Ascending" & "Descending"] dedicated to the grouping set ["Album" & "Format"] as you see in the image:snap24Please vote:


22:38, Sunday, 31 August UTC

Tomaz Canabrava (tomaz)

Good Bye Akademy

I’m leaving you today,

Good bye, Good bye, good bye.

Good bye all of you people,

There’s nothing you can say

To make me change my mind,

Because I broke a leg and I’m going to surgery o tuesday.

:(

tomaz-cadeira

at least i was sexy in the picture.


18:45, Sunday, 31 August UTC

Adriaan de Groot (adridg)

Personal clones on KDE infrastructure

I’m doing a little work on Tupi – the 2D animation application that joined the KDE community some months back — so that it builds on FreeBSD (the C++ code is wonderful, but the build system is qonf, which is not).
This has led me to the maze of git documentation on KDE’s infrastructure, and I’m taking notes so I don’t forget what I did. It’s also part of one of the things-to-do-at-Akademy on my list: talk to the techbase people to find out what the status and intentions are.
For the purpose of futzing with the build system, I’m using a personal clone of the repository. This is so that whatever weird-ass things I’m doing, they don’t pollute the upstream repository; eventually I hope to code-dump a CMake-based buildsystem into upstream. One that can live alongside the existing build system for platforms other than FreeBSD — although I think that in the long run having the same build system and dependency-finding-modules as all the rest of the KDE software would be good.
Basic git configuration is covered on techbase, which describes the mandatory (username) and optional (URL rewriting, colors, templates and exclusions) configurations for using git with the KDE infrastructure.
The KDE sysadmin git FAQ explains how to create a personal clone of a project repository. I’ve created a personal clone of tupi, and cloned that one locally. Then I work on that (in a project Neon VM and a FreeBSD jail).
The only thing is, my personal clone doesn’t get updates from the upstream (here, that means the original project repository) unless I pull them in myself. This is where additional remote repositories come from. In my clone, by default there’s two origin remotes (one for pull from anongit, one for push over ssh, as documented in the git configuration page).

[adridg@beastie]$ git remote -v
origin  git.kde.org:clones/tupi/adridg/tupi-cmake (fetch)
origin  git.kde.org:clones/tupi/adridg/tupi-cmake (push)

So what I need to do locally is pull in commits from the upstream, merge all of them with my local clone, and then push (which goes to my personal clone on KDE infrastructure). The git-scm book has clear instructions; for me it means adding an upstream repository:

[adridg@beastie]$ git remote add upstream kde:tupi

And then to keep up-to-date with the upstream commits and store them in my own personal copy, I need to do these four steps (this assumes that I don’t do anything in the master branch myself):

[adridg@beastie]$ git fetch upstream
[adridg@beastie]$ git checkout master
[adridg@beastie]$ git merge upstream/master
[adridg@beastie]$ git push

There’s probably a faster / better way of doing this, but at least I know I can keep up with the upstream. Now I can keep rebasing my work inside my local clone onto the latest upstream like this, until such a time as I’m ready to push my CMake branch to my personal clone on the KDE infrastructure. Once that’s done, I can ask the maintainer to pull it into upstream.

18:35, Sunday, 31 August UTC

Kevin Ottens (ervin)

Akademy 2014: Navigating the tracks

I meant to write a post about the upcoming Akademy for a while now. Since I submitted quite a few sessions (obviously requiring preparation) and I had to prepare for the KDE Frameworks BoF, I never quite found the time... until now! I'm all done! Actually I just have to pack my bags and hit the road at that point. It's probably the first Akademy where I'm ready four days before the first flight of my journey.

Anyway, Paul's post on what he plans to see inspired me to do something similar. Let's see how I'll navigate the tracks during Akademy.

Day 0: KDE e.V. General Assembly

The day before the fun begins for the community at large, the KDE e.V. membership gathers for its annual general assembly. It can be perceived as a day long boring meeting (I know some do), but it's clearly not like that. It is a very crucial event as KDE e.V. has important responsibilities in order to help the community. For instance such a body is necessary for Akademy itself to exist! It is also represented in the KDE-FreeQt foundation...

Clearly an organization not to be underestimated. This year assembly will be especially exciting as several positions are opening in the Board of Directors, which means elections... and candidates. We have quite a few this year which is a good sign of liveliness.

Day 1: Digital Feudalism, Tech and Community

Obviously I can't miss Sascha Meinrath's keynote. I had the opportunity to meet Sascha during FISL 15 earlier this year. He is probably one of the most interesting persons I met during the last couple of years! I discussed with him some of the points he'll likely touch in his keynote about Digital Feudalism. Definitely something people should attend as it is crucial for the years to come in the Free Software movement.

Then I will obviously attend the fast track session. To me we got a few which clearly stand out like GCompris transition to QtQuick, Everything Qt, A year with Akonadi and Using KF5 in commercial applications. This fast track will conclude my first morning.

The afternoon is then packed with quite a few interesting talks. Since I can't duplicate myself I won't be able to attend everything I'd like to... I urge application developers to attend Porting to KDE Frameworks 5 and Porting to QML.

That said... in the tradition of "do as I say not as I do", I'll attend something else instead... told you I had to make tough calls! I will run in the room 2 and stay there the whole afternoon.

I'll first attend War of Idioms by Ivan. The man knows his C++ standards and is definitely enthusiastic about some of the recent changes. So am I! I had the opportunity to use new idioms while working in projects with C++11 support, so I'm looking forward to learn new ones thanks to Ivan.

Then I'll attend A tale of ELFs and DWARFs by Volker. From the abstract it could sound as something very low level, maybe it is somewhat low level... but that is impacting everything we do when developing native code. Since that's what we mostly do in our community it's good for your toolbox to know linking and loading to be able to get out of troubles when needed. Definitely healthy, like eating your veggies at every meal.

After that I'll switch in community mode, looking forward to the Board of KDE e.V. session. Curious about the KDE e.V.? You know, the organization I mentioned above as crucial. Yes, that's what I thought: you should attend this session too!

Still in community mode I'll make sure to pay attention in the KDE in Asia session. I have some kind of fascination for what's going on there. We got people in those countries doing amazing things and organizing great events. We ought to learn and seek inspiration from them. That talk has quite a few lessons for us doing promo work in Europe I'm sure.

Day 2: Craftsmanship, Usability and Design

This one will be my big day... so obviously I can't attend everything I'd like again.

At least I will be listening to Cornelius' keynote. I'm curious about his take on the personal growth experience working in a community like KDE might bring. Like him, I joined for technology but stayed for the community. I also know we have different point of views on the finer details so that will be interesting to have a broader view in a different frame of reference like that.

Then I will be on stage during the fast track session to deliver my KDE Craftsmen talk. As I said, like Cornelius I see personal growth opportunities in the community, but I think we don't seize them as much as we could. I'll make the case of why that is and where we could look for inspiration.

Of my fellow fast trackers, I'm especially looking forward to A quick guide how you can save the world or why it is impossible to do usability (what a long title for a short talk!) by Björn Balazs. Another of those skilled people which inspired me in the past, looking forward to what he's up to.

After lunch, just like on day 1, I will stay in the same room the whole afternoon. Only this time it will be room 1...

First I'll pay a visit to Andrew Lake's Community Design and the KDE Visual Design Group. Being stuck in the lower stack so far I didn't get many opportunities to interact with the people in the Visual Design Group. They did a massive job so far so I'm eager to know more on how they got there!

Next, I'll stay for The Designer and its habits by Jens Reuterberg and Thomas Pfeiffer. Looks like I couldn't get enough with only one designer related talk, so let's go for two! More seriously, I'm convinced that we could do better with truly multidisciplinary teams, and that talk might just show a path to creating those.

After that I would have loved to attend Jonathan Riddell's talk titled Do you need to be brain damaged to care about desktop Linux?. Unfortunately I'll have to pass since it will clash with my own talks...

I will give my two sessions almost back to back apparently and that's perfectly logical. You might not guess it from the title but one is the continuation of the other. In Agile to the Rescue, I'll explore the reasons why we probably need to take inspiration of what's going on in the agile community and what we should borrow immediately. In Rebooting Zanshin, I will present the type of results you can obtain by applying the principles devised in the other talk. I will show some code and metrics gathered on the project.

Probably tired of my three talks, I'll gently end the day by attending David Faure Breaks The Law!? by Paul Adams. I expect this talk to be fun in the great Humongous tradition of the term... don't be fooled though! The form might be funny, but the man is also among the most knowledgeable people on community dynamics and management I know of. I'm curious about his findings. I also expect him to show ways in which we can improve dramatically.

Day 3: Workshops

I'll start the morning with my own workshop From QtWidgets Legacy to QtQuick and beyond. It will be two hours long and it will be all about live coding with participants input. Hopefully it should be interesting to many, if we're convinced about using tests we all have the same problem: but I already got a pile of untested code?? What can I do with that? We'll see an approach for exactly tackling that problem.

Then I will likely attend Profiling 101. I ended up profiling applications both for KDE projects and for customer projects. Still, Milian is really knowledgeable on the matter, so I'll see if I can learn some new tricks or improve old ones.

For the last workshop, I'm torn... but I think I will attend Put your code to the test! by Shantanu Tushar. This is so nice to feel less alone at banging the test drums! Also I expect to learn and share on the use of mocks and stubs as my thinking is still evolving on those.

And that's it?

Of course not! The great value of Akademy is outside the official sessions. Like any good conference, a lot is happening in the hallway and during social events. This unofficial track is where great ideas appear.

Also the rest of the week we will have BoF sessions. I plan to limit myself to only three this year: Frameworks, PIM and French Promo. This way it should free me enough time to make good progress on Zanshin. Lately Akademy has been more meetings than coding for me... This year I want my share of coding!

I'm Going to Akademy 2014

17:49, Sunday, 31 August UTC

Dimitri Popov

digiKam Recipes 3.17.01 Released

A new version of the digiKam Recipes ebook is available for download. The new release features a slightly tweaked cover and the new Fix keywords with ExifTool recipe.

digikam-31701

Continue reading

08:37, Sunday, 31 August UTC

Baltasar Ortega

Tercera edición de VilaNet, evento tecnológico en Vila-real

Tras el éxito de la primera y segunda edición, hoy estoy orgulloso al anunciar la tercer edición de VilaNet, del evento tecnológico de Vila-real, mi ciudad natal. Escribir e intereaccionar con la gente tras una pantalla está muy bien: es rápido, variado, tienes acceso a miles de personas de todo el mundo, puedes mantener varios [&hellip

08:10, Sunday, 31 August UTC

August 30, 2014

Lydia Pintscher (Nightrose)

Q&A with the board of KDE e.V. at Akademy

Only a few days left until Akademy. I’m looking forward to meeting old friends again and making new ones. There are many exciting talks in the program that I want to see. Have a look!

The board is going to do a Q&A session on Saturday afternoon. We want to give more people a chance to ask questions than just the ones attending Akademy. I started a wiki page to collect them and we’ll try to answer as many as we can.

Akademy 2014 banner

20:13, Saturday, 30 August UTC

Björn Balazs

Understanding Icons: Participate in survey ’7 of 9′ (or more)

With this next icon test we take a look at the Elementary icon set. Please, again, participate and help us to learn more about the usability of icon design.

Keep on reading: Understanding Icons: Participate in survey ’7 of 9′ (or more)

19:09, Saturday, 30 August UTC

August 29, 2014

Jos van den Oever (vandenoever)

Lazy declarative programming in C++11

KDE Project:

make does it, Haskell does it, spreadsheets do it, QML can do it and below I explain how to do it with C++11: declarative programming. And not just any declarative programming, but my favorite kind: lazy evaluation.

I have written a few C++ classes that wrap imperative C and C++ functions into functional expressions. A simple example illustrates the difference between the common imperative programming and declarative programming.

/**
 * This is our business logic.
 */
int sum(int a, int b) {
   return a + b;
}
/**
 * In the imperative example, c and d are just storage locations for the results.
 */
void imperative() {
    int a = 3;
    int b = 4;
    auto c = sum(a, b);
    auto d = sum(a, c);
    // correct
    std::cout << a << " + " << b << " = " << c << std::endl;
    std::cout << a << " + " << c << " = " << d << std::endl;
    a = 4;
    // error: c and d have not been updated
    std::cout << a << " + " << b << " = " << c << std::endl;
    std::cout << a << " + " << c << " = " << d << std::endl;
}
/**
 * In the lazy example, c and d are defined by the function sum()
 * and the actual values of c and d are determined when these variables
 * are accessed. Any C or C++ function can be used, but the outcome
 * should depend only on the input values.
 */
void lazy() {
    InputValue<int> a = 3;
    InputValue<int> b = 4;
    auto c = makeLazy(sum, a, b);
    auto d = makeLazy(sum, a, c);
    std::cout << a << " + " << b << " = " << c << std::endl;
    std::cout << a << " + " << c << " = " << d << std::endl;
    a = 4;
    std::cout << a << " + " << b << " = " << c << std::endl;
    std::cout << a << " + " << c << " = " << d << std::endl;
}

The function makeLazy() which turns imperative functions to functional use, relies on a new feature in C++: variadic templates. Variadic templates give C++ great flexibility in the use of functions in templates. The example above shows that the functions can be chained.
The biggest advantage of this style of programming is that the programmer does not have to worry about whether the results are up to date. Programming like this feels like writing a spreadsheet: you give the logic and the computer takes care of how and when to get the result. It is nice to see that clean lazy functional programming can be done in C++ too.

22:05, Friday, 29 August UTC

Aaron Seigo (aseigo)

scaling the UI by screen DPI

tl;dr version

  • default DPI settings are usually wrong under x.org
  • thankfully, they can be easily configured
  • KScreen ought to manage that configuration along with the other screen information
  • EDID is right often enough to allow autoconfiguration when paired with user configuration
  • fonts are not an accurate surrogate for DPI

The longer version ...

(Before we get into this topic, I should note that I wrote on this same topic almost exactly one month ago. In retrospect, I realized that that blog entry was really not clear enough, so I'm going to give it one more try ...)

The Plasma team decided that for Plasma 5 they would scale the user interface in relation to the size of the font being used in the UI.  The goal is to have the UI look nicely proportional and remain usable across screens with different DPI. Why fonts, and not simply use the DPI of the screen?

The developers note that the information that comes from device hardware which holds that information (the EDID block) is sometimes incorrect and so you get bad data from the device. They also point to the output of QScreen in Qt5 and note that it gives wrong values in default configurations and assert that the least-worst solution is to just use font sizes to scale against.

Font size is actually just a DPI surrogate

The reason font sizes "work" for scaling the UI is that the user typically configures the fonts to something "reasonable" for the screen. So one can generally assume, or so the theory goes, that the font size is a good indicator of screen DPI. (We'll see later why this isn't so, but let's accept this assertion for now.)

The easiest way to get your fonts to a readable size on a high-DPI screen is to go into the fonts control panel define the DPI directly.

 

This way you don't have to tweak any of the actual font settings. (Well, except in a handful of applications with broken font handling, which tend not to be KDE applications.) When you plug into a lower DPI screen (e.g. a project, beamer or TV) you then change the one DPI setting to match the screen's actual DPI and everything is back to normal size. Yes, this means changing it over and over again and knowing what the DPI of your screens are.

The alternative is to change each font size in every application, and that just doesn't make much sense. Not only is it a lot more effort, mostly because far too many applications have their own custom font settings, but when a new screen with a different DPI is used you have repeat the whole lengthy process all over again. It's much more sensible to just hit that DPI setting.

So when managed in this fashion, font size is really responding to a DPI setting. This means that font size is just a surrogate for the DPI setting. In fact, QScreen reports this value quite correctly as the logical DPI. In fact, I use that API in one project I am working on to scale a window to a physical size (i.e. in mm) on the screen, and it works very reliably.

So QScreen does work when fonts are set using the DPI setting, and in that case the font size is just a surrogate for DPI. So why not use the DPI directly to determine the scaling factor?

An old enemy: default settings

QScreen reporting what the DPI setting is makes sense, but it assumes things are sanely configured. On my "high-DPI" laptop with the default X.org configuration as shipped in openSUSE, even though the EDID block on the built-in screen is absolutely correct, X.org defaults to a typical low-resolution DPI by default The monitor-edid tool, which is a hundred or so lines of perl, manages to accurately report the DPI as 277 using the EDID information. So the machine is reporting correctly, but X.org doesn't seem to be using that information. That's pretty odd, isn't it?

Fortunately there is a tool in Plasma's arsenal that automatically manages screen settings: KScreen. It remembers user settings and tries to guess as best it can what a sensible default setup should be. It would be pretty easy to extend KScreen to use the EDID information to take a reasonable guess at a sensible scaling factor for the screen, just as it tries to figure out a sensible default resolution and position for a new monitor.

So while default settings tend to render QScreen useless, a little work in KScreen could fix that.

Perfect is the enemy of good

Of course, some screens misreport the necessary information in their EDID block. Some devices are just broken, and some devices, such as projectors/beamers simply can not present this information. Consider: what is the physical size of the screen of a projector/beamer? Depends on how far from the surface (e.g. a wall or projector screen) it is.

It is these "bad DPI information" cases that are cited as a reason not to even try to use EDID information. Forget that the majority of devices actually do report this information correctly, it's those devices that get it wrong that wreck it for everyone! Right? Wrong. This is a case of perfect being the enemy of good.

In many of the "wrong information" cases it is possible to detect that this is the case because the results make no sense. The trusty monitor-edid tool manages to do this. In such situations, defaulting to no scaling and assuming it is just a lowly old low-resolution display, at least by default, would be enough.

If KScreen does guess it wrong, what can be done? Well, the same thing that is done when it guesses the resolution wrong, or guesses where you want the screen to be placed wrong ... the user configures it and KScreen remembers it for the next time. Yes, this is not a perfect situation, but it would be far better than the current recommendation of going to the fonts panel every time you plug into a different monitor and manually adjust that setting.

In other words, it's already pretty bad. By trying to use EDID based information it will only get better in most cases and when it isn't any better it's only as bad as it is now. Having KScreen oversee the DPI setting would be an improvement even if fonts continued to be used as a scaling metric, since at the very worst configuration would be a one-time thing and at best it wouldn't be necessary at all. In fact, for every single screen in the house right now (televisions, laptops, desktop LCDs, tablets...) it would Just Work(tm) and no configuration would be necessary.

So why not fonts if they are a surrogate for DPI?

If fonts are a surrogate for DPI, then why not just use them? Because in reality they are not a surrogate for DPI. They are only an approximation for DPI in the common case

For people with various sight related disabilities, cranking up the font size often helps quite a bit. For these people, the size of the font has very little to do with the DPI of the screen.

Additionally, when I'm viewing content on the TV screen from across the room, I like the fonts to be unreasonably large given the DPI of the screen. Again, in this case the font size is completely divorced from the screen DPI.

In both of these cases, if one scales the UI to the font size, you end up with cartoonishly poor UI sizing. Having giant window shadows or excessive margin padding is entirely inappropriate in many of these cases.

So if one can get to the DPI of the screen to guess a default, and allow the user to quickly and easily tweak that behavior when needed, then using the DPI directly will deliver better results in more cases.

In hopes for a better Plasma Desktop experience ...

I finally got around to installing a full Plasma Desktop 5 environment on a test system  this past week. Truthfully, it is not ready to be my default desktop, but it shows promise. It did remind me of the scaling-to-fonts situation, though, as I keep running into DPI related annoyances. I re-read my posting from last month and realized I really wasn't clear enough. Meanwhile, commits that keep pushing this scale-to-font-size idea into more and more places in Plasma (such as a new branch in plasma-framework just today that fiddles with icon sizes) which doesn't really address the situation properly at all. So I thought I would take one more run at it. Hopefully someone will pick up the task and this will be one less thing that Microsoft Windows and MacOS X does better than Plasma Desktop.

14:03, Friday, 29 August UTC

Kevin Funk (kfunk)

Scripting GDB to execute commands at particular breakpoints

This might be old news for the more experienced programmers out there, but yes, we can script GDB to do $stuff whenever it hits a breakpoint. With GDB's logging to file feature this can be super handy when trying to get a backlog of backtraces whenever a certain event arises.

Example use-case

Let's consider the following problem we'd like to debug: In KDevelop (Frameworks branch) we always got this annoying warning from Qt when exiting the application:

Output: QMutex: destroying locked mutex

Now, we can easily find out by grepping the Qt code base that this message is printed in qmutex.cpp:201 (which is inside ~QMutex). So, in order to figure out who's calling the destructor of QMutex and causing this output, let's put a breakpoint on qmutex.cpp:201 and re-run KDevelop and try to close it.

(gdb) break qmutex.cpp:201
Breakpoint 1 at 0x7ffff58f04bf: file /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp, line 201.

This leads to the following backtrace:

Breakpoint 1, QMutex::~QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, __in_chrg=) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:201
201         qWarning("QMutex: destroying locked mutex");
#0  QMutex::~QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, __in_chrg=) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:201
#1  0x00007ffff51638aa in __cxa_finalize (d=0x7ffff3428b78) at cxa_finalize.c:56
#2  0x00007ffff33f1573 in __do_global_dtors_aux () from /home/krf/devel/install/kf5/lib/x86_64-linux-gnu/libKDevPlatformUtil.so.9
#3  0x00007fffffffd830 in ?? ()
#4  0x00007ffff7dea73a in _dl_fini () at dl-fini.c:252

Unfortunately, the QMutex is destroyed during static deinitialization (notice the __do_global_dtors_aux call in the backtrace). Now, due to backtrace, we still don't know which QMutex in our code base got destroyed while being locked. We see that it is being statically initialized and must come out of libKDevPlatformUtil.so, but nothing more.

Problem: How do we find out which QMutex this was? Well, we need to check where this particular QMutex was first constructed.

GDB scripting to the rescue

I'd now like to print a backtrace each time we encounter the QMutex constructor (thus, QMutex::QMutex)

(gdb) break QMutex::QMutex
Breakpoint 2 at 0x7ffff58f040e: file /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp, line 178.

Additionally, I want to print a backtrace each time the breakpoint is encountered:

(gdb) command 2
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
>backtrace 10
>continue
>end

The command function makes GDB do the following each time it hits breakpoint 2: Print a backtrace limited to 10 frames and continue. (You can put whatever you need inside the command/end block.)

Furthermore, I'd like to get this logged to a file:

(gdb) set logging file gdb.txt
(gdb) set logging on
Copying output to gdb.txt.
(gdb) set pagination off

Now, let's restart KDevelop and close it again

(gdb) run

We'll again hit the breakpoint when printing the QMutex warning when static deinitialization happens:

Breakpoint 1, QMutex::~QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, __in_chrg=) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:201
201         qWarning("QMutex: destroying locked mutex");
#0  QMutex::~QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, __in_chrg=) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:201
#1  0x00007ffff51638aa in __cxa_finalize (d=0x7ffff3428b78) at cxa_finalize.c:56
#2  0x00007ffff33f1573 in __do_global_dtors_aux () from /home/krf/devel/install/kf5/lib/x86_64-linux-gnu/libKDevPlatformUtil.so.9
#3  0x00007fffffffd830 in ?? ()
#4  0x00007ffff7dea73a in _dl_fini () at dl-fini.c:252

Duly note the this pointer of the QMutex destroyed from the backtrace (QMutex::~QMutex (this=0x7ffff3428ba0 ...): It's 0x7ffff3428ba0

Note that in gdb.txt we now have the following contents (some parts replaced by ... for increased readability):

(...)

Breakpoint 2, QMutex::QMutex (this=0x7ffff7dd8b78 <(anonymous namespace)::resInit+24>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
178 QMutex::QMutex(RecursionMode mode)
#0  QMutex::QMutex (this=0x7ffff7dd8b78 <(anonymous namespace)::resInit+24>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
#1  0x00007ffff7be0e29 in (anonymous namespace)::ResInitUsage::ResInitUsage (this=0x7ffff7dd8b60 <(anonymous namespace)::resInit>) at /home/krf/devel/src/kf5/frameworks/kdelibs4support/src/kdecore/k3resolvermanager.cpp:166
#2  0x00007ffff7be2067 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /home/krf/devel/src/kf5/frameworks/kdelibs4support/src/kdecore/k3resolvermanager.cpp:237
#3  0x00007ffff7be2096 in _GLOBAL__sub_I_k3resolvermanager.cpp(void) () at /home/krf/devel/src/kf5/frameworks/kdelibs4support/src/kdecore/k3resolvermanager.cpp:815
#4  0x00007ffff7dea13a in call_init (...) at dl-init.c:78
#5  0x00007ffff7dea223 in call_init (...) at dl-init.c:36
#6  _dl_init (...) at dl-init.c:126
#7  0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#8  0x0000000000000003 in ?? ()
#9  0x00007fffffffde39 in ?? ()

Breakpoint 2, QMutex::QMutex (this=0x7ffff7dd8b98 , mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
178 QMutex::QMutex(RecursionMode mode)
#0  QMutex::QMutex (this=0x7ffff7dd8b98 , mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
#1  0x00007ffff7be68fe in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /home/krf/devel/src/kf5/frameworks/kdelibs4support/src/kdecore/k3resolverstandardworkers.cpp:97
#2  0x00007ffff7be6956 in _GLOBAL__sub_I_k3resolverstandardworkers.cpp(void) () at /home/krf/devel/src/kf5/frameworks/kdelibs4support/src/kdecore/k3resolverstandardworkers.cpp:1049
#3  0x00007ffff7dea13a in call_init (...) at dl-init.c:78
#4  0x00007ffff7dea223 in call_init (...) at dl-init.c:36
#5  _dl_init (...) at dl-init.c:126
#6  0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#7  0x0000000000000003 in ?? ()
#8  0x00007fffffffde39 in ?? ()
#9  0x00007fffffffde62 in ?? ()

Breakpoint 2, QMutex::QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
178 QMutex::QMutex(RecursionMode mode)
#0  QMutex::QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
#1  0x00007ffff33f23ba in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /home/krf/devel/src/kf5/extragear/kdevelop/kdevplatform/util/foregroundlock.cpp:29
#2  0x00007ffff33f24ab in _GLOBAL__sub_I_foregroundlock.cpp(void) () at /home/krf/devel/src/kf5/extragear/kdevelop/kdevplatform/util/foregroundlock.cpp:235
#3  0x00007ffff7dea13a in call_init (...) at dl-init.c:78
#4  0x00007ffff7dea223 in call_init (...) at dl-init.c:36
#5  _dl_init (...) at dl-init.c:126
#6  0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#7  0x0000000000000003 in ?? ()
#8  0x00007fffffffde39 in ?? ()
#9  0x00007fffffffde62 in ?? ()

(...a lot more...)

Every time QMutex::QMutex was encountered, GDB printed a backtrace and logged it to the file.

Now, in order to find out where the QMutex comes from we simply search the string 0x7ffff3428ba0 inside gdb.txt and we'll find:

Breakpoint 2, QMutex::QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
178 QMutex::QMutex(RecursionMode mode)
#0  QMutex::QMutex (this=0x7ffff3428ba0 <(anonymous namespace)::internalMutex>, mode=QMutex::NonRecursive) at /home/krf/devel/src/qt5/qtbase/src/corelib/thread/qmutex.cpp:178
#1  0x00007ffff33f23ba in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /home/krf/devel/src/kf5/extragear/kdevelop/kdevplatform/util/foregroundlock.cpp:29
#2  0x00007ffff33f24ab in _GLOBAL__sub_I_foregroundlock.cpp(void) () at /home/krf/devel/src/kf5/extragear/kdevelop/kdevplatform/util/foregroundlock.cpp:235
#3  0x00007ffff7dea13a in call_init (...) at dl-init.c:78
#4  0x00007ffff7dea223 in call_init (...) at dl-init.c:36
#5  _dl_init (...) at dl-init.c:126
#6  0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2

Frame 2 shows: This mutex comes from /home/krf/devel/src/kf5/extragear/kdevelop/kdevplatform/util/foregroundlock.cpp:29, which says QMutex internalMutex;

We've found it!

At this point we can finally start solving our original problem of the destruction of a locked mutex, because now we at least know which mutex is causing this.

Other use-cases

Tracing ref-counting issues

You know that some object (for example QCoreApplication in Qt5) has a refcount higher than zero when exiting the application, but you don't know which object is still keeping a reference on it.

How to debug: Print backtraces each time we call the hypothetical ref() and deref() (for example QCoreApplication::{de}ref()). Now simply check which object never calls deref() in the GDB output file.

Verdict

GDB's scripting capabilities can be tremendously useful when attempting to debug issues where the backtrace at the point of crash or some other event just isn't enough.

This helped me to fix several issues in KDevelop already, which would have been hard to tackle otherwise.

Also see: https://sourceware.org/gdb/current/onlinedocs/gdb/Break-Commands.html

12:02, Friday, 29 August UTC

Kubuntu Wire

Kubuntu on LinkedIn

We can sit in our own nerdy world in open source communities too much so at Kubuntu we have been setting up social media forums and we have just added a LinkedIn page for Kubuntu which should get the usual news stories of new releases and updates.  There is also a Kubuntu Users group on LinkedIn if you want to share experiences with people who like to take more of a business approach to their computers than users of other social media websites.

14.10 Beta 1 is out, you can give us feedback on Google +https://plus.google.com/u/0/107577785796696065138/posts or Facebookhttps://www.facebook.com/kubuntu.org or Twitterhttps://twitter.com/kubuntu or Linkedin https://www.linkedin.com/company/kubuntu

09:43, Friday, 29 August UTC

Björn Balazs

Intermediate results of the icon tests: Tango

With a series of icon tests we currently study effects on the usability of icon design. This article however does not focus on these general design effects but presents findings specific to the Tango icon set.

Keep on reading: Intermediate results of the icon tests: Tango

09:37, Friday, 29 August UTC

August 28, 2014

Kubuntu News

Kubuntu 14.10 Beta 1, Adds Plasma 5 Preview Option

Kubuntu 14.10 beta 1 is out now for testing by early adopters. This release comes with the stable Plasma 4 we know and love. It also adds another flavour - Kubuntu Plasma 5 Tech Preview.

21:10, Thursday, 28 August UTC

Jens Reuterberg (jensreuterberg)

Visual Design Stuff at Akademy 2014

For planet readers, this post is written by Andrew Lake.




I'm so excited to participate in my first Akademy this year! I'll finally get to meet other KDE folks I've only interacted with online from all the way in Seattle, my home. I'm especially looking forward to meeting some of our other VDGers like Thomas Pfeiffer and Jens Reuterberg.

I'll also be doing a session on Community Design and the KDE Visual Design Group where I'll share some insights on how the concept of community design works in the VDG, how we hope it will help to sustain visual design as a core competency in the KDE community, how to ensure the quality of the design output, and the lessons we are learning along the way. If you've ever interacted with the VDG, good or bad, or if you're just wondering how the VDG is working today or will in the future, you're certainly encouraged to stop by.

I'll also be hosting a workshop on Visual Design and QML where we'll cover using QML as a visual design tool by working through an example design. No previous QML experience is required - just a willingness to learn something new.

If you need any help or feedback with a design, you can find VDG folks in the User Interface Design Room identified on the BoF schedule.

I'm truly looking forward to this. My Czech is non-existent but I'm trying to learn a few phrases. My German is barely-existent but I'm trying to learn as well. So if you see this guy


or these guys

in the middle of a heated argument with Brno taxi driver, know two things:
  1. I probably insulted his dear mother without realizing it, and
  2. For goodness sake, help a brother out!
Looking forward to Akademy 2014!

18:10, Thursday, 28 August UTC

Lamarque Souza (lamarque or lvsouza)

LaKademy 2014

Hi again,

I am a bit absent from blogging due to personal issues. Fortunately, I am on vacation from my real life work since last weekend then I am going to have more time for one of the things a like most: working with KDE software and friends :-)

As you may know the Latin-american KDE meeting (LaKademy) is happening right now in São Paulo city, more precisely at Free Software Competence Center of IME-USP [1] and I here too. After a long time I am back to São Paulo city for more time than just taking connection flights hehe.

Yesterday was the first LaKademy's day and we had some presentations for the general public. During this second day Sandro Andrade is presenting his Qt programming course. In the next two days we will have hacking sessions on KDE software and as Plasma Network Management maintainer I am interested in making networking easy for KDE users.

Although I have not been pushing that much commits to network management repos [2] I used to do years ago I am still working on some improvements for the new Plasma NM, mostly non-visual changes though. Jan Grulich, Björn and Thomas Pfeiffer are doing a great job on Plasma NM's GUI so this task is in good hands.

My yesterday's LaKademy presentation was about what I am doing in Plasma NM and NetworkManager for that matter. Basically I am working on improving Eduroam support in Plasma NM with these two tasks:


  1. Passing more error information to the user so he/she can know if the problem is with his/her login, password, certificates, or with the local or the remote infra-structure, etc. With this information in hand the user can contact the correct person to solve connection issues, being the local network administrator or the network administrator of his/her university, who with Eduroam may not be the same person.
  2. Importing configuration file to make creating Edurom connections easier. Eduroam uses WPA2 Enterprise and as such its connections requires several technical details to be filled before you can use it. Check this connection dialog for my test Eduroam connection for instance, too many details:

The aim for task #2 is importing a xml file that contains all the information above, well, except the password, of course. There is already configuration importing support for OpenVPN and VPNC connections in Plasma NM, so this will be the third connection type that Plasma NM will suport that. This implementation may be used for other WPA2 Enterprise connections as well.

To implement task #1 I have been digging into wpa_supplicant and NetworkManager souce code in the last months (during my spare time). I already have a patch that gets the data from wpa_supplicant and now I am implementing code to set up the correct structures in NetworkManager. The code is generic and the result can be used by other NetworkManager clients as well, of course. When the patch is ready I am going to send it to NetworkManager's developers for reviewing.


[1] USP stands for University of São Paulo, the biggest and one of the most important Brazilian universities.

[2] there are networking code in plasma-nm, libmm-qt, libnm-qt, kdelibs, and kde-runtime repos and also in (the already deprecated) networkmanagement repo.

15:31, Thursday, 28 August UTC

Older blog entries