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

Microblogging from KDE

September 15, 2014

David Edmundson (d_ed)

KDE Telepathy 0.9-beta

We have released a beta of KDE Telepathy 0.9

Features include:

  • OTR
  • Improved group chats
  • Modernised video chats, now based on GStreamer 1.0
  • Lots of fixes and speed improvements

Tarballs are available here

If you're interested in developing and contributing follow our quick start git installation guide

Please report back any bugs so we can make 0.9.0 a great release.

20:49, Monday, 15 September UTC

Pier Luigi Fiorini (plfiorini)

What's coming to Green Island: part 1


I want to share with you some of the progress I recently made.
This is not all, more will come in another post.

Multi output support: part 1

Green Island now supports multiple outputs.

QtCompositor only support one output so in order to do this I did a little abstraction to enumarate outputs and played with QML to show them in the compositor window.

How does it work?

It's pretty simple: it has a ScreenModel that provides data such as name, primary boolean flag and geometry. The main QML file has a repeater using this model to create an OutputView for each output.

Every OutputView has layers to stack different kind of windows (panels, lock screen, workspaces), one of the layers is HotCorners which contains 8 hot corners.

During test and development one often need to fake outputs to test several different configurations without having real monitors, but this requires a dedicated backend and a configuration format.

So ScreenModel has its own backend code, one of the backends is based on QScreen and the other is for fake outputs.

Studying the problem and doing some prototype made me realize that QScreen has a very limited API (for example it doesn't detect when the primary output changes) and that this matter was already implemented with libkscreen.

It happens to be a framework that doesn't pull in undesired dependencies, so now Green Island is using it and I have to say it saved me a lot of work.

In the video below you can see a Green Island window with two 1024x768 outputs side by side, at some point the first one (which is also primary) is removed and all the windows are migrated to the other output that is now the new primary output.


Multi output support: part 2

A single big fat window for all the outputs is not such a great idea, it was good enough to continue the development keeping multiple outputs in mind but it's not the solution in the long run.

Such a solution may hit hardware limits pretty, plus outputs can have a different refresh rate so they really should not be done this way.

QtCompositor handles only one window so I patched it to be aware of multiple outputs with one window for each of them.
The patch targets the dev branch and at the time of this writing is in the review queue.

All the QML code was reused except for the Repeater and the logic to move windows when an output goes away was moved to C++.
This means that almost none of the code previously wrote was removed.

The hard part came when I needed to figure out how to show the same surface on multiple output windows.

Considering that QQuickItems cannot be shared between multiple windows I had to create a view for each output.

When a shell surface is created for a surface, the compositor creates a view that inherits from QQuickItem, the output is assigned based on the mouse pointer coordinates. No other view is created at this time because the position is calculated to be within output bounds considering the surface size.

More views are created on demand when the surface is mapped.

As windows are moved all views are moved accordingly, global coordinates are mapped to the output coordinates so that windows are shown only where they are meant to be.

Unresponsive applications

Wayland offers a ping/pong API that compositors use to know whether a surface is responsive or not, even with CSD (in the past there was some concern about this).

When a window is clicked, Green Island ping the surface and if it doesn't reply with a pong within 200ms it marks it as unresponsive and apply a colorize effect, draw some explanatory text, and intercepts mouse input. It also adds a couple of push buttons, one to wait for the application to become available again and the other to brutally murder the application.



17:28, Monday, 15 September UTC

Baltasar Ortega

Primeras impresiones de Plasma 5

Gracias al proyecto Neon finalmente me he decidido a probar Plasma 5 en mi portátil de uso diario. El objetivo es conocer de primera mano el rendimiento del nuevo escritorio Plasma de KDE, sus virtudes y sus defectos. En resumen, es esta entrada voy a comentaros las primeras impresiones de Plasma 5. Cómo instalar Plasma [&hellip

04:01, Monday, 15 September UTC

Sven Brauch (scummos)

Snippets in Kate 5

Recently I spent some time to port and clean up the Snippets plugin and the underlying template interface for Kate 5.  It's now fully working again and more powerful than ever. The template code was originally written by Joseph Wenniger and most of what I show here is still working like originally implemented by him. Still, there were some improvements I would like to show; also, I'm sure many readers might not be aware of this great feature at all.

Classical snippets use case: insert a for loop witout having to type the iterator variable three times.
The template interface, which is part of the long-time stable KTextEditor API, was heavily cleaned up and now just consists of a single function
    bool insertTemplate(const KTextEditor::Cursor& insertPosition,
const QString& templateString,
const QString& script = QString());
which inserts a template into a view at the given position. It's very easy to use and still powerful -- if you write an application which uses KTextEditor, it might be worth to spend a moment thinking about how you might be able to make use of it.
I also heavily refactored the implementation of the interface. More than 1000 lines of code were removed while effectively enhancing functionality. 

Core functionality changes

I changed the language of the snippets a bit to make it more clear and easy to use. In the following, I want to give a short overview of how it works now.

The heart of the templates (or snippets) are editable fields (shown in green). They are created in the template string by writing ${fieldname}. They can have a default value, which can be any JavaScript expression. Pressing Tab jumps between the fields of a template. Whenever such a field is changed, all so-called dependent fields are updated. Those can simply be mirror fields (created by having a second field with the same name), or can do something which depends on the contents of the other fields in the template, such as perform replacements or concatenations. Again, you can have arbitrary JavaScript expressions doing that.
An example snippet (not very useful in practice) which has three editable fields (find, replace and sample_text) with a default value for each. Changing the values will update the result in the red "dependent" field in real-time.
Noticeable improvements over the previous functionality (from KDE 4 times) is that you can have fields with arbitrarily complicated default values which are still editable, and that the dependent fields can use all other fields as input (not just one like in KDE 4). It is now also possible to have inline JavaScript doing simple operations in the template.

The Shortcuts feature for the snippets now actually works in Kate.

Snippets now also have proper undo; in KDE 4, only a single character typed could be undone at once while editing a snippet. Now, undo grouping works like it always does.

User interface improvements

For easy testing of your snippets, the "Edit Snippet" dialog has a "Test snippet" button now, which lets you test your snippet on-the-fly.
The user interface was simplified by removing unneeded options, and an inline quick-help feature was added which introduces the user to the most important features of the snippet language. Just click the "More" button.
Inline documentation on how snippets work

An example: C++ Header guards

As an example for how this feature works, let's look at how to create a snippet to generate a C++ header guard. First, create a repository for your C++ snippets:
Open the Snippets toolview and click "Add Repository".
Then, enter a name and specify that you want this only for C++ files:
Create your new repository.
Then, add a snippet:
Add a snippet. Easy.

You can retrieve the document's file name from the editor, make it upper-case and replace dots by underscores automatically to get a nice header-guard-suitable format by using code like this:
Example code for how you can create C++ header guards fully automatically.
If you do not want the guard field to be editable, just create a function which does the upper(fileName...) stuff, and have three fields which call the function (like ${func()}) instead of the two mirror fields and one default-valued editable field. If you do that, the template handler will immediately exit and not present any editable fields.
The ${cursor} variable can be used to place the cursor after all fields were filled. When you type something there, the handler will exit.

Click Ok. Now, to use your snippet, either press the shortcut you defined (if any), click it in the snippets toolview, or use code completion:
Snippets appear in code completion.
Result after executing our new header guard script. A sensible default value was selected automatically. Pressing Escape or Alt+Enter will exit the template handler and place the cursor at the point marked with ${cursor} in the template.
That should hopefully equip you with most of the knowledge you need to write your own snippets. If you like, you can use the full kate scripting API to write snippet code -- it for example allows you to retrieve the text in the current selection and similar useful things.

Some more examples on what you can do

Here's a few snippets demonstrating the features of the engine while partly being of debatable practical relevance. I'm sure you can come up with better use cases for some of those things though.
Write a clean regular expression in a comment and have the snippet mirror it with added extra-backslashes and removed spaces in a QRegularExpression variable. Makes regular expressions even more write-only than they already are.
Get the file encoding from the editor and use it as the coding of a python file header.

Some base64 in the selection ...

... decoded by a snippet which takes the selection and inserts the base64-decoded result.

Next steps

My next step will be to make this plugin loadable in KDevelop as well -- which should be quite easily possible due to the awesome work done in kate to make the plugin infrastructure more generic. If you have further ideas on how to improve the snippets, let me know :)

00:49, Monday, 15 September UTC

September 14, 2014

Baltasar Ortega

Lanzado KDevelop 4.7 y el futuro KDevelop 5

Una de las aplicaciones favoritas por los desarrolladores de KDE es KDevelop. No por nada se trata de una aplicación que les permite crear aplicaciones, así que las mejoras que se produzcan en él servirán para mejorar el resto de las aplicaciones. Por esta razón me llena de satisfacción anunciar que ha sido lanzado KDevelop [&hellip

08:10, Sunday, 14 September UTC

Adriaan de Groot (adridg)

Takeaway from Akademy

[[ Way back in 2008 or so, at Akademy in Mechelen, most attendees stayed in a hostel with 4 bunks to a room, which meant that after a long day hacking we ended up talking. It may have been Kevin who first asked "Ade, tell us a story." This year, in 2014, at my first Akademy in four years, I received the same request. I've written down the story that I told this year. It was invented on the tram in Brno between Česká and Technologiky Park at 23:20 on the 9th of September 2014. When I got home I illustrated it. Text and illustrations licensed under CC-BY. If Timothéé feels like drawing it up better, by all means. This is a work of fiction. Any resemblance to people or rabbits, living or dead, is purely coincidental or a weak attempt at humor. ]]

The tale of Glenda the Plan 9 Rabbit

Once upon a time, Glenda the Plan 9 Rabbit was hopping through the forest. She was very happy, because she was free and hopping through the forest. The sun was shining and the birds were singing in the trees. Glenda was free because she had escaped from Bell Labs with a BSD license. That’s not quite as good as a license to kill, but you hardly need one of those as a member of the lagomorphidae, do you? Glenda hopped amongst the trees and she hopped through the bushes and she was very happy. There was a forest path and she ignored the crossing lights and just hopped straight to the other side. She nibbled some grass and hopped onwards, through the trees, under the bushes and over the grass. 

But then, suddenly, Glenda was stuck! She could not move her hoppy feet. She looked down, and there was a big black pool of tar. She tried to pick up her front left foot, but the tar was stuck to that. She tried to pick up her right front foot, but the tar was stuck to that too. Struggle as she might, her feet would not let go. Her left back foot sunk a little deeper into the tar. And then, with a glurpy sound, the tar made a great big tentacle that reached up and swayed in the crisp morning air. Glenda could still hear the birds singing as the tentacle squeezed her. With growing dread, Glenda realized that she would soon be stuck in a compressed tar archive. “That’s it!” thought Glenda, and she pulled out the “j” she still had left over from jay-walking that morning. But it was BSD tar, and it doesn’t understand the “j” option. Desperate now, Glenda the narcoleptic Plan 9 Rabbit (this is actually a useful power saving feature in all modern kernels) quickly fell asleep and with the help of those “z”s extracted herself from the terrible tar archive. She cleaned her feet on some chestnut leaves and hopped on through the forest. She hopped through the trees and under the bushes and over the grass. The sun was shining and the birds were still twittering. Glenda hopped over the grass again.

But suddenly, MROWR! A cat(1) ran out from the bushes towards her, with great terrible pointed teeth and sharp claws and Glenda jumped a foot in the air and turned and ran and ran and ran away from the cat(1) until she reached the edge of the sea and she ran across the beach and jumped into the water! Splash! The cat(1) could not get at her now, and it stayed on dry land, hissing and spitting. She swam and swam and there was a big red sailboat out on the sea. She swam until she got close and climbed up the ladder and there was a big man with a broad smile. 

It was Larry O’Liason, the Irish gourmand who had grown fat by eating all the animals in the sea. “Welcome to my boat, O’Coral. An Irish name of the sea, I’m sure you’ll see. Be welcome! Have something to eat!” And Glenda was very happy. There were no birds singing here, but gulls that screeched, and there was no grass to hop on, only 108 feet of teak from bow to stern. Still, Glenda was happy on board the O’Coral, and happier still because Larry gave her succulent grass to eat, and fresh crisp carrots. Soon Glenda was gaining weight, perhaps even becoming a little bloated. Her features, once sleek like a healthy forest rabbit, grew puffy. And Larry, she noticed, was watching her. Watching, while he sharpened a knife. But still she got her crispy carrots and succulent grass, and she hopped less on the teak deck. Until one day, Larry, with a grim smile, said “tonight, I dine on water-rabbit! I’ve not had that before.” 

And he pulled out his knife and gave out a cry and jumped at Glenda who shot a foot in the air and turned and ran and ran across the slippery teak deck and she ran to the bow and she ran back to the stern and she could hear Larry laughing behind her and he was gaining and she ran back to the bow and Larry was still gaining when THUMP! Another ship hove alongside! It was a crusty old galleon, and it had hoisted the black flag. The skull and crossbones! Larry gripped his knife between his teeth and turned to face this adversary. At the bow of the galleon stood a man with a long tangled beard and a wild look in his eyes. He held a scimitar in one hand and cried “O ho ho ho! I, Richard Boatsman, have come to thwart your terrible deeds, Larry O’Liason! And the railing rang as he leaped across and his scimitar was shining in the sun. It didn’t flash, though Richard did gnash his teeth. He bore down on Larry and the terrified Glenda, who regarded him with great big bunny brown eyes full of awe and relief. Richard faced the opposite captain, glanced at Glenda, and said “oh, hang on, you’re BSD licensed, aren’t you. Well, carry on then.” He turned and sailed off in his boat and Larry had Glenda for dinner and lived happily ever after.

THE END

06:48, Sunday, 14 September UTC

September 13, 2014

Kevin Ottens (ervin)

Akademy 2014: Aiming higher

I am back from Akademy and this edition was particularly interesting in my opinion. Somehow it looks like there was a common theme hidden in this conference... let's go through what I consider the most noticeable events of Akademy 2014.

Even before the official start of the conference, during the KDE e.V. general assembly we had something interesting happening. We had elections for three out of five positions in the board. During the questions to the candidates (thanks all for stepping up!), it was clear that the membership was looking for people aiming at a higher efficiency and then improved KDE e.V. organization. We will see if our new board will live up to those expectations. It sounds like a new cycle of radical improvements will start after a (needed) period of consolidation and stabilization.

Then, the first keynote by Sascha Meinrath was an excellent reminder that we should be more proactive on the political landscape. If we stay in reactive mode just producing software, we won't be able to prevent centralized infrastructure, opaque Internet of Things and the panoptic surveillance system. Only by aiming at a higher political involvement can we avoid the raise of a digital feudalism age.

After this keynote, during the three days of talks and workshops, a surprising amount of sessions were focused on quality in a form or another. I was obviously guilty there with my craftsmanship cycle but Albert too. Add to those the talks from the VDG, the workshop on profiling by Milian and the one on unit tests by Shantanu to easily figure out that there's quite a few people wishing to see our contributors aiming at higher quality.

Last but not least, Paul's talk on community metrics was likely the most important one to attend this year. If you didn't attend it: go and watch the video now! I'll wait... This talk is really a wake up call in my opinion. We lost something and we need to get it back. He pointed out a silent crisis going on in the community. We still have time to get back on the right track, but we got to find the root causes and act as soon as possible. What Paul proposes is to aim at a higher cohesion in the community again. That will require a better shared technical vision, a stronger focus on our mission toward our users and a stronger focus on getting better in our contributions.

By now it is clear that the common theme of Akademy 2014 was that we ought to generally aim higher. Overall, we are in a good position today. Unfortunately, that is also a very fragile one as the community metrics and the quality related talks highlighted.

We're likely at the crossroads now. The decisions we'll take in the coming weeks and months will lead us either to regress or to strive. In my opinion, we can only strive by improving in the areas mentioned above. In some way, that is very good news! We are mostly in control of those areas to improve. It means that success is reachable if we have enough collective willpower to do what's required to seize it.

22:13, Saturday, 13 September UTC

Milian Wolff (milianw)

KDevelop 4.7.0 Released

Hello all!

It’s my pleasure to finally announce the availability of KDevelop 4.7.0:

https://www.kdevelop.org/news/kdevelop-470-released

This is a special release, as it marks the end of the KDE 4 era for us in terms of feature development. We will continue to support this release in the long-term with bug fixes though. New things and fundamental changes will only happen in the frameworkified master branches from now an.

Many thanks to all contributors!

Cheers

18:50, Saturday, 13 September UTC

Dominik Haumann

Kate and KTextEditor 5 after Akademy 2014

The yearly KDE conference Akademy just ended, so it’s time to look at what changed in the holy Kate in the Frameworks 5 land.

KTextEditor Framework

  • silent reload of document: Switching a git branch, Kate always pops up a dialog asking whether to reload the document. With this patch, if the document is version controlled by git, the git hash of the file computed and then it’s checked whether the file exists in git. If so, the file is reloaded without asking you. This should be very handy for developers using git! Thanks to Sven Brauch for this idea!
  • new highlighting unit testing infrastructure
  • several new syntax highlighting files
  • cursor down in the last line in the document moves the cursor to the end of the line, same for the cursor up behavior, after just 8 years a bugzilla wish becomes true ;)
  • properly load/save the search & replace history
  • fix kateversion tags in all our >200 highlighting files, thanks to Martin Walch
  • as always: lots of improvements to the vi input mode

Kate Application

  • use native dialogs on all platforms, including OS X, Windows
  • split view: action to toggle splitter orientation
  • the toolbar is by default turned off (see screenshot), resulting in a very cleaned up interface. You can turn it on in the Settings menu.
  • new document switcher plugin (see screenshot) through Ctrl+Tab, providing quick access to the most recently used documents (similar to Alt+Tab in kwin), based on KDevelops code
  • improvements to the tab bar
  • revive, cleanup and improve the text snippet plugin by Sven Brauch
  • projects plugin: autoload project even if no .kateproject is found (configurable to not clash with the auto-generated cmake .kateproject file), implemented by Michal Humpula
  • the Plasma 5 applet to start a Kate session is back, thanks to the work of Josef Wenninger

Kate Document Switcher

A big thanks to the organizers of this year’s Akademy, and a big thanks to all our sponsors and supporting members. The location was amazing and the venue allowed us all to have a very productive week! Looking forward to next year! :-)

11:15, Saturday, 13 September UTC

Baltasar Ortega

Belle un creador de animaciones para linux

La variedad de aplicaciones es algo necesario en el mundo de Software Libre. EN gnu/linux, y en KDE en particular, tenemos una infinita colección de aplicaciones: navegadores, exploradores, gestores de todo tipo, suites ofimáticas y de información personal, reproductores multimedia, etc. y aún así, cada ciento tiempo aparece una aplicación que cubre algún pequeño aspecto [&hellip

07:14, Saturday, 13 September UTC

September 12, 2014

Robin Burchell (w00t)

profiling is not understanding

When software goes slow, generally, the first reaction is to profile. This might be done through system tools (like Instruments on OS X, perf/valgrind/etc on Linux, VTune, etc). This is fine and good, but just because you have the output of a tool does not necessarily correlate to understanding what is going on.

This might seem like an obvious distinction, but all too often, efforts at improving performance focus on the small picture ("this thing here is slow") and not the bigger picture ("why is this so slow"). At Jolla, I had the pleasure of running into one such instance of this, together with Gunnar Sletta, my esteemed colleague, and friend.

As those of you who are familiar with Jolla may know, we had been working on upgrading to a newer Qt release. This also involved quite a bit of work for us, both in properly upstreaming work we had done on the hurry to the late-2013 release, and in isolating problems and fixing them properly in newer code (the new scenegraph renderer, and the v4 javascript engine in particular have been an interesting ride to get both at once!).

As a part of this work, we noted that touch handling was quite slow (something which we had worked around for our initial release, but now wanted to solve properly). This was due to the touch driver on the Jolla introducing touchpoints faster than the display was updating, that is, while the display might be updating at 57 hz (yes, the Jolla is weird, it doesn't do 60 hz) - we might be getting input events a lot more frequently than that.

This was, in turn, causing QtQuick to run touch processing (involving costly item traversals, as well as the actual processing of touch handling) a lot more frequently than the display was updating. As these took so much time, this in turn slowed rendering down, meaning even more touch handling was going on per frame. A really ugly situation.

Figure 1: Event tracing inside the Sailfish OS Compositor
Figure 1 demonstrates this happening at the compositor level. The bottom slice (titled "QThread") is the event delivery thread, responsible for reading events from evdev The peaks there are - naturally - when events are being read in. The top thread is the GUI thread, and the high peaks there are touch events being processed and delivered to the right QtQuick item (in this case, a Wayland client, we'll get to that later). The middle slice is the compositor's scenegraph rendering (using QtQuick).

With the explanation out of the way, let's look at the details a bit more. It's obvious that the event thread is regularly delivering events at around-but-not-quite twice the display update. Our frame preparation on the GUI thread looks good, despite the too-frequent occurrence of event delivery, though, and the render thread is coping too.

But this isn't a major surprise - the compositor in this case is dead simple (just showing a fullscreen client). What about the client? Let's take a look at it over the same timeframe...

Figure 2: Event tracing for the client (Silica's component gallery, in this case)
Figure 2 focuses on two threads in the client: the render thread (top), and the GUI thread (bottom). Touch events are delivered on the GUI thread, QtQuick processes them there while preparing the next frame for the render thread.

Here, it's very clear that touch processing is happening way too often, and worse than that, it's taking a very long time (each touch event's processing is taking ~4ms), not leaving much time for rendering - and this was on a completely unloaded device. In a more complicated client still, this impact would be much, much worse, leading to frame skipping (which we saw, on some other applications).

Going back to my original introduction here, if we had used traditional profiling techniques, we'd have seen that touch handling/preparation to render was taking a really long time. And we might have focused on optimizing that. Instead, thanks to some out-of-the-box thinking, we looked at the overall structure of application flow, and were able to see the real problem: doing extra work that wasn't necessary.

As an aside to this, I'm happy to announce that we worked out a neat solution to this: QtQuick now doesn't immediately process touch events, instead, choosing to wait until it is about to prepare the next frame for display - as well as "compressing" them to only deal with the minimal number of sensible touch updates per frame. This should have no real impact on any hardware where touch delivery was occurring at a sensible rate, but for any hardware where touch was previously delivering too fast, this will no longer be a problem as of Qt 5.4.

(Thanks to Gunnar & myself for the fix, Carsten & Mikko for opening my eyes about performance tooling, and Jolla for sponsoring this work.

P.S. If you're looking for performance experts, Qt/QML/etc expertise or all round awesome, Gunnar and myself are currently interested in hearing from you.)

18:06, Friday, 12 September UTC

Tomaz Canabrava (tomaz)

On normal people using linux, part 3 – Annia Zacchi

Another friend approached me to get rid of Windows, the problem was vulnerabilities and virus. She was an artist for life and paint, so I explained to her that Adobe no more and she didn’t really feel moved by that so I tougth “hm… this can work out”.

So, I got archl inux[1]  installed on her computer, explained her a bit of the stuff and told her “anything you need, just ask.”, strangelly, nothing she asked for one month, and since I had moved from jobs to another state, I tougth that she had come back to the windows-side of the force. “Hey annya?”,  “Hey”, “How are things up there with linux?”, “Well, it’s great actually. I’m using windows only to play LoL”, “oh, cool, I tougth you hade come back to windows because you never asked me anything, actually”, “No, that wiki that you pointed me out is really good. so I started reading it a lot, and krita, OH GOD. that program is amazing.”

I was shocked.  Literally shocked. I know that linux is not that easy for newcommers, and I’v installed linux for a lot of newcomers, but this was the first newcommer that didn’t had trouble using it because SHE HAS READ THE WIKIS AND TRIED TO LEARN. What if everybody could do that, this could go soooo beautiully.

“And you didn’t had any problems?”, “Well, my tablet doesn’t work with the system libraries, so I went to the website, got the drivers source, compiled and blacklisted the system ones, so nothing anymore.” whow. WHOW.

I really wanted that all my users were like her. This is also a plus, what krita can do if you are a good artist, drawings by Annia Zacchi

annia-krita tauriel-krita tribute-to-kiev

 

Usually I write more, but my broken feet is hurting so much that I can’t think straigth. :)


15:27, Friday, 12 September UTC

Björn Balazs

Understanding Icons: Participate in magic survey #9

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

Keep on reading: Understanding Icons: Participate in magic survey #9

09:48, Friday, 12 September UTC

Björn Balazs

Intermediate results of the icon tests: Treepata

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 Treepata icon set.

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

09:29, Friday, 12 September UTC

September 11, 2014

Wojciech Kosowicz (wojak)

KDE Akademy 2014

I'm writting this article sitting on 3 hour flight to Madrid where I'm going to spend next week being on holidays. Still on my mind there's one thought How am I suppose to live and be happy not writing patches for Kexi??? Actually I know I will find answer to this question. Just want to make a point how spending two days at Akademy 2014 affected my attitude towards programming and life. But to start with..

Who am I?

My name is Wojciech Kosowicz (wkosowicz, wojak). I'm software engineer. About half year ago I met Jaroslaw Staniek who I asked on the ways I can learn qt and next thing I remember was email confirming my devloper account at kde. I'm actively contributing to Kexi project.

Akademy 2014

Being enthusiatic about qt, kde, open source I decided to attend Akademy 2014. Never expected it gonna affect me so much in so many ways. I attended only first two days of Akademy. Actually you cannot learn a lot in such short time in the form the first two days are organized but that's not the point. The point is that you get around all these amazing people and you get to interact with them. People are very nice. I remember feeling a little lost at the first night dinner and out of the blue appeared Jonathan Riddell and started talking with me. I spent whole evening meeting people, playing games, enjoying time in general. I really can't describe Akademy. I would just say that this is not a conference it's experience that you have feel by yourself. Next year I will definetely attend hopefully all week so I can actually learn something. Overall experience from 0 to 10 is MAX_INT :))))

What's next?

As you probably noticed I haven't written a lot about conference. I'm sure there's already a lot descriptions of it on the internet. I'll just say that KConnect was the thing that impressed me the most. I also enjoyed two mini hackatons with Jarek(staniek) at the room. Pretty great!! I came back home more motivated than ever to work on Kexi (pushed two patches while being at Akademy) and other projects.  Again words cannot describe it. I know this is not short term hurray enthusiasm that's gonna wear off in a week or two. My life/career has just started a new direction. Don't know where is it going exactly but it's a place I want to go and I know there's a lot of KDE patches and reviews along the way. To sum it up I'm happy, I'm motivated I'm going to enjoy a week of holidays in Madrid then I come back and start working on Kexi and Kate(I promised at Akademy I will do a patch and I will deliver!!)
See you on the other side (of reviewboard:P)!!

22:48, Thursday, 11 September UTC

Christoph Feck (kdepepo)

KDEPIM back from holidays: You got mail!

If your mail inbox was quiet during the last month, it could have two causes: Either nobody contacted you, or your KDEPIM made holidays!

Jokes aside, KDEPIM 4.14.0 was released with a refactored IMAP fetching code, in preparation for a planned GMail IMAP plugin. The refactoring includes a more modern way to fetch the mails from the server, which unfortunately broke with some specific IMAP servers not completely conforming to the IMAP RFCs.

The effect of this bug is that no mails are fetched from some IMAP servers when you check for new mail, despite new mail arrived. If you were using such a server, be prepared that with the coming KDEPIM 4.14.1 update, the bug is fixed, and your inbox might get flooded with accumulated mail.

For details and patch, see KDE bug 338186. Thanks to to Christian for the prompt fix, and all reporters and testers for providing valuable feedback!


22:00, Thursday, 11 September UTC

Jonathan Riddell (riddell)

Akademy Wednesday and Thursday Photo Blog

KDE Project:

DSC_0769
Hacking hard in the hacking room

DSC_0773
Blue Systems Beer

DSC_0775
You will keep GStreamer support in Phonon

DSC_0780
Boat trip on the loch

DSC_0781
Off the ferry

DSC_0783
Bushan leads the way

DSC_0784
A fairy castle appears in the distance

DSC_0787
The talent show judges

DSC_0790
Sinny models our stylish Kubuntu polo shirts

DSC_0793
Kubuntu Day discussions with developers from the Munich Kubuntu rollout

IMG 9510 v1
Kubuntu Day group photo with people from Kubuntu, KDE, Debian, Limux and Net-runner

c IMG 8903 v1
Jonathan gets a messiah complex

20:34, Thursday, 11 September UTC

Eike Hein (Sho)

Beyond Unicode: Closing a gap in the support for mixed character set text in KDE workspaces

KDE Project:

Mixed character set text

Not long ago, the various language spheres engaged in computing maintained seperate, private standards for encoding the characters and symbols used in their written communication. This made it hard or impossible to author documents (or provide a user interface) mixing characters from multiple spheres. Unicode and its various encodings have mostly addressed this problem (though not to everyone's satisfaction, keeping some narrower encodings alive for some time yet), which has been wonderful for information sharing across the globe.

However, we have a similar situation to the old incompatible-encodings mess on the presentation layer. Font files typically only include glyphs for one or a small number of writing systems, e.g. Latin and its offshoots, or the Korean Hangul alphabet and the hanja sometimes used by Korean speakers. There are efforts to create more comprehensive "Unicode fonts" (e.g. Google's Noto family), but it's likely they'll remain few: Type designers tend to stick to the characters they're intimately familiar with, and most type faces are designed by small, localized teams sitting in this or that country. Trying to design glyphs for an alphabet you haven't used is a tall order (though it would be awesome to see more designers try and rise to the challenge).

Even monolingual documents increasingly source from more than one character set: Emoji are a thing, and it's getting bigger every day. Right now, few fonts provide their own emoji glyphs; they're usually stored separately (more on that in a moment).

The problem

Here's a screenshot of the font settings for the Plasma Desktop workspace:

Applications run inside Plasma Desktop inherit these settings. For example, Konversation, KDE's IRC client, will default to using that "General" font to display chat messages. Konversation also has a config knob to deviate from the system default and use a custom font, of course; it looks very similar.

Now consider a mixed-language, mixed-alphabet chat: English, written using the Latin alphabet, will use the glyphs from the wonderful Fira Sans. But Fira Sans doesn't contain any glyphs for the Hangul alphabet, so what will happen to a message containing any Korean text? Or any emoji, for that matter?

Enter glyph substitution: The font stack on Linux - and another platform we'll look at alongside, Windows - is smart enough to handle the case of a missing requested glyph, and supports sourcing it from a different font instead.

How this fallback lookup happens is governed by fontconfig configuration files. Fontconfig allows one to specify one or more aliases for a font family, and in case of missing glyphs, the system will try and locate them in one of the families specified as aliases. MyLatinFont can have MyHangulFont as an alias in the system, and Konversation will wind up displaying that Korean text using the Hangul glyphs from MyHangulFont, even when nominally configured to use MyLatinFont. This is roughly the same mechanism used to make generic family names like Sans Serif work and map them to actual, specific fonts.

In practice, this means your typical desktop-y Linux distribution maintains a large set of configuration files in /etc/fonts/ trying to provide reasonable fallbacks, and trying to anticipate what font packages you might install. Windows actually works almost exactly the same way - there's an alias mechanism, controlled by the registry, with some default mappings hardcoded into Uniscribe and others getting installed by Windows' language packs.

The problem with this is the lack of user control. Neither Plasma Desktop nor Windows provide any graphical means to influence glyph substitution behavior. You get to set one font per UI role, and what happens in case of missing glyphs is left to distro-maintained config, or your hand-written config files (on my system, I maintain an elaborate ~/.config/fontconfig/fonts.conf for this reason). There's no easy way to pick "your Korean font" or "your emoji font" if your font settings point to Latin-focused fonts.

This only affects a few users now, but it's users in the very interesting position of bridging multiple language spheres, a use case I feel we should care deeply about in KDE. And with the rise of Unicode-based emoji, it's a growing problem.

Mulling a solution

So I've been wondering how we could improve the font settings in Plasma Desktop to address this problem. One approach would be adding an "Advanced" sub-dialog exposing the fontconfig alias machinery in a very straight-forward way, loading in the system-level mappings and allowing user-local variation of them. But this would clearly result in a very user-unfriendly, highly complex interface.

I'm thinking a better fix would be to enhance our font management UI to let users create virtual user fonts: We add a Create Font button bringing up a dialog that lets you specify a name, a base font, and an ordered list of fallback fonts. Once saved, this virtual font becomes available in the font settings of both the workspace and applications, under the user-chosen name.

This would allow users to easily compose a MyChatFont sourcing from different real fonts, for different character sets including emoji. Implementation-side, it would (mostly) work by writing out aliases to the user-level fonts.conf (which we already write things like rendering settings to today).

There's a bunch of traits to this approach that I find compelling: Users are already familiar with the idiom of picking a font from the list, and this builds on it by simply letting them expand the list with custom entries. Reverting settings is as easy as switching back to a real font. It's easy to set up different sets of settings (in the form of different user fonts) and use them in different apps. It stays out of the hair of the distro's alias config as much as possible. And it's extensible should means of font composition other than aliases (e.g. based on language-tagging) come along.

Putting it into action

I'm hoping to take a stab at implementing this pretty soon, to try it out in practice. But I'd love to hear your feedback on the general problem and the proposed solution - if you have any experience with how other workspaces tackle this problem (I haven't found any attempt yet) or are in possession of a piece of the solution already, please get in touch!

19:04, Thursday, 11 September UTC

KDE Dot News

Akademy Wednesday and Thursday Wrapup

Akademy continues with hacking and BoF meetings. This wrapup meeting video covers sessions from Wednesday and Thursday including accessibility, release team, user information reporting, KDE applications websites, KDevelop and share-like-connect.

17:55, Thursday, 11 September UTC

Denis Steckelmacher (steckdenis)

Using Baloo in Dolphin and Apidox love

I’ve not blogged for nearly a month, but it does not mean that nothing has happened. I’m quite busy with university stuff (more on that later), but here are three things that may interest you.

Dolphin meets Baloo

Dolphin has supported Baloo for a very long time and is able to display semantic places like “Today” and “This month” in the right-hand box that lists your preferred folders and your drives. It also allows you to perform simple queries that consist in looking for files containing specific words.

A couple of weeks ago, I ported the Baloo natural query parser and the Baloo query builder widget to KF5. This allowed me to use the parser and the query builder widget in the KF5 version of Dolphin. You now have syntax highlighting in the Dolphin search box, and more advanced queries are now possible:

Advanced queries

Note that we are in September 2014 and all the results are from August 2014. There is not result before or after August 2014.

Syntax highlighting

Some bug fixes were needed for Baloo to work properly with Dolphin, and they have been pushed upstream (in the now KF5-based master branches of kde:baloo and kde:baloo-widgets). The patch to Dolphin that makes it use the query builder widget has been pushed to the frameworks branch of kde:kde-baseapps.

Comments on api.kde.org

This feature has been talked about in Randa, but it took time for it to be implemented. The reason is that api.kde.org is a static website, and adding comments to it is not as simple as submitting a patch to a PHP or Python project. api.kde.org needs to talk to a remote service in Javascript, and the comments must be persisted somewhere.

In order not to depend on any proprietary service, the KDE sysadmins decided to avoid Disqus (an online commenting service that offers a Javascript API so that static websites, like my blog, can still have comments on them). Choosing an alternative took a bit of time because they are numerous yet of varying quality. Finally, Juvia has been chosen.

The KDE sysadmins installed Juvia (implemented in Ruby) and set up a database. I also opened an Akismet account for the comments (Akismet is an automatic spam filtering service). Last but not least, the api-comments mailing-list has been created, and I invite the maintainers of Frameworks appearing on api.kde.org to subscribe to this list so that they are kept informed of the comments.

The comments are not yet on-line (I’m waiting for a final “ship it” for my review request), but will hopefully be soon. Working on this gave me the chance to work with the sysadmins, and they are very friendly and very competent people! Hats off to them!

Comments on api.kde.org

QML/Javascript for KDevelop 4 about to be released

One last thing that I’ve done at the beginning of September is preparing kdev-qmljs for a release. This is not yet an official release because KDevelop 4.7 (and KDevPlatform 1.7, on which kdev-qmljs depends on) has not yet been released. Once this is done, I’ll ask packagers to test my release tarball, because it is the first one that I make and I don’t know if everything is correct. By the way, if you have an installed KDevelop 4.7 from Git, don’t hesitate to test my tarball (check that it compiles, installs and that the unit tests pass once it has been installed).

Artificial Intelligence and Masters thesis

Now, some words about the future. In Belgium, the university starts on September 15, next Monday. This means that I will have to attend the lectures and to work for the university. Moreover, I’m entering my fourth year, the first year of Masters. At the end of my fifth year, I will have to present a thesis (also named memoir, but I don’t know which word is the most correct or clear).

This is a bit more personal, but I’m preparing my thesis for several years now. I worked on pattern recognition in human writing more than two years ago and finally implemented the Baloo query parser as a pattern matcher. I’ve also written a paper about my experiments on very fast memory-mapped persistent data stores.

Why am I thinking about that for so long? Usually, students start to wonder on which subject they could write their thesis at the end of the fourth year, not at the very beginning of their university studies. The reason is that my subject, using pattern recognition as I did for the Baloo query parser but for all the human senses (recognizing musics, speech, objects in images, understanding sentences, etc) is very risky. I don’t know if what worked for Baloo will be applicable to all the human senses, so two outcomes are possible:

  • Everything works
  • Everything works for a moment (I consider the Baloo query parser a success, it parses correctly anything thrown at it) but collapses once I attempt to do more complicated things.

If the subject collapses at one time, I would prefer it to do so as early as possible so that I can work on something else and still get my degree. This is the reason why I’ve been working on it for so long. I need to be sure that I will end up with something working and interesting before committing to this subject. But things are pretty encouraging so far :-) .

17:05, Thursday, 11 September UTC

Valorie Zimmerman (valorie)

Accessible KDE, Kubuntu

KDE is community. We welcome everyone, and make our software work for everyone. So, accessibility is central to all our work, in the community, in testing, coding, documentation. Frederik has been working to make this true in Qt and in KDE for many years, Peter has done valuable work with Simon and Jose is doing testing and some patches to fix stuff.

However, now that KF5 is rolling out, we're finding a few problems with our KDE software such as widgets, KDE configuration modules (kcm) and even websites. However, the a11y team is too small to handle all this! Obviously, we need to grow the team.

So we've decided to make heavier use of the forums, where we might find new testers and folks to fix the problems, and perhaps even people to fix up the https://accessibility.kde.org/ website to be as
awesome as the KDE-Edu site. The Visual Design Group are the leaders here, and they are awesome!

Please drop by #kde-accessibility on Freenode or the Forum https://forum.kde.org/viewforum.php?f=216 to read up on what needs doing, and learn how to test. People stepping up to learn forum
moderation are also welcome. Frederik has recently posted about the BoF: https://forum.kde.org/viewtopic.php?f=216&t=122808

A11y was a topic in the Kubuntu BoF today, and we're going to make a new push to make sure our accessibility options work well out of the box, i.e. from first boot. This will involve working with the Ubuntu a11y team, yeah!

More information is available at
https://community.kde.org/Accessibility and
https://userbase.kde.org/Applications/Accessibility

10:31, Thursday, 11 September UTC

Jarosław Staniek (jstaniek)

Kexi Report Designer Jobs

KDE Project:

It's not a secret that reasonable explained and mentored junior jobs attract new great contributors.

Based on a popular request, here's massive (growing) list of 10 new Junior Jobs for Kexi. Now they are mostly related to Kexi Report Designer, which receives a lot of love recently as an unique Free Software solution of this kind.

https://community.kde.org/Kexi/Junior_Jobs/Small_report_improvements

Be sure to ask for details or request different kind of junior jobs... there are basically thousands of them :)
Enjoy!


SQL car by jepoirrier, CC BY-SA 2.0

09:24, Thursday, 11 September UTC

Dimitri Popov

digiKam Recipes 4.0.9 Released

Hot on the heels of the 3.17.01 release comes a new version of the digiKam Recipes ebook. As the version number indicates, this is a major release that features several significant improvements.

digikam-31701

Continue to read

08:20, Thursday, 11 September UTC

Matthias Klumpp (ximion)

Listaller: Back to the future!

Listaller-Logo (with text)It is time for another report on Listaller, the cross-distro 3rd-party package installer, which is now in development for – depending how you count – 5-6 years. This will become a longer post, so you might grab some coffee or tea ;-)

The original idea

The Listaller project was initially started with the goal to make application deployment on Linux distributions as simple as possible, by providing a unified package installation format and tools which make building apps for multiple distributions easier and deployment of updates simple. The key ideas were:

  • Seamless integration of all installation steps into the system – users shouldn’t care about the origin of their application, they just handle all installed apps with the same tool and update all apps with the same interface they use for updating the system.
  • Out-of-the-boy sandboxing for all 3rd-party apps
  • Easy signing and key-validation for Listaller packages
  • Simple creation of updates for developers
  • Resource-sharing: It should always be clear which application uses which library, duplicates should be avoided. The distribution-provided software should take priority, since it is often well-maintained and receives security updates.

The current state

The current release of Listaller handles all of this with a plugin for PackageKit, the cross-distro package-management abstraction layer. It hooks into PackageKit and reads information passing through to the native distributor backend, and if it encounters Listaller software, it handles it appropriately. It can also inject update information. This results in all Listaller software being shown in any PackageKit frontends, and people can work with it just like if the packages were native packages. Listaller package installations are controlled by a machine policy, so the administrator can decide that e.g. only packages from a trusted source (= GPG signature in trusted database) can be installed. Dependencies can be pulled from the distributor’s repositories, or optionally from external sources, like the PyPI.

This sounds good on paper, but the current implementation has various problems.

The issues

The current Listaller approach has some problems. The biggest one lies in the future: Soon, there will be no PackageKit plugins anymore! PackageKit 1.0 will remove support for them, because they appear to be a major source for crashes, even the in-tree plugins cause problems. Also, the PackageKit service itself is currently being trimmed of unneeded features and less-used code. These changes in PackageKit are great and needed for the project (and I support these efforts), but they cause a pretty huge problem for Listaller: The project relies on the PackageKit plugin – if used without it, you loose the system-integration part, which is one of the key concepts of Listaller, and a primary goal.

But this issue is not the only one. There are more. One huge problem for Listaller is dependency-solving: It needs to know where to get software from in case it isn’t installed already. And that has to be done in a cross-distributional way. This is an incredibly complex task, and Listaller contains lots of workarounds for various quirks. It contains so much hacks for distro-specific stuff, that it became really hard to understand. The Listaller dependency model also became very complex, because it tried to handle many corner-cases. This is bad, of course. But the workarounds weren’t added for fun, but because it was assumed to be easier than to fixing the root cause, which would have required collaboration between distributors and some changes on the stack, which seemed unlikely to happen at the time the code was written.

The systemd effort

Also a thing which affects Listaller, is the latest push from the systemd team to allow cross-distro 3rd-party installations to happen. I definitively recommend reading the linked blogpost from Lennart, if you have some spare time! The identified problems are the same as for Listaller, but the solution they propose is completely different, and about three orders of magnitude more invasive than whatever the Listaller project had in mind (I make these numbers up, so don’t ask!). There are also a few issues I see with Lennarts approach, I will probably go into detail about that in another blogpost (e.g. it requires multiple copies of a library lying around, where one version might have a security vulnerability, and another one doesn’t – it’s hard to ensure everything is up to date and secure that way, even if you have a top-notch sandbox). I have great respect for the systemd crew and especially Lennart, and I hope them to succeed with their efforts. However, I also think Listaller can achieve a similar things with a less-invasive solution, at least for the 3rd-party app-installations (Listaller is one of the partial-fix solutions with strict focus, so not a direct competitor to the holistic systemd approach. Both solutions could happily live together.)

A step into the future

Some might have guessed it already: There are some bigger changes coming to Listaller! The most important one is that there will be no Listaller anymore, at least not in its old form.

Since the current code relies heavily on the PackageKit plugin, and contains some ugly workarounds, it doesn’t make much sense to continue working on it.

Instead, I started the Listaller.NEXT project, which is a rewrite of Listaller in C. There are a some goals for the rewrite:

  • No stupid hacks and workarounds: We will not add any workaround. If there is a problem, we will fix it at its source, even if that might be more invasive.
  • Trimmed down project: The new incarnation of Listaller will only support installations of statically linked software at the beginning. We will start with a very small, robust core, and then add more features (like dependency-solving) gradually, but only if they are useful. There will be no feature-creep like in the previous version.
  • Faster development cycle: Releases will happen much faster, not only two or three times a year
  • Integration: Since there is no PackageKit plugin anymore, but integration is still one of Listaller’s key concepts, we will integrate Listaller into downstream tools, ranging from Apper to GNOME-Software. Richard Hughes will help with the integration and user interfaces, so Listaller applications get displayed properly.
  • AppStream-first: AppStream is the ultimate tool for Listaller to detect dependencies. With the 0.6 release, the Listaller component-concept was merged into it, which makes it a very powerful and non-hackish solution for dependency-detection. We will advance the use of its metadata, and probably use it exclusively, which would restrict Listaller to only work properly on distributions which ship AppStream metadata.
  • No desktop-only focus: The previous Listaller was focused only on desktop GUI apps. The new version will be developed with a much larger target audience in mind, including server deployments (“Can I use it to deploy my server app” is one very frequently asked questions about Listaller – with the new version, the answer is yes)
  • We will continue to improve the static-linking and cross-distro development toolchain (libuild, with ligcc, lig++ and binreloc), to make building portable apps easier.

I made a last release of the 0.5.x series of Listaller, to work with PackageKit 0.9.x – the future lies in the C port.

If you are using Listaller (and I know of people who do, for example some deploy statically-linked stuff on internal test-setups with it), stay tuned. The packaging format will stay mostly compatible with the current version, so you will not see many changes there (the plan is to freeze it very soon, so no backwards-incompatible changes are made anymore). The o.5.x series will receive critical bugfixes if necessary.

Help needed!

As always, there is help needed! Writing C is not that difficult ;-) But user feedback is welcome as well, in case you have an idea. The new code will be hosted on Github in the new listaller-next branch (currently not that much to find there). Long-term, we will completely migrate away from Launchpad.

You can expect more blogposts about the Listaller concepts and progress in the next months (as soon as I am done with some AppStream-related things, which take priority).

08:14, Thursday, 11 September UTC

September 10, 2014

Mirko Boehm

KDE Akademy 2014 – Welcome, new KDE board!

Akademy 2014 is still in full swing in Brno in the Czech Republic with the traditional hack week that started on Monday. At about 200 participants it was well attended and organized. This years conference will very likely mark a milestone of change for KDE – a new board was elected, and a strategy discussion was started that will affect the direction and development of the KDE community for a decent amount of time. When I traveled home from Akademy 2014 on the train from Brno to Berlin, I personally felt a sense of satisfaction, because the community has managed to steer clear of the dangers of bike shedding about the board succession, and is accepting the change imposed by a shifting environment as a positive force.

Akademy 2014

Of the five positions of the KDE e.V. board, three were up for re-election. Lydia Pintscher’s first term on the board lapsed, and she ran for re-election. Marta Rybczyńska took over mid-term when Agustin Benito Bethencourt stepped down from the board, and stood for election for a regular board seat. Because of their proven commitment and steady hand, both won their seats with ease. Together with Albert Astal Cid and Pradeepto Bhattacharya they will provide the experience and continuity needed for the board to perform it’s function. The remaining board seat was contested between Jos Poortvliet and Aleix Pol, both long-standing and committed KDE community members. It was won in a tight race by Aleix Pol. He will bring his experience from building KDE Spain to the mothership of KDE e.V. Good luck to him and the whole new board, and many thanks to Jos for standing up for election.

A photo from the keynote by Sascha Meinrath

The new board is facing a number of challenges. Some are simply of operational nature, like finding a new office manager and other permanent staff. More significantly, there are some long-term shifts that need managing. In a time when Free Software contributions in an industrial setting are becoming more and more institutionalized, a volunteer driven, decentralized community like KDE has to adapt its ways of fundraising and attracting and retaining contributors. This is of course not the reponsibility of the board alone, but the board does set the tone and priorities as stewards. It is great and promising to see fresh and driven people joining the board, adding new attitudes and ways to get things done. I would like to extend ginormous amounts of gratefulness, thanks and hugging to Cornelius Schumacher, who stepped down from the board after serving on it for nine (9, sic!) years. For a long time, he has with his particular calm and well-reflected opinions been solid as a rock as the president of KDE e.V. He leaves pretty big shoes to fill for the new president.

Which leaves the question of what the structure of the new board is. It was announced to the KDE Community mailing list by Albert Astal Cid:

  • Pradeepto Bhattacharya – board member
  • Albert Astals Cid – board member
  • Aleix Pol – vice president
  • Marta Rybczynska – treasurer and vice president
  • Lydia Pintscher – president

Good luck again to all of them. Quite impressively, our board is 40% female, 60% male. With five board members an exact 50/50 ration is hard to achieve, so in my opinion, anything between forty and sixty percent should count as properly balanced, gender-wise. This again serves to illustrate the composition of contributors that makes KDE great.

The new board will need all the support from the KDE contributors that it can get. It may be worth to point out that all board members are volunteers and do not receive any remuneration for their work. If you want to pitch in and help, consider joining the kde-community@kde.org mailing list. If you are already a KDE contributor, you may want to ask to be a member of KDE e.V. And if you are a member, many thanks for your contributions, and keep going!


Filed under: Coding, CreativeDestruction, English, FLOSS, KDE, OSS, Qt Tagged: Akademy, Creative Destruction, FLOSS, free software communities, KDE, kde community, Open by Default, technology

15:05, Wednesday, 10 September UTC

KDE Dot News

Akademy Tuesday Wrapup

Akademy is in full swing here in Brno in the Czech Republic. The days are now filled with BoF sessions to discuss given topics and make decisions in person much faster than would be possible online. Here is the wrapup session from Tuesday which covered the outcomes from sessions on Solid, Plasma Media Centre, Inqlude, UI design, Frameworks and more.

10:29, Wednesday, 10 September UTC

Stephen Kelly (steveire)

Grantlee based on Qt 5

While I’ve been off the grid I received an unusually high concentration of requests for a Qt5-based Grantlee. I’m working on getting that done for September.


10:08, Wednesday, 10 September UTC

Stephen Kelly (steveire)

I Did it My Way

I flew to Bilbao on the 11th of August and took a train to Burgos. From there I walked 500km over 21 days to arrive in Santiago. Although technically a Catholic pilgrimage, I approached it secularly as a walking holiday, a different environment while in-between jobs and some time for myself. Everyone walks their own Camino.

First Insight: There is suffering

On arrival in Burgos, I needed to first get a ‘Credential’, which allows sleeping in the albergues for Peregrinos along the route, and records qualification to recieve a Compostela at the end of the journey. A credential may be obtained from the municipal albergue in Burgos so that was my first stop. It was almost 8pm when I arrived and the Hospitalero had been telling people since 4pm that the albergue was full. However, he kept a spare bed for such late arrivals and luckily he gave it to me. It made for a good start.

Many sunflowers on the Meseta

Many sunflowers on the Meseta

Stated in a deliberately impersonal way, the nature of suffering on the Camino was immediately apparent when I arrived in Burgos. For most people (with sufficient time), The Camino starts in St. Jean Pied de Port in France from where pilgrims walk over the Pyrenees, and through Pamplona before arriving in Burgos two weeks later. Colloqially, this first of three stages of the walk is known as the ‘Camino of Suffering’, where the pilgrim starts the challenge and experience. I spent the first evening with a few people who had developed the blisters and the tendonitis, people who were bidding farewell to the journey already (some people do it over multiple years), and people who were bidding farewell to companions.

In the morning I got up at 6am and started walking in the dark out of Burgos, following the centuries-old route along the second stage – the ‘Camino of Death’, so called because of the barren, flat landscape surroundings until reaching Astorga.

Initially I walked with one Italian guy and we soon caught up with two more Italians. Most of the time walking the Camino is spent walking alone though, so that little group quickly dissolved as people broke away or fell behind (ahem!). A social shock I experienced is that when someone in a group stops or slows (even one more-familiar than a few hours/days), the others simply continue on – they’re sure to be re-united at a break-point or end point later along the way. It’s something to get used to.

My shadow's the only one that walks beside me...

My shadow’s the only one that walks beside me… I have tonnes of photos like this. Depending on whether I like you, I might sit you down to show you all of them!

Second Insight: Suffering should be understood

One of the things I learned on the Camino is that ‘normal’ is partly an environmental concept. It became ‘normal’ for me to get up at 6am, walk 20-30km per day, eat with some strangers and some familiar faces and go to sleep at 10pm. It did take about a week for that to become ‘normal’ (and even enjoyable!), but it is certainly not similar to my Berlin experience.

Dawn

Dawn

I had blisters since the first day of walking, but by the time I reached Bercianos I was no longer able to stand, let alone walk. I had a day off followed by a 7km walk to the next town where I happened to meet a foot doctor from Berlin who gave me all the help I needed, including her sandals. My footwear was the problem causing my blisters (I was walking in running shoes), so I bought myself a good, expensive pair of sandals when I got to Leon, gave the good doctor hers back and had no new problems caused by footwear for the next two weeks. What are the odds of a foot doctor having the same size feet as me?

Chica the dog

Chica the dog

Most of the people I encountered on the Camino were Italians, Spanish a close second, and plenty of Germans. I fell into a good rhythm with a group of Germans for the second two weeks which was nice. We spoke German as our common language.

camino-5

Third Insight: Suffering (of my Camino) has been understood

Astorga is a beautiful town and it marks the transition of the peregrino from the ‘Camino of Death’ into the ‘Camino of Life’. The route through Galicia is much more steep than the previous stages and full of the sights, sounds and smells of dairy farms. Most of the milk produced in Spain is produced here. The sunflowers filling the landscape and the trail are long since gone.

Although the blisters did not return, the steep climbs and descents brought with them some tendonitis for the final two days of walking. Not much to complain about, timing wise.

It’s sad that the experience of walking the Camino can’t be captured by any camera or prose, but must be experienced to be understood. That’s just part of the nature of suffering :).

camino-6

Like many, I continued on to Finisterre for a few days of sleeping on the beach and unlike most I spent the weekend after in Barcelona, for a very different experience of parks and beaches.


10:04, Wednesday, 10 September UTC

Older blog entries