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

Microblogging from KDE

July 29, 2014

Albert Astals Cid (TSDgeos)

Logging in into Picasa 3.9 under Linux

A few years ago I showed my father Picasa under Linux, he liked it and started to use it to upload his photos, and has been using it for almost 6 years, even Google discontinued Picasa for Linux at version 3.0 (Picasa is at 3.9 now).

Unfortunately a few weeks ago seems Google decided to kill support for old APIs in the server side and Picasa 3.0 for Linux was giving back an error when trying to upload an image ("Could not find POST url" or similar). I suggested to wait to see if they would come back, but it seems they haven't and so i've had to fix it for him.

Since he's heavily invested in Picasa I've had to install Picasa for windows under wine to make it work. It has not been trivial to get to work so I'll share it here for others that committed the error of trusting privative software and services.

The story is this: Installing picasa 3.9 for windows under wine is pretty easy (next, next, next). The problem is once you are running it, being able to log in. First problem is that the webview using for login doesn't even show. Most of the interwebs suggest installing ie8 using winetricks to solve that and it indeed solves the problem of the webview not showing, but still i can't log in (interestingly the webview will tell you if you wrote the password wrong).

At this point i was stuck for a few hours, even found some dude that claimed he had installed Google Chrome Frame for Internet Explorer and that had fixed for him. But not for me.

After a few hours, I stopped trusting the internet and started to think. I have a windows installation laying around, and i can log in from there, and once logged in Picasa does not ask for the password again, so it must be storing something no?

So I made a copy of the Program Files folder and compared it after loggin in, folders where exactly the same. So it was not stored there, which makes sense since log in is per user not per machine. Next i tried in that weird Personal Folder (Windows $HOME) but could not find any change either. Last chance was the registry, i used http://www.nirsoft.net/utils/reg_file_from_application.html and saw that when logging in, Picasa writes a few entries in HKEY_CURRENT_USER\Software\Google\Picasa\Picasa2\Preferences namely GoogleOAuth, GoogleOAuthEmail, GoogleOAuthServices and GoogleOAuthVersion, so I copied these over to the wine installation (with "wine regedit") and now my father can run Picasa just fine again.

Lessons learned:
* Non Free Software will eventually come back and hit you, if possible don't use it for stuff that is critical to you
* Think about your problem, sometimes is easier than just googling random instructions from the internet.

21:50, Tuesday, 29 July UTC

Jos Poortvliet

ownCloud 7 Release Party August 8, Berlin

In a little over a week, on the 8th of August, you're all invited to join Danimo, Blizz and myself at a release party to celebrate the awesomeness that is ownCloud 7 in Berlin!



When and where

We will gather at 7pm at the Wikimedia office in Berlin:
Tempelhofer Ufer 23/24
10963 Berlin
Germany
It is awesome that we can use their office, a big thank you to our fellow data lovers!!

So we start to gather at 7 and round 7:30 we'll have a demo of/talk about ownCloud 7. We will order some pizza to eat. After that: party time!






18:09, Tuesday, 29 July UTC

Kubuntu Wire

Rohan on ubuntuonair.com

Kubuntu Ninja Rohan was on today’s ubuntuonair talking about Plasma 5 and what is happening in Kubuntu.  Watch it now to hear the news.

 

16:07, Tuesday, 29 July UTC

Sebastian Trueg (trueg)

YouID Identity Claim

di:sha1;eCt+TB1Pj/vgY05nqB48sd1seqo=?http=trueg.selfhost.eu%3A8899


13:54, Tuesday, 29 July UTC

Avik Pal (avikpal)

[GSoC'14]: Chronicle of a hitchhiker’s journey so far

nuqneH [Klingon | in English- "Hello"], I am Avik [:avikpal] and this summer I got the opportunity to work with Andreas Cord-Landwehr [:CoLa] to contribute to the KDE-Edu project Artikulate. My task is to implement a way so as to tell a learner how well his/her pronunciation is compared to a native speaker.

Let me warn you about a couple of stuff beforehand; firstly, the trailing post is going to be a bit lengthy to read but I have tried to keep things interesting, secondly, I have a habit of addressing people by their IRC nicks though I have tried to put their real name as well ;)

So let me dive right into what I have been doing for the last couple of months. The first thing I had to do was to port Artikulate to QtGStreamer 1.0. The API changes in QtGStreamer mainly follow the changes performed in GStreamer 1.0. The biggest change is that Gst::PropertyProbe is gone or in our case QGst::PropertyProbePtr is gone which results in a compilation error. So the related code had to be adapted i.e. worked around to do the same. I got some great insights and tips from George Kiagiadakis [:gkiagia] and Diane Trout [:detrout] at #qtgstreamer and finally resolved this.

But still I was getting a runtime error because of Artikulate linking to both libgstreamer-1.0.so.0 and libgstreamer-0.10.so.0. It is a very common problem as GStreamer does not use symbol versioning and in some cases programs end up linking both of them through indirect shared library dependencies. I used pax-utils and lddtree (thanks to CoLa for telling me about these two great tools) to find out the cause of the linking error. Actually libqtwebkit.so.4 links the GStreamer 0.10 shared library as its dependency. CoLa got libqtwebkit built against GStreamer 1.0 and did some code changes and refactoring.

Also we decided against keeping phonon multimedia backend and Artikulate now supports only GStreamer backend. Precisely with Artikulate we are at QtGstreamer 1.2 and for the last few days the CI system also has it. This is just a heads up- I will let CoLa share the details of this work himself so stay tuned.

For pronunciation comparison I had initially decided to generate fingerprint of the audio file and then compare the two fingerprints (i.e. learner pronunciation and native pronunciation). Most of the phrases available with the trainer have one/two-syllable and are around 4-5 seconds in duration. The present chromaprint APIs don’t generate distinguishable fingerprints for audio of such low duration. I talked to Lukas Lalinsky from the Accoustid about how can the Chromaprint library be tweaked so as to get distinguishable fingerprints for small duration audio files. Chromaprint does a STFT analysis (FFT over a sliding window) and the window size and overlap determines how much data the algorithm generates. I went on trying to better the results by tweaking with the library but it was giving me only erratic data.

This was the time when I decided that it would be prudent to start working on writing a very basic audio fingerprint generator to cater my purpose. The concept is well discussed and illustrated in numerous papers and blogs so it wasn’t hard to break it up into modules.

The first job was to generate a spectrogram of the audio clip. I used the sox API to generate a spectrogram- the following system illustrates such a spectrogram.

Spectrogram of 'European Union' pronounced by me in Bengali

Spectrogram of ‘European Union’ pronounced by me in Bengali

Next I wrote a code to find the peaks in amplitude where peak is a (time, frequency) pair corresponding to an amplitude value which is the greatest in a local neighborhood around it. Other pairs around it are lower in amplitude, and  thus are less likely to survive noise.

My next job is to group these neighborhood peaks into collections/beans and then use a hash function to get the final fingerprint. I am currently working on implementing this part.

Now to get the peaks out of the spectrogram I first found out the histogram of the image and there came an idea to see how different are the histograms of spectrograms of two pronunciation are. There are several statistical ways to compare histograms and so far the results that I have found are quite promising. I shall try to demonstrate using an example.

I asked CoLa for audio recordings of the word “weltmeisterschaft” [World Champion in English] and he send me several recordings- let me take a couple of those.

And its spectrogram looks like this-

CoLa's pronunciation (sample 1)

CoLa’s pronunciation (sample 1)

And this is another sample from CoLa

And its spectrogram looks like-

CoLa's pronunciation (sample 2)

CoLa’s pronunciation (sample 2)

It may be noted that in above two spectrograms there is only a linear shift by a small amount which is expected and desired.

Before giving examples of my pronunciations let me clarify how I have compared the two histograms. To compare two histograms (H1 and H2), first we have to choose a metric (d(H1,H2)) to express how well both histograms match. I have computed four different metric to compute the matching: Correlation, Chi-Square, Intersection and Bhattacharya distance.

Next I present to you my first attempt at pronouncing “weltmeisterschaft”

Yeah I admit, though my first obviously I could have done better and it sounds kind of like “wetmasterschaft”. And here is the reportcard (err….spectrogram) of my poor performance

My first attempt

My first attempt

But I was not ready to give up yet…. I made some disgusting though necessary gurgling sounds and tried to set my vocals into tune and this is what I came up with.

and its spectrogram looks like

weltmeisterschaft- by me after a few attempts

Now I shall show you how the comparison metrics stack up- for correlation and intersection methods, the higher the metric the more accurate the match and for the other two the less the metrics the better the match.

*it is actually a comparison between the two same pronunciation by CoLa with which the rest are compared- this is just to give a sense of accuracy achievable.

*it is actually a comparison between the two same pronunciation by CoLa with which the rest are compared- this is just to give a sense of accuracy achievable.

The next job is to converge on a single metric which will take into account all four metrics that I currently have. Meanwhile I will also work on the fingerprinting part as it would also enable it to point out specific parts of pronunciation in which further improvement is needed. I am working on removing noise from the spectrograms as it is needed in finding out the intensity peaks(part of the fingerprinting work)- I have finished writing a code to find an intensity threshold for the noise from the histogram.

Below is a histogram of the spectrogram of my somewhat better pronunciation of “weltmeisterschaft”-

Histogram- different colours depict different channels

Histogram- different colours depict different channels

I hope to club these all modules in a standalone application and share it with community members for their testing, meanwhile you may use the code at https://github.com/avikpal/noise-removal-and-sound-visualization and test it yourself.

Now its time to fire up the warp machine but even in a parallel universe too I will be eagerly listening to #kde-artikulate with my identifier being “avikpal” for any kind of suggestion and/or queries. You may also mail me at avikpal[dot]me[at]gmail[dot]com.

Qapla’![Klingon | in English- "Good-bye"] until next time.


11:43, Tuesday, 29 July UTC

Baltasar Ortega

3 vídeos sobre owncloud 7, tu nube personal

Ya hemos hablado en el blog sobre el lanzamiento de owncloud 7, la aplicación para servidores que te permitetener tus archivos sincronizados en tu PC y con un servicio de almacenamiento en la nube propio, seguro y privado. Veamos hoy algunas de sus funcionalidades en forma de vídeo.   3 vídeos sobre owncloud 7 En [&hellip

08:10, Tuesday, 29 July UTC

July 28, 2014

Jens Reuterberg (jensreuterberg)

Layout Guidelines: A quick example

For planet readers: This post is written by Andrew Lake

We recently released new layout guidelines to aid with designing applications and plasmoids. So I wanted to provide a quick example of how to use the guidelines to design the layout for an imaginary calendar application.

A quick design for an imaginary calendar app

To choose an application layout, the new guidelines encourage awareness of the functions and commands provided by your application as well as the structure of the content provided by your application.

So let's start with commands. Suppose we want the primary function of our calendar application to be providing a daily, weekly or monthly schedule of the user's upcoming work or personal events. The user, Sue, would also like to be able to add events to her schedule. There are many other functions for a calendar application that I'm sure we're all aware of. We're not designing in a vacuum - there are many calendar applications from within KDE and elsewhere from which to draw inspiration. For the sake of this example though, lets start with the described functions and commands.

The guidelines suggest layout patterns for simple, complex and very complex command structures. So where does our calendar app fit? Well, I wasn't quite sure either. And that's ok! Some things are tough to know until you start delving into the design work. The guidelines suggest starting with a pattern for a simple command structure when you're not sure. So that's what I did. As I started putting together a design and thinking about how Sue would use it for the purposes described, it became clear that not only were there several other desirable functions (like switching calendars, setting up calendar accounts, setting calendar colors, and more) but there are also certain commands Sue might use quite often (like switching between a day, week and month view of her schedule, adding an event and quickly getting back to today after browsing forward or back in time). So I settled on the suggested Toolbar + Menu Button command pattern for a complex command structure.

The mockup toolkit provides an example:


The content structure for a calendar is pretty much flat: Just a collection of days (with or without events). I wanted to show a single day view, a week view(7 days) or month view (28 - 31 days) as well as properties related to the current view or selection like the date, the agenda for the current day or view and the active calendars. So I settled on a Selection-Properties navigation pattern from the recommended patterns for a flat content structure


The mockup toolkit provides an example of a Selection-Properties navigation pattern combined with a Toolbar+Menu Button.


Now I have a basic layout I can use for the rest of the design work. I put what I think will be the most frequently used commands on the toolbar - Today, Day, Week and Month views as well as a command to add an event. 


Many of the other commands like setting up calendar accounts and the like are exposed through the menu button. I design a week view using the recommended design color set and occasionally checking the typography guidelines. For the properties panel. I draw some inspiration of Sebastian Kügler's great design work on the new clock plasmoid panel popup for the current date to achieve some additional visual consistency with the desktop. I also decided to add a mini month view for convenience and a legend for the active calendars (possibly directly editable?).

 

Put it all together and we have a quick design for an imaginary calendar application. 


It's not a complete design in any sense of the word - icons, day and month views aren't shown, nor are calendar settings and the like. But it's probably enough to, for example, start a review on the VDG forums to get feedback from our fellow intrepid designers, the usability team and/or potential developers.

Just to be clear, you still have to design. Design is a creative activity. While guidelines can provide a sandbox, it still requires creativity within that sandbox. Often that means that the best way is to just start and figure it out as you go. For me, that's usually a bumpy trial and error process which I simply accept rather than agonize about. And no, you're not allowed to declare that you're not creative! :-) 

Always feel free to ask for help or feedback on the VDG forums - it's a great place for us to learn together. This design was done using the mockup toolkit, but just use whatever tool you're comfortable with, including just sketching on paper and taking a picture of it. Don't wait. Don't hesitate. Just do. The long term hope is that these new layout guidelines will provide enough flexibility to create layouts suitable across the full spectrum of KDE applications while also helping to achieve layout consistency where it makes actually sense. Like all guidelines, it is a living document which we'll update collaboratively over time. We'll also do more examples like this in the future.

Hope this helps!




21:35, Monday, 28 July UTC

Jens Reuterberg (jensreuterberg)

Monday Report: Creating Documentation

Yesterday we reached a small but important goal, we completed the first of our self-set tasks for this cycle, namely finishing our application layout guideline. The guideline has been presented to the community to gather feedback and was moved to the HIG wiki yesterday.
If you think something blatantly obvious has been overlooked, don’t be afraid to speak up. The guidelines can always be improved. Keep in mind though that we intend to make more visual examples available in the guidelines. As of now we were mainly concerned with the textual content of the guidelines.
The guidelines are intended to standardise which layout elements KDE applications use and to help pointing out which layout is best suited for a specific type of application.
Additionally to the release of the application layout guidelines Andrew Lake has updated the mockup toolkit with some examples of how one can use the layout guidelines in combination with the toolkit to prototype application designs.



Another project that starts to take shape is the next network system settings module. This module is intended to be one of the first with an updated design for the new system settings.
This work is in its early planning phase so if you have something important to say, chime in!

On the window decoration front Martin Gräßlin has blogged about the advances he’s made. If you haven't seen the blog post yet give it a read, it provides very interesting insights in the internals of KWin’s new decoration API. Now it’s time for us to work on the details like padding, etc. We're very pleased with the amount of progress being made, which shows again how absolutely awesome the KDE developers are.

Community

We are very happy to see the increased community activity in the forums. Last week a whole bunch of new users arrived in the forums and started to give all kinds of useful feedback and ideas.
It’s very impressive what a difference a few motivated individuals can make. We hope to integrate all of you into our workflow as good as possible and try not miss any of your ideas. If this should happen anyway don’t be afraid to voice your ideas again.

17:09, Monday, 28 July UTC

Johan Thelin

meta-kf5 usable

Finally I’ve had the time to work over the final issues in meta-kf5. Right now, I build most tier 1 and tier 2 components. I’ve packaged most functional modules and integration modules from these tiers.

When it comes to integration modules, there might be missing dependencies that need to be added – but that should not be too hard to add.

To be able to create useable cmake files, I had to employ a small hack modifying the cmake-files from KF5 before installing and packaging them. This seems to work (i.e. tier 2 builds), but there might be other sed-expressions that are needed.

Also, the autotests are not built as long at Qt5Test is left out form the build. If you would add Qt5Test, I believe that the unit tests will be included in the same package as the libs. I’ll address this as I integrate the autotests into ptest.

Summing up all of this, I’d say that the meta-kf5 layer now is usable!

That is all for now. As always, contributions are welcome! If you find a use for this, I’d be happy to add your project as a reference to the layer!

15:21, Monday, 28 July UTC

Kubuntu News

New Kubuntu Plasma 5 Flavour in Testing

Kubuntu Plasma 5 ISOs have started being built. These are early development builds of what should be a Tech Preview with our 14.10 release in October. Plasma 5 should be the default desktop in a future release.

Bugs in the packaging should be reported to kubuntu-ppa on Launchpad. Bugs in the software to KDE.

10:33, Monday, 28 July UTC

Jonathan Riddell (riddell)

Kubuntu Plasma 5 ISOs Rolling

KDE Project:

Your friendly Kubuntu team is hard at work packaging up Plasma 5 and making sure it's ready to take over your desktop sometime in the future. Scarlett has spent many hours packaging it and now Rohan has spent more hours putting it onto some ISO images which you can download to try as a live session or install.

This is the first build of a flavour we hope to call a technical preview at 14.10. Plasma 4 will remain the default in 14.10 proper. As I said earlier it will eat your babies. It has obvious bugs like kdelibs4 theme not working and mouse themes only sometimes working. But also be excited and if you want to make it beautiful we're sitting in #kubuntu-devel having a party for you to join.

I recommend downloading by Torrent or failing that zsync, the server it's on has small pipes.

Default login is blank password, just press return to login.

10:20, Monday, 28 July UTC

Rohan Garg (shadeslayer)

Plasma5 : Now more awesome as a Kubuntu ISO

Kbuntu Next

The Kubuntu team is proud to announce the immediate availability of the Plasma 5 flavor of the Kubuntu ISO which can be found here (here’s a mirror to the torrent file in case the server is slow). Unlike it’s Neon 5 counterpart , this ISO contains packages made from the stock Plasma 5.0 release . The ISO is meant to be a technical preview of what is to come when Kubuntu switches to Plasma 5 by default in a future release of Kubuntu.

A special note of thanks to the Plasma team for making a rocking release. If you enjoy using KDE as much as we do, please consider donating to Kubuntu and KDE :)

NB: When booting the live ISO up, at the login screen, just hit the login button and you’ll be logged into a Plasma 5 session.


09:39, Monday, 28 July UTC

Baltasar Ortega

¿Está Plasma 5 preparado para el gran público?

Uno de los sueños que tengo es que el Software Libre creado por la Comunidad KDE sea muy popular y utilizado en todos los dispositivos electrónicos. En el mundo de los ordenadores personales este sueño está cerca de alcanzarse, al menos es 100% utilizable. Ahora bien, en el mundo de los smartphoens y las tablets [&hellip

08:10, Monday, 28 July UTC

Friedrich Kossebau (frinring)

WebODF easily used, part 1: ViewerJS

WebODFYou possibly have heard of WebODF already, the Open Source JavaScript library for displaying and editing files in the OpenDocument format (ODF) inside HTML pages. For ideas what is possible with WebODF and currently going on, see e.g. Aditya’s great blog posts about the usage of WebODF in OwnCloud Documents and Highlights in the WebODF 0.5 release.

The WebODF library webodf.js comes with a rich API and lots of abstraction layers to allow adaption to different backends and enviroments. There is an increasing number of software using WebODF, some of that listed here.

Those which are interested in the capabilities of WebODF, without needing a custom and highly integrated solution, can additionally go for ready-made simple-to-use components based on WebODF. This blog post is the first of a series to introduce you to those. It starts with the component that gives you embedded display of OpenDocument format files, that is text documents (ODT), presentation slides (ODP) and spreadsheets (ODS), in webpages by just a single (sic!*) line of HTML code:
* no-one would add a line-break there ;)

ViewerJS

ViewerJS is an Open Source document viewer that enables embedded display of ODF or PDF files directly in webpages, without any external server dependencies, just done with HTML, CSS and Javascript. It uses WebODF to display files in the OpenDocument format and PDF.js for files in the PDF format.

Deploying and using ViewerJS with your webpages can be done in a few minutes. Follow this guide and see yourself!

Quickly Added

Start with looking at the current time and noting it.

As example file take an ODP of your choice, otherwise let’s use the slides from a talk at KDE’s Akademy in 2013, akademy2013-ODF-in-KDE-Calligra-WebODF.odp.

If you do not have a webserver handy, create a mini one locally on your system:


# Create a folder structure to serve statically
mkdir htroot

# Put the sample ODP file into htroot, renamed as "example.odp"
cp akademy2013-ODF-in-KDE-Calligra-WebODF.odp htroot/example.odp

# Add a simple html file:
touch htroot/example.html

Open example.html in an editor and have this as content:

<!DOCTYPE HTML>
<html>
  <head>
    <title>example.odp</title>
  </head>
  <body>
    <div>We got an ODP file.</div>
    <div>Would be nice to show it here.</div>
  </body>
</html>

Start a simple webserver program serving that directory, e.g. the one built into Python. For that open a separate console and do:


cd htroot
python -m SimpleHTTPServer

example.odp not embeddedNow browse to http://127.0.0.1:8000/example.html and make sure you see that HTML file.

The ODP file example.odp is not displayed yet, right. Not so nice.

Let’s change that and deploy ViewerJS for it.

In the first console now do:


# Download http://viewerjs.org/releases/viewerjs-0.5.2.zip
# (check if there is a newer version perhaps, then change
# all "0.5.2" below to the new version string)
wget http://viewerjs.org/releases/viewerjs-0.5.2.zip

# Unzip the file
unzip viewerjs-0.5.2.zip

# Move the folder "ViewerJS" to the toplevel dir of
# the folder structure statically served by the webserver
# (could also be a non-toplevel dir)
mv viewerjs-0.5.2/ViewerJS htroot

Now replace the “Would be nice to show it here.” in the example.html with this code (remove the REMOVEME, workaround to strange WordPress behaviour):

<REMOVEMEiframe id="viewer" src="/ViewerJS/#../example.odp" width='400' height='300' allowfullscreen webkitallowfullscreen></iframe>

(in the sources one line, as promised. But add line-breaks as you like ;) )

example.odp embedded with ViewerJSNow reload http://127.0.0.1:8000/example.html in your browser. And if everything worked out, you see the ODP file now embedded in the webpage, ready to be read or e.g. presented fullscreen.

Look again at the current time. How minutes did you need? :)

ODF or PDF

For publishing done documents that should be only read and not further processed, PDF is the better choice IMHO, because the format specifies the exact positioning of everything.
ODF (same with similar formats like OOXML) leaves the actual fine-layout to the program displaying/printing the document, which can differ between computer systems and setups, usually due to the used font engine. This makes sense, as it allows to create ODF files from code that has no clue about layout calculations, e.g. some Perl script generating a report. But it can result in frustrations if some document with manually optimized layout gets differently layout-ed elsewhere.

Thanks to PDF.js ViewerJS can also nicely display PDFs, so use whatever format suits the needs, be it preview of some document to further process or display of the final result.

Take a PDF file and change the above example to show that instead of the ODP file. Then try also with an ODT or ODS file.

Getting better week by week

The developers of WebODF are constantly enhancing its coverage of the ODF spec. See how the slides template for this year’s GUADEC (of course done in ODP :) ) are almost looking the same in LibreOffice and ViewerJS (v0.5.2):
GUADEC2015SlideDesign in LibreOfficeGUADEC2014SlideDesign in ViewerJS

Currently the Wiki hosting the GUADEC slide templates still has to say:

Current configuration does not allow embedding of the file lightning_talks.odp because of its mimetype application/vnd.oasis.opendocument.presentation

ViewerJS and WebODF hopefully can be a reason to change that soon :)

When giving talks about WebODF of course ODPs and ViewerJS are used. Knowing the pitfalls the slides can be done avoiding those. Still many real-life samples not designed for current WebODF capabilities are increasingly well displayed, also e.g.
050 in LibreOffice050 in ViewerJS
or
MCT in LibreOfficeMCT in ViewerJS

In general are ODF documents with only formatted text and images in SVG, PNG, JPEG or similar no problem for WebODF and thus ViewerJS. But as can be seen next, e.g. native ODF graphic elements are still a TODO (and the result not related to any censoring code ;) ). But, the display is already good enough for a “preview” :) :
DLP in LibreOfficeDLP in ViewerJS

BTW, if you are browsing a website that does not yet use ViewerJS to display ODF files embedded but only provides them as links, there is another WebODF-based option for Firefox users: the ODF viewer Firefox Add-on, that allows viewing ODF documents directly in Firefox on any device, without the need of a (big) office suite.

More on ViewerJS.org

Learn more about ViewerJS on the website ViewerJS.org, e.g. how to support non-embedded custom fonts. Discover the ViewerJS plugin for WordPress. Think about how you and your websites could make use of ViewerJS and how you could help to improve ViewerJS and WebODF, and then contact the ViewerJS and WebODF developers about that! They are looking forward to working together with you as well.


03:03, Monday, 28 July UTC

July 27, 2014

Nicolas Lécureuil (neoclust)

Some news about KF5

Things moved recently about kf5 in mageia. We had, since a long time, the framework part.

Now that the first stable release is out we packaged the desktop/workspace  release based on KF5.

Unfortunalty this can’t be co-installed in parallel of KDE4. For the moment ( not yet clean packages ) you have to follow those steps:

1- Remove  kdebase4-workspace ( this will remove a bunch of packages workspace dependant ( plasma applets, etc).
2- install plasma-desktop and plasma-workspace

3 restart your session and in your favorite DM go in KF5.

Keep in mind that those are experimental packages.

To report « packaging » bugs, please go to the Mageia Bugzilla

To report funcionnal bugs, please go to KDE Bugzilla

22:54, Sunday, 27 July UTC

Ivan Čukić (ivan)

Per-activity favourites in Kickoff

I’ve become overly lazy when writing blog posts is concerned. Maybe it is because I’m again working on the user-visible features, and it is much easier to just post a screen-shot or a screen-cast, than to actually write anything meaningful.

Per-Activity Favourites

It also gives the audience a chance to ask ‘does this mean that plasma will have …’ which sometimes brings wonderful ideas to life.

21:37, Sunday, 27 July UTC

KDE Dot News

First Okular Sprint ever at Barcelona

In May a group of three Okular developers met for four days at the Blue Systems Barcelona office to hack on the KDE universal document viewer.

Okular 2014 sprint group picture
Albert Astals Cid, Luigi Toscano and Fabio D'Urso

The first day the team triaged a lot of bugs resulting in a nice drop of unconfirmed bugs. There are still a lot of UNCONFIRMED items in that chart, almost all of them are wishes that we didn't know how to omit on the chart.

During the next days there were discussions about ideas and implementations, including:

  • Mimetype backend priority now that we have a txt backend that can open almost any file
  • Investigation about a printing regression regarding hardware margins in newer versions of CUPS
  • Removal of lots of widget code from backends
  • Idea of creating a command line okular2text application to test libokularcore which can be used in a gui-less environment.
Albert  talking about the workflow for saving documents
Albert talking about the workflow for saving documents

We decided that when porting to KF5 we will aim to have libokularcore be dependent on QtGui but not on QtWidget.

The most important item we discussed was how Okular saves file data. The proposal is to never autosave, making Okular act more like an editor. This has implications for bringing up old autosaved content if autosave was not used any more. By the end of the last day, we think we developed what seems a good plan. Now we only need time to code it ;)

Dot Categories:

21:07, Sunday, 27 July UTC

KDE Dot News

2014 Calligra Sprint in Deventer

From the fourth to the sixth of July, the Calligra team got together in sunny Deventer (Netherlands) for the yearly developer sprint at the same location as the last Krita sprint. Apart from seeing the sights and having our group photo in front of one of the main attractions of this quaint old Dutch town in the province of Overijssel, namely the cheese shop (and much cheese was taken home by the Calligra hackers, as well as stroopwafels from the Saturday market) we spent our time planning the future of Calligra and doing some healthy hacking and bug fixing!

Calligra 2014 sprint group picture
Jos van den Oever, Thorsten Zachmann, Arjen Hiemstra, Jigar Raisinghani,
Friedrich Kossebau, Dmitry Kazakov, Jaroslaw Staniek, Boudewijn Rempt (left to right)

What's coming

For Calligra, we've been planning the next release: Calligra 2.9, which is planned for December. It will be the last release based on Qt4. We're a bit slow in porting to Qt5 and KDE Frameworks 5, because we still have the scars of the port to Qt4, which took years... This release will be pretty much Calligra as you know it, with all the bits intact.

So then, after 2.9, we're planning to do a proper port to Qt5 and KF5, using Frameworks where appropriate. In early January, we'll lock down the repo, send everyone on vacation while the porting scripts run. When every script has ran, and everything builds again, we'll start properly porting Calligra. We expect to be able to release Calligra 3.0 end of March, so that's a three month release cycle.

We need help!

Here's a bit of serious news, though: parts of Calligra are essentially unmaintained. Applications like Karbon or Plan, which have a long pedigree and have been around for ages, have not seen any development for over a year -- or more. These applications are still unique, have lots and lots of promise... But for Calligra 3.0, this means that we'll disable those applications from the build after the initial automated port. And it's up to volunteers to re-enable them, fix all porting issues and take up maintainership!

Frameworking

As for the Calligra libraries, we've long felt that some of them could do with a wider exposure. There are libraries for handling property bags and showing them in a gui, there are libraries for loading vector images, for handling OpenDocument. We've got a library for handling color management, too. Right now, the libraries are tangled together, and it would be good to split them up again.

We did that once before, but the split was undone during the KOffice 2 development process. Revisiting it right now isn't an option for lack of manpower. However, especially the vector image library might make a good addition to the KDE Frameworks, with a bit of work on API, documentation and so on. We want to get down to that during the port to Qt5.

Translation

Finally, Dmitry has been working with the Russian translation team to iron out some kinks in the translation process. In particular, undo strings are difficult in a language like Russian that uses a different (grammatical) case in different contexts. He has created a version of the undo library that forces developers to provide the proper context. We also discussed more long-term plans to make it easy to see the strings that need to be translated in the context of the gui -- as well as trying to create tools that make it easier to add new tooltips and other helpful strings.

All in all, the get-together was very fruitful. We now have a pretty good plan for 2014 and 2015 and know where we want to go. Planning and setting directions matters: it motivates the current developers and makes clear to potential contributors where things are going and where they can chime in.

Dot Categories:

21:03, Sunday, 27 July UTC

Adriaan de Groot (adridg)

Off the bike again

Welp, summer vacation is over again, cycled from Nijmegen south.

At the outset I said “we’ll go south till we have to speak French, and then turn around”, which meant “until Luik / Liége”. Didn’t make it that far, for the simple reason that campgrounds that are compatible with a family of cyclists with a tent are rare in that area.
Instead, we cycled through Belgian Limburg, across Dutch Limburg from Maastricht to Vaals, and then back up north to Venlo. I would show a map (as I did last year with Marble), but I did my GPS logging with My Tracks on Android this time, and I’d have to spend too much time mucking about to get the data off the device for processing.
Last year we rode 440km of completely flat Friesland and Groningen. This year there were hills (the Dutch Mountains!), and we weren’t sure how the kids would fare in more challenging terrain. We needn’t have worried. Mira’s “hey dad, let’s bike up the tallest mountain in the Netherlands” (322m above sea level, rising from Vaals at 160m, so this is not Tour de France material yet) was later followed by Amiel’s “hey dad, I want to ride 100km on the last day”. He’s nine years old and it took us from 10:30am to 9:00pm, but we got to the train station at Venray with 99.98km on the meter (and another 3km to go after we got off the train in Nijmegen).
Still got a few days off from work-work, so I’ve decided to pick up some KDE-FreeBSD stuff again, and Tupi in particular.

09:39, Sunday, 27 July UTC

Baltasar Ortega

Lanzado Owncloud 7, mejoras para administradores

En estos tiempos que corren no hay nada mejor que tener tus archivos sincronizados en tu PC y con un servicio de almacenamiento en la nube. Las razones son variadas: por si tienes algún problema de hardware, para tenerlos sincronizarlos on otros dispositivos, para compartirlos con otras personas, etc. Ya hay muchos servidores online que [&hellip

08:10, Sunday, 27 July UTC

Laurent Montel (mlaurent)

What’s new in kf5 porting script (convert-ktemporaryfile.pl and co :) )

I continue to write some scripts:

  • convert-ktempdir.pl. It will allow to port from KTempDir to QTemporaryDir
  • convert-ktemporaryfile.pl. It will allow to port from KTemporaryFile to QTemporaryFile
  • convert-qt-os-macro.pl. Q_WS_* was replaced by Q_OS_*
  • convert-kmd5.pl. Now we use QCryptographicHash(QCryptographicHash::Md5)
  • convert-kdoublenuminput.pl. It converts from KDoubleNumInput to QSpinBox

And there was some fix in other scripts.

I will continue to create new script.

05:55, Sunday, 27 July UTC

July 25, 2014

KDE Dot News

KDE Ships Third Beta of Applications and Platform 4.14

KDE has released the third beta of the 4.14 versions of Applications and Development Platform. With API, dependency and feature freezes in place, the focus is now on fixing bugs and further polishing. Your assistance is requested!

A more detailed list of the improvements and changes will be available for the final release in the middle of August.

This third beta release needs a thorough testing in order to improve quality and user experience. A variety of actual users is essential to maintaining high KDE quality, because developers cannot possibly test every configuration. User assistance helps find bugs early so they can be squashed before the final release. Please join the 4.14 team's release effort by installing the beta and reporting any bugs. The official announcement has information about how to install the betas.

Dot Categories:

19:36, Friday, 25 July UTC

Martin Gräßlin

A KDecoration2 update

Before heading into the weekend I thought about writing a small update about the KDecoration2 status. Since my last blog post I started integrating KDecoration2 into KWin. This was partially easier and partially more difficult than anticipated. Especially ripping out the old decoration code is rather complex. There are quite some design differences which make the transition complex and especially values inside KWin core are using enums defined in the decoration API – e.g. the maximized state is kept as a KDecorationDefines::MaximizedMode. This will need further work to move the enums and so at the moment the old decoration library is still compiled although the library is no longer in use.

Ah that means there is code? Yes, today I pushed the branch as “graesslin/kdecoration2″ into kde:kwin git repository. To give it a proper try you also need the kde:kdecoration (master branch) and kde:breeze also on “graesslin/kdecoration2″ branch. The new decoration API is working quite well and I’m rather satisfied. The memory usage of KWin dropped significantly. In a previous report I mentioned that KWin needs around 200 MB, right now my KWin only needs around 40 MB, the number of open windows is a little bit smaller, but still it shows in the right direction. And that’s without any optimisations. There is still some optimization potential in Breeze (check out our todos, all purple tasks are in Breeze) and in KWin (red tasks). Also a nice improvement is that the window decoration no longer flickers when resizing the window. This is a rather big annoyance of KWin 5.0. I expected that the new API would fix this issue, but seeing it confirmed is really nice :-)

Last but not least the restart of KWin got faster which is a nice improvement for KWin developers, for users it’s not that important. The reason for this is that when we enabled/disabled compositing we recreated the window decorations. So when restarting KWin we first created all windows with their decoration before enabling compositing to just destroy them and create them again (yes it would have been possible to improve it, but it doesn’t hit users). Now with the new API there is no need to recreate the decoration. Only a Renderer is exchanged, but the rendering is delayed till it’s needed.

This screen shot does not only show the new Breeze decoration, but also some new features: when quick tiling a window the borders cornering the screen edges are removed. Also in the preview application one can see that the decoration scales which is nice for high-dpi screens. The decoration API follows the approach Plasma is using.

I have been running a KWin with the new decoration API since Monday, which means we are close to start the review process. But there’s of course still work to be done and I’d appreciate any help. The window tab API is not yet implemented, the configuration module needs adjustments to load and render the new deco and most important we have to port the existing decorations like Oxygen, Aurorae, deKorator and QtCurve. For the last three I want to improve the theme experience by allowing the plugin to say that it supports themes directly in the JSON meta data and point to where to find them. So the configuration module can just show all of them. The trick will be to pass the to be used theme to the factory method (we have a nice QVariantList there which can be used). Also the meta data will make it possible to point to GHNS configuration files so that we can not only download Aurorae themes from the configuration module, but also other themes.

16:49, Friday, 25 July UTC

Vedant Agarwala (vedu)

Another report

As I make progress on my project, I learn just as all gain is not monetary not all progress is code.

From the time of my last report (Sorry Myriam since it was more than a week ago), I have not written any "pushable" code i.e. only some code has been changed that serve as markers (like a TODO) for future work or some really minor bugs fixed that I stumbled upon as I use my flavor of Amarok.

Anyway, I was going through the collectionscanner code, trying to understand how it works: it as another process that the main Amarok process communicates with. It is designed to go through files and directories and mark files that are useful to Amarok. Like .mp3 , .ogg , etc. I am thinking to add .lrc to this list. For this I will have to create a class whose instance would represent an lrc file.

After this I will need to add these lyrics to the Amarok database. I still haven't been able to decide should I make this change in the generic core/collections/Collection.cpp class or the core-impl/collections/SqlCollection.cpp class. When this is over, I will just have to save the lyrics as lyrics tag and the LyricsApplet will pick it up.

14:02, Friday, 25 July UTC

Kubuntu News

Kubuntu 14.04 LTSUpdate Out

The first update to our LTS release 14.04 is out now. This contains all the bugfixes added to 14.04 since its first release in April. Users of 14.04 can run the normal update procedure to get these bufixes.

See the 14.04.1 release announcement.

Download 14.04.1 images.

10:35, Friday, 25 July UTC

Sebastian Kügler (sebas)

Plasma’s Road to Wayland

Road to WaylandWith the Plasma 5.0 release out the door, we can lift our heads a bit and look forward, instead of just looking at what’s directly ahead of us, and make that work by fixing bug after bug. One of the important topics which we have (kind of) excluded from Plasma’s recent 5.0 release is support for Wayland. The reason is that much of the work that has gone into renovating our graphics stack was also needed in preparation for Wayland support in Plasma. In order to support Wayland systems properly, we needed to lift the software stack to Qt5, make X11 dependencies in our underlying libraries, Frameworks 5 optional. This part is pretty much done. We now need to ready support for non-X11 systems in our workspace components, the window manager and compositor, and the workspace shell.

Let’s dig a bit deeper and look at at aspects underlying to and resulting from this transition.

Why Wayland?

The short answer to this question, from a Plasma perspective, is:

  • Xorg lacks modern interfaces and protocols, instead it carries a lot of ballast from the past. This makes it complex and hard to work with.
  • Wayland offers much better graphics support than Xorg, especially in terms of rendering correctness. X11′s asynchronous rendering makes it impossible to be sure about correctness and timeliness of graphics that ends up on screen. Instead, Wayland provides the guarantee that every frame is perfect
  • Security considerations. It is almost impossible to shield applications properly from each other. X11 allows applications to wiretap each other’s input and output. This makes it a security nightmare.

I could go deeply into the history of Xorg, and add lots of technicalities to that story, but instead of giving you a huge swath of text, hop over to Youtube and watch Daniel Stone’s presentation “The Real Story Behind Wayland and X” from last year’s LinuxConf.au, which gives you all the information you need, in a much more entertaining way than I could present it. H-Online also has an interesting background story “Wayland — Beyond X”.

While Xorg is a huge beast that does everything, like input, printing, graphics (in many different flavours), Wayland is limited by design to the use-cases we currently need X for, without the ballast.
With all that in mind, we need to respect our elders and acknowledge Xorg for its important role in the history of graphical Linux, but we also need to look beyond it.

What is Wayland support?

KDE Frameworks 5 apps under Weston

KDE Frameworks 5 apps under Weston

Without communicating our goal, we might think of entirely different things when talking about Wayland support. Will Wayland retire X? I don’t think it will in the near future, the point where we can stop caring for X11-based setups is likely still a number of years away, and I would not be surprised if X11 was still a pretty common thing to find in enterprise setups ten years down the road from now. Can we stop caring about X11? Surely not, but what does this mean for Wayland? The answer to this question is that support for Wayland will be added, and that X11 will not be required anymore to run a Plasma desktop, but that it is possible to run Plasma (and apps) under both, X11 and Wayland systems. This, I believe, is the migration process that serves our users best, as the question “When can I run Plasma on Wayland?” can then be answered on an individual basis, and nobody is going to be thrown into the deep (at least not by us, your distro might still decide to not offer support for X11 anymore — that is not in our hands). To me, while a quick migration to Wayland (once ready) is something desirable, realistically, people will be running Plasma on X11 for years to come. Wayland can be offered as an alternative at first, and then promote to primary platform once the whole stack matures further.

Where at we now?

With the release of KDE Frameworks 5, most of the issues in our underlying libraries have been ironed out, that means X11-dependent codepaths have become optional. Today, it’s possible to run most applications built on top of Frameworks 5 under a Wayland compositor, independent from X11. This means that applications can run under both, X11 and Wayland with the same binary. This is already really cool, as without applications, having a workspace (which in a way is the glue between applications would be a pointless endeavour). This chicken-egg situation plays both ways, though: Without a workspace environment, just having apps run under Wayland is not all that useful. This video shows some of our apps under the Weston compositor. (This is not a pure Wayland session “on bare metal”, but one running in an X11 window in my Plasma 5 session for the purpose of the screen-recoding.)

For a full-blown workspace, the porting situation is a bit different, as the workspace interacts much more intimately with the underlying display server than applications do at this point. These interactions are well-hidden behind the Qt platform abstraction. The workspace provides the host for rendering graphics onto the screen (the compositor) and the machinery to start and switch between applications.

We are currently missing a number of important pieces of the full puzzle: Interfaces between the workspace shell, the compositor (KWin) and the display server are not yet well-defined or implemented, some pioneering work is ahead of us. There is also a number of workspace components that need bigger adjustments, global shortcut handling being a good example. Most importantly, KWin needs to take over the role of Wayland compositor. While some support for Wayland has already been added to KWin, the work is not yet complete. Besides KWin, we also need to add support for Wayland to various bits of our workspace. Information about attached screens and their layout has to be made accessible. Global keyboard shortcuts only support X11 right now. The screen locking mechanism needs to be implemented. Information about Windows for the task-manager has to be shared. Dialog positioning and rendering needs to be ported. There are also a few assumptions in startkde and klauncher that currently prevent them from being able to start a session under Wayland, and more bits and pieces which need additional work to offer a full workspace experience under Wayland.

Porting Strategy

The idea is to be able to run the same binaries under both, X11 and Wayland. This means that we (need to decide at runtime how to interact with the windowing system. The following strategy is useful (in descending order of preference):

  • Use abstract Qt and Frameworks (KF5) APIs
  • Use XCB when there are no suitable Qt and KF5 APIs
  • Decide at runtime whether to call X11-specific functions

In case we have to resort to functions specific to a display server, X11 should be optional both at build-time and at run-time:

  • The build of X11-dependent code optional. This can be done through plugins, which are optionally included by the build-system or (less desirably) by #ifdef’ing blocks of code.
  • Even with X11 support built into the binary, calls into X11-specific libraries should be guarded at runtime (QX11Info::isPlatformX11() can be used to check at runtime).

Get your Hands Dirty!

Computer graphics are an exciting thing, and many of us are longing for the day they can remove X11 from their systems. This day will eventually come, but it won’t come by itself. It’s a very exciting time to get involved, and make the migration happen. As you can see, we have a multitude of tasks that need work. An excellent first step is to build the thing on your system and try running, fix issues, and send us patches. Get in touch with us on Freenode’s #plasma IRC channel, or via our mailing list plasma-devel(at)kde.org.

02:28, Friday, 25 July UTC

July 24, 2014

Daniel Nicoletti (dantti)

Cutelyst 0.3.0 is now C10K ready!

Release early, release often has never been my strength especially since I don’t do a fair scheduling of all the projects I’m involved…

So since I was in need to better polish Cutelyst I took more time on it, and the result is great, around 100% speed up and a few new features added.

Cutelyst uWSGI plugin now has support for –thread, which will create a QThread to process a request, however I strongly discourage its usage in Cutelyst, the performance is ~7% inferior and a crash in your code will break other requests, and as of now ASYNC mode is not supported in threaded mode due to a limitation in uWSGI request queue.

Thanks to valgrind I managed to make a hello world application from 5K request per second on 0.2.0 to 10K req/s on 0.3.0 on an Intel Core2Duo 2.4Ghz (or 44K req/s on an AMD Phenom II 965 x4 3.4Ghz), however if you enable Grantlee templating you get around 600 req/s so if I happen to have time I will be looking into improving its performance.

Response::body() is now a QIODevice so you can set a QFile* of something else and have Cutelyst to send it back.

Now http://cutelyst.org points to a gitorious Wiki which is slowly getting populated, and API is available as http://api.cutelyst.org.

The 0.3.0 tarball can be downloaded here

Have fun :)


23:18, Thursday, 24 July UTC

Denis Steckelmacher (steckdenis)

Node.js support in KDevelop

This is a quick blog post to say that I’m working on support for the Node.js framework by the KDevelop QML/JS language plugin. The first part of my work is already finished: “require” is properly recognized and Node.js modules are properly looked-up and included. The “exports” and “module.exports” identifiers are also recognized and allow Javascript files to export symbols and to be used as modules. This means that you can now edit Javascript files using Node.js and have most of the modules recognized, included and parsed.

The second part is writing huge Javascript files for the built-in Node.js modules. “http”, “buffer”, “fs”, “url” and many other modules exist only as part of Node.js. There are Javascript files for them in the Node.js Git repository, but these files don’t allow the QML/JS plugin to infer the types of the methods. They are also fairly big and would need a big cleanup in order to be fast enough to parse.

As with ECMAScript, I solve the problem by shipping with QML/JS stripped down versions of those files. These files describe the classes, methods and attributes of each module, and follow a very simple format. This code is not designed to be run, only to be parsed by the QML/JS plugin, that will discover the types of the function parameters and their return type.

1
2
exports.spawn = function (command, args, options) { return new exports.ChildProcess(); };
exports.spawn("", [], new Object());

Writing all these files is tiring and will take some time (in fact, I’m writing them for a bit more than one day, now). So, there may be fewer commit than usual in the QML/JS repository, but I hope that this feature will serve many users. Here is a teaser of what is coming (note that functions are now listed in a way more human-friendly form):

Node.js support on KDevelop

Once this feature is finished, I will concentrate my efforts on the QML code-completion. I’ll also experiment with the KDE Frameworks 5 (and the KF5 version of KDevelop), because I’d like to offer a KF5 version of the QML/JS plugin. The reason is twofold: Qt5 offers the wonderful QtQuick.Controls module (it will allow me to implement many navigation widget, that will assist the users in choosing a font family, configuring and previewing animations, etc), and early KF5/Plasma5 adopters may be well pleased to be able to use the latest and greatest KDevelop on their latest and greatest environment, while still being able to work on QML and Javascript files.

UPDATE: Here is an additional screenshot that shows that child_process.ChildProcess is correctly recognized, and that it correctly inherits from event.EventEmitter (you see that addListener is in the list), which in turn inherits from Object (there is an “assign” method at the very bottom of the list). Having all of this working was a bit more difficult than expected, but now function prototypes and class inheritance seem to work.

Correct class inheritance

22:00, Thursday, 24 July UTC

Jens Reuterberg (jensreuterberg)

A wild "monday" report appears …

Arguably our insanely-coolest member, Philipp Stefan contributed this "monday" report.

Yes, it has been some time since the last entry, but with the Plasma 5 release and Jens’ busy work schedule there hasn’t been much time for him to write one, unfortunately. I hope I can keep you up to date more regularly from now on. So let’s dive right in:



What’s being worked on

The work on revisiting and expanding the Human Interface Guideline on tooltips has begun. If there’s something that has always bothered you about how tooltips in KDE Applications and Plasma look and feel consider to join in. The work is still in its early stages, so now would be the best time to voice your concerns. [https://forum.kde.org/viewtopic.php?f=285&t=121892]


Martin Gräßlin has started to work on a new window decoration API for KWin and is also working to port the Breeze window decoration to C++. This should bring the necessary performance boost to make Breeze the default window theme in future releases. We can also expect one feature many love in Oxygen to be present in the new Breeze implementation: window tabs. The awesome community member EraX has stepped up and made some mockups of how window tabs could look like in Breeze.


If you have other ideas and feedback, consider to chime in!
Additionally Martin has created some tasks you can take up to help us out porting Breeze to C++. Take a look at Martin’s blog post for more information [http://blog.martin-graesslin.com/blog/2014/07/kdecoration2-the-road-ahead/]


Behind the scenes Jens Reuteberg and Heiko Tietze has started to collect information for animation guidelines. If you have an expertise in this area or are just generally interested and want to help us out try to contact them. [https://forum.kde.org/viewtopic.php?f=285&t=121993]


We migrated to KDE’s new todo-board infrastructure, todo.kde.org. It’s really nice having everything consolidated in one place and accessible with one’s KDE-Identity account. In future we also hope to migrate away from Google Docs and Hangouts. We have been looking into something like an OwnCloud installation to create, share and store documents. Nothing is written in stone though and frankly we’ve got more important things to do right now.  


What has been overlooked

We have noticed that the participation rate in the VDG forums has plummeted and only a small core has remained, which are doing awesome work! It has to be expected that participation rates decline at the end of every release cycle, when all the work gets finalized there’s not much to be discussed after all. Nethertheless, we’d like to recreate the same experience we had with the KMyMoney, the window decoration, the widget and the cursor theme.
We identified several causes that could have contributed to the decline in participation:
  • Back then the VDG forum was new – people simply got disinterested over time
  • The VDG hasn’t communicated as much as in the beginning – the process became less transparent
  • There has not been as much guidance in where to start helping out as in the beginning
We try to address these issue better from now on. We have reorganized ourselves a bit, so you can expect more blog entries from more VDG members in future. We also intend to open new “challenges” (not in the sense of a contest) at the beginning of each release cycle where the community can participate in.
Please tell us if you have ideas how we can foster a more vibrant design community in KDE, critique happily appreciated.
We also have a thread in the forums about a related issue. If you feel the same way consider to leave a comment.

Overall I can only encourage you to browse the VDG forum. There are many interesting threads that could need some community love.

19:32, Thursday, 24 July UTC

Christoph Cullmann (cullmann)

Kate “master” branch now KF5 based!

Hi,

from today on, the master branch of kate.git is KF5 based.

That means, for the next KDE applications release after 4.14, Kate will use the awesome KF5 stuff!

The KTextEditor framework is already in a good shape and most active KatePart development is since months pure KF5 based.

The same should now be true for Kate itself (and KWrite).

Pâté will need a lot of love, as PyQt5 is there, but PyKDE5/PyKF5 still in the works.

Happy hacking, help us to make KF5 based Kate awesome, too.

For 4.14: keep fixing bugs, but all new shiny stuff that might regress things really should only go into our KF5 based master branch!

18:18, Thursday, 24 July UTC

Older blog entries