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

Microblogging from KDE

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

Baltasar Ortega

KDE es sexy, aunque tú y yo ya lo sabíamos

A estas alturas descubrir la calidad de los productos KDE está fuera de toda discusión. Lo que no sabíamos y no nos podía imaginar es que además KDE es sexy. Tras más de 15 años de trabajo, la Comunidad KDE ofrece un completo entorno de trabajo, conocido como Plasma o Plasma 5, además de unas [&hellip

08:10, 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

Björn Balazs

Understanding Icons: Participate in 6th survey ‘Take a breeze’

Our next icon test features the Breeze icon set, that might (or will?) become the default KDE icon set. Please, again, participate and help us to learn more about the usability of icon design.

Keep on reading: Understanding Icons: Participate in 6th survey ‘Take a breeze’

08:35, Thursday, 28 August UTC

Mirko Boehm

The KDE Randa 2014 meeting, in easy-digestible video format!

In case you were wondering what was going on in Randa, here are some first hand impressions. The video was produced by Françoise Wybrecht (alias Morgane Marquis) and Lucie Robin, and the people in it are the actual participants of the event. It was also created using KDenlive, one of the awesome Free Software tools a team has been working on at the Randa meeting itself. The video introduces the faces and personalities of the contributors and their different backgrounds and origins. Many thanks to our brand new ad-hoc media team for producing this video!

(In case the embedded video does not show up, see here: https://www.youtube.com/watch?v=yua6M9jqoEk)


Filed under: Coding, CreativeDestruction, English, FLOSS, KDE, OSS, Qt Tagged: Creative Destruction, FLOSS, free software communities, KDE

08:00, Thursday, 28 August UTC

Laurent Montel (mlaurent)

New class in kcoreaddons: Kdelibs4ConfigMigrator

Config files are stored now in .config5, so we need to migrate it.

I created a new class (committed in kcoreaddons) named Kdelibs4ConfigMigrator. I allows to migrate all config files and all ui file for a specific application (for example I have 4 uirc files to migrate in kmail) and 2 config file to migrate in kmail (kmail2rc + kmail2.notifierc)

This class is very easy to use:

Example for sieveeditor:

int main(int argc, char **argv)
{
Kdelibs4ConfigMigrator migrate(QLatin1String(“sieveeditor”));
migrate.setConfigFiles(QStringList() << QLatin1String(“sieveeditorrc”));
migrate.setUiFiles(QStringList() << QLatin1String(“sieveeditorui.rc”));
migrate.migrate();

}

I put it directly before to start application.

I will look at if we need to migrate and start after that the application.

Thinking to use it in your application when you port your application to kf5.

05:50, Thursday, 28 August UTC

Laurent Montel (mlaurent)

What’s new in porting script ? clean-includes.sh

I committed another very old script.

This script allows to remove all not necessary includes. It’s not perfect yet but it allows to clean up a lot of files.

Yes indeed it’s not a clang script but it was created for 4.0 and perl/shell was a good idea for me.

What’s new in script:

I added a new script “convert-klocale-formatdate.pl” which try to convert all KLocal::Global::formatDate/formatTime/formatDateTime etc.

Another one “convert-kfiledialog.pl” I improve convert kfiledialog class to QFileDialog

During this week I still improve convert-to-new-signal-slot-signal.pl, I improve search local variable, I fixed a lot of bug etc.

So I continue my work on script for kf5.

05:44, Thursday, 28 August UTC

August 27, 2014

Milian Wolff (milianw)

KDevelop master is now frameworkified

Hello all!

Kevin just announced it on the mailing list, the CI is still shaking it’s head, and we are all very curious about the coming weeks: KDevelop’s master branches are now depending on KF5!

For more information, see: https://www.kdevelop.org/frameworks/kdevelop-master-now-depends-kde-fram…

Cheers, happy hacking and hope to see some more patches :)

23:25, Wednesday, 27 August UTC

Vijay Dhameliya (vijay13)

GSoC: Thumping the Malaria and voyaging in cosmos with KStars

KDE is taking new shape now a days, porting most of its application to KF5. Meanwhile I completed my GSoC project in KStars, ameliorating it by enhancing the tools like Moon Phase Calendar, Almanac and Solar System Viewer and adding a super cool QML based tool Astrophotograph Browser. 

It all started with preparing proposal, I was using KStars since more than one year and had fixed many minor bugs already. I prepared first draft of proposal for GSoC in January (yeah I was super excited ;-) and mailed it into mailing list of KStars. I was not sure if anyone would bother to look into it, but kde developers are awesome people, I received many interesting comments on it and Rafal Kulaga in particular. I started refining my proposal under his guidance, and prepared seventh and final draft of proposal in February. It proved to be best decision to prepare proposal month before the deadline of submission as I was diagnosed with Malaria, just week before the submission deadline. 

Let's talk about my project now. KStars is desktop planetarium application under KDE Education Projects. I developed QML based cool interface to enable users to browse through image database of community of astrophotographers (i.e. astrobin.com) which contains more than 1,20,000 (number is increasing everyday) real time and very high resolution images along with various information related to them (i.e. Date on which image was captured, Bortle Dark-Sky Scale, RA Centre, DEC Centre, Telescope or Camera used, Description added by astrophotographer etc). I am sure that this browser will enthrall school children by showing them real time images of stars and galaxies located at hundreds of light year far from earth.

I also developed image editor to enable user to mark sky objects and and write their name or other details on image to make it more intuitive before saving it.

The Moon Phase Calender tool was revamped by replacing early less accurate moon phase images with more accurate ones, adding lunar phase name in window title bar and adding the option to choose between Northern hemisphere and Southern hemisphere.
Yet another interesting feature was added to Almanac tool just after the mid term evaluation i.e. Live Weather Info tool. This tool uses Open Weather API to fetch the weather information like temperature, humidity, pressure, wind speed, wind direction, cloud density, precipitation etc, for the selected location. The tool is developed for amateur astronomers to help them in planning the sky observations.

The time for accomplishing most exciting task was to come with Randa Meeting 2014 and Malaria attacked me again. I spent almost a week in hospital, planning for Randa meeting in bad. My strong desire to return to project helped me a lot to recover quickly. After recovery I accomplished the task of refurbishing the Solar System Viewer tool in Randa Meeting with the help of Artikulate developers Andreas Cord-Landwehr. The tool earlier gave the 2D view of solar system for particular date. I added option to visualize asteroids based on magnitude selection in the first stage. Then added the distance measurement feature to measure the distance (in km and AU) between any two solar bodies. This feature makes KStars unique tool for measuring distance between planets and asteroids.

In all, I enjoyed a lot working on this project. Let me thank my coolest friend Punit Mehta for motivating me to apply for GSoC. I'd also thank Rishabh Arora for enlightening me about possible ideas to work upon in GSoC at conf.kde.in, organised in my institute and of which I was one of the co-ordinator. My best thanks is to Rafal Kulaga for his continuous motivation, support and appreciation at  my every little advancement in project. One of the best thing about Rafal is he always replies to my mail like a friend rather than a mentor. And not to forget, Thanks KDE Community.

20:02, Wednesday, 27 August UTC

Antonis Tsiapaliokas (kokeroulis)

Plasma Active Ported to KF5

The GSoC might have come to an end, but I am very happy with the progress that we have made porting the Plasma Active to KF5. In my previous blogposts i have describe some of the stuff which they have been ported. So at the moment a lot of the basic features have come back to the  Plasma Active, so yes it is at a usable state :) One of the big changes is that Nepomuk has been replaced with Baloo.  Despite the fact that a lot of the Nepomuk stuff has been ported, there are still some things left,  for example the timeline and tag support on the active-filebrowser.

Plasma Active on Action!

Unfortunately  my exam period is starting soon so I will not be able  to work more on Plasma Active for the time being. But I will be back when it will be over, which is in the end of September.

You can find us on irc on the #plasma channel on irc.freenode.net.


15:40, Wednesday, 27 August UTC

Older blog entries