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.

To have your blog added file a bug in Bugzilla listing your name, svn 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.

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

  • svn checkout svn+ssh://@svn.kde.org/home/kde/trunk/www/sites/planet/
  • Put your hackergotchi in website/hackergotchi/. A hackergotchi should be a photo of your face smaller than 80x80 pixels with a transparent background. svn 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
  • svn commit

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.

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

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

Microblogging from KDE

June 17, 2013

Krita News

Muses (Delayed)

As we announced in the tittle, Muses project will be delayed until September. But there is one good new for those who have done the pre-order.

The people who has done the pre-order will have a compensation: A signed drawing in B/W in pencil (A4), private tutoring during the delay time via email (you can ask questions, doubts, and advices from Ramon Miranda of how improve your artworks) and the last, is a personal interview with him.

Here is the video where he explains it, you can see the screenshots of the project starting from minute 3.05.

18:11, Monday, 17 June UTC

Denis Steckelmacher (steckdenis)

More and simpler patterns

Yesterday, I continued my work on the Nepomk Query parser (currently out of tree, available here), and I have enhanced several aspects of it. My aim was to have it clean and powerful enough to be able to parse completely the example query I gave in this entry. Even thought I’m not quite there yet, most of the query can already be parsed.

Regular expressions and unit splitting

The first two modifications of yesterday are ones I talked about in my previous blog entry.

Sometimes, matching exact words in rules is not enough. For instance, you may want to match words that can be in singular or plural form. In English, this is simple (just duplicate the pattern and write one in the singular form, the other in the plural form), but other languages have declinations or complex word forms.

The philosophy of the parser here is to match everything the user wants to be matched, even if it is a mistake. For instance, there is no need to reject queries having plural and singular forms interleaved, as they may be typos or the user just made a mistake.

The syntax of these regular expressions is simple : everything that is not a placeholder in a pattern is a regular expression, so “sent by %1” contains two very simple regexps, and “%1 (th|rd|nd) of %2” contains a more complex one.

Another modification of the parser was needed due to the fact that units can be part of an integer, or be separate from it. For instance, I can write “3GB” or “3 GB”. I don’t know if only one of these spelling is correct in English, but the parser has to handle the two as other language could even swap the unit and the number, or put words in-between them.

A special parser pass now separates units from numbers. The locale provides a list of suffixes/prefixes (they are matched at the two ends of a number). Currently, the English locale provides the standard file-size units (MiB, GiB, etc), the base-10 version of them (used by Windows, this is MB, GB, KB, etc), and ordinal suffixes (th, rd, nd). These units are matched case-insensitively. When a number is followed by or prefixed with one of these words, the word is split apart. “3GB” becomes “3 GB”.

Comparison operators

When I started to think about this parser, I wanted each value (a name, a number, everything that is not a property name) to have a type hint. If I enter “3GB”, I want to match a file size. If I enter “#something”, I want to match documents that are tagged as something.

The problem is that the Nepomuk classes I use (the ones in Nepomuk2::Query, that are very well designed by the way) do not allow me to store arbitrary type hints into value. Sure, if the value is a constant, I know that it is a string, an integer or a date, but nothing more precise.

The solution I am currently experimenting with is to replace values with comparisons. Plain strings and integers remain literal values (constants), but things like “3GB” become comparisons. The property which is compared to the value is the type hint, and the operator is the equality. So, “3GB” is parsed to “nfo:fileSize=3GB”.

Now, the default property or the operator may be wrong. The operator can be modified using the PassComparators pass. Patterns like “less than %1” are matched, and if “%1” is a comparison term, its operator is changed to the correct value. If “%1” is a literal value, a new comparison is created. Its value is the literal term, its operator is the one corresponding to the pattern, and its property is null.

The parser is therefore able to parse “> 3KB” to nfo:fileSize>3000, and when dates will be implemented, “mails sent before June 13” will produce the expected query.

Simpler pattern language

You may remember that my previous blog post presented a pattern language that was fairly complex (it was also complex to parse). Patterns were made of words, separated by spaces, that could be literals to be matched exactly or placeholders. A placeholder was like “term0”, “string1”, etc.

The first modification was to match literals not exactly but using regular expressions. The second one was to simplify the placeholders.

When I write new parsing passes, I know exactly what kind of terms I want to match. Me, as a developer, I know that the first term matched must be a string, and the second one can be anything (“term1”). If one of these placeholder is changed, the parsing pass may cease to work correctly.

So, I thought that translators do not have to (and must not) change the placeholder type. They just need to reorder them if needed and to put words between them. They are only interested in their position, not their meaning. I therefore replaced the complex matching syntax with simple numbers prefixed with a percent, like the ones you use with QString::arg. Now, “sent by ” becomes “sent by %1”.

Matching properties

In order to experiment the architecture of the parser, I wrote a small parser pass that recognizes “sent by X” and changes that to nmo:messageFrom=X. Yesterday, I wanted to add more properties, and I noticed that every parser pass would be the same, except that the property matched would be different. All the work is done by the pattern matcher.

So, I replaced the “sent by” pass with a more general “property” one. This avoids code duplication and allows to quickly add patterns for new properties. No need to write a pass, just add a line like this in parser.cpp:

1
2
3
4
d->pass_properties.setProperty(
    Nepomuk2::Vocabulary::NMO::messageSubject());
progress |= d->runPass(d->pass_properties,
    i18nc("Title of an e-mail", "(en)?titled? %1;title is %1;%1 as title"), 1);

The pattern in this example seems awkward, but allows the parser to match “mails having Foo as title”, “documents entitled Foo”, “file whose title is Foo”, etc. This complex pattern shows all the features of the pattern matcher, and is normally not too difficult to translate. The semicolon separates independent rules of the same pattern. I changed the pipe separator to a semicolon because the pipe can now be used in regular expressions.

All in all, the parser is advancing, and even if it is still an experiment, it seems that its architecture is not too bad for what I want to do. In the coming days, I will implement nested queries (explicitly enclosed in parenthesis by the user, or matched by patterns like “related to … ,” the comma being an indicator of the end of the subquery, like in “documents related to mails sent by Jeff, and having a size smaller than 2MB”), and the actual production of the Nepomuk query (Nepomuk2::Query::Query, a very powerful and well-designed class by the way).

Another thing I want to do is to have a mean to get metadata about properties. The most interesting one is their range. For instance, if I enter “mails sent by X”, I must know that X has to be a nco:PersonContact. One general solution would be to maintain a database of metadata about properties (I know that Nepomuk already does that, but uses queries to the Nepomuk server in order to retrieve the properties, this may be a bit too slow for being used by the parser). Another one would simply to hard-code the metadata into the PassProperties::setProperty method calls.

I also need to think about the auto-completion and syntax-highlighting. The syntax-highlighting only requires that terms have a positional information (to be able to match parsed terms to positions into the input query), but the auto-completion needs the pattern matcher to be able to partially match patterns (and to report what was expected at the location of the cursor), and will use the property ranges to show nice drop-down lists (if I enter “mails sent by”, I will see the list of my contacts).

13:58, Monday, 17 June UTC

Peter Grasch

You pick, I work: Dictation, Assistant or Translator?

A little while ago, I mentioned that I'll be giving a talk about the current state of open source speech recognition at this years Akademy.
As part of that talk, I want to show off a tech-demo of a moonshot use case of open source speech recognition to not only demonstrate what is already possible, but also show off the limits of the current state of the art.

So a couple of days ago, I asked what application of speech recognition technology would be most interesting for you, and many of you responded. I extracted the three options that broadly cover all suggestions: Dictation (like Dragon Naturally Speaking), a virtual assistant (like Siri) and simultaneous translation (like Star Trek's universal translator).

You now get to pick one of those three from the poll below.

After the poll closes (a week from now), I'll take the idea that received the most votes and devote about a week to build a prototype based on currently available open source language processing tools. This prototype will then be demonstrated at this years Akademy.

Happy voting!

Tags:

Poll: Dictation, Assistant or Translator?

13:43, Monday, 17 June UTC

KDE Dot News

Volunteer at Akademy 2013 in Bilbao

Dot Categories:

Are you attending Akademy 2013 in Bilbao? Do you want to get something special out of your Akademy experience?

Be a volunteer. The Akademy Team needs motivated people who are passionate about Free and Open Software, especially KDE, one of the foremost communities of any kind in the world. There is a variety of tasks to fit with diverse interests and skills.

13:39, Monday, 17 June UTC

Baltasar Ortega

Jornadas de Software Libre en la UNED de Vila-real: Arduino++

Como he ido hablando en el blog, la UNED de Vila-real ha organizado un ciclo de conferencias sobre Software y Hardware Libre en su centro.

Ya estamos al final del curso y nos quedan un par de jornadas: el taller de Arduino++ del 26 de junio  y la Fiesta de Lanzamiento de KDE 4.11 del 24 de julio.

Pero centrémonos en el taller de Arduino, un taller de 3 horas para aquellas personas que ya tengan algo de conocimiento sobre Arduino, aunque las que no sepan nada también están bienvenidas.

A continuación, el cartel que nos da casi toda la información de la jornada.

poster_conferencies_lliures_11

Para los no entiendan el castellano:

Important!

ARDUINO++; Conectando cosas con Arduino

Ya tenemos nuestro Arduino y hemos ido a uno o varios workshops de introducción, pero todavía no tenemos claro qué podemos/queremos hacer con este aparato. En este taller, se abordarán conocimientos sobre sensores y actuadores para que la experiencia con Arduino (y la electrónica en general) sea lo más amplia posible.

Cada uno de los asistentes deberá contar con los siguientes materiales: *Ordenador; Portátil o equipo de sobremesa, no importa Sistema Operativo. *Placa Arduino y cable USB para su conexión con el ordenador. *Kit workshop de componentes.
También se puede asistir como oyente a la charla, aunque para la realización de ejercicios sería necesario al menos llevar un ordenador.

Se recomienda confirmar asistencia (para controlar el número de asistentes y buscar la mejor aula) en la secretaria de la UNED 964 52 33 61.

Más información: Uned Vila-real

Día: 26 de Julio

Hora: 17:00

Lugar: Aulas UNED de Vila-real

¡Os esperamos!

09:00, Monday, 17 June UTC

Luca Beltrame (einar77)

4.11 beta 1 packages available for openSUSE 12.3

As a consequence of the recent changes in the repositories, the openSUSE KDE team is happy to announce the availability of packages containing the first beta of the KDE Platform, Workspaces and Applications 4.11. 

Packages are available in the KDE:Distro:Factory repository. As it is beta software, it may have not-yet-discovered bugs, and its use is recommended only if you are willing to test packaging (reporting bugs to Novell’s bugzilla) or the software (reporting bugs directly to KDE). For specific queries on the 4.11 beta not related to specific openSUSE packaging, use the KDE Community Forums 4.11 Beta/RC area
Have a good test!

05:50, Monday, 17 June UTC

Henry de Valence (hdevalence)

Coordinate Systems in KStars

This post describes a few of the coordinate systems that KStars uses to keep track of the positions of various astronomical objects, and how they relate to one another.

All of the points used in KStars can be thought of as lying on a sphere, because it really makes no difference how far away a sky object like a star is – we only care about the direction. We can then imagine that these points “live” on the celestial sphere, an imaginary sphere surrounding the Earth. The problem of rendering a map of the night sky is then the problem of figuring out how to transform this sphere onto the screen.

Horizontal Coordinates

Horizontal coordinates are defined strictly relative to the observer. We usually use two angles, the altitude, which measures the angle from the point to the horizon, so that 90° is straight up, 0° is on the horizon, and -90° is straight down, and the azimuth, which measures the angle eastward from the north direction to the direction of the point.

Equatorial Coordinates

There are two important lines on the celestial sphere that we’ll use to define our coordinate systems. The first is the celestial equator, which is just the Earth’s equator, extended outwards and projected onto the celestial sphere. The second is the ecliptic, which is the intersection of the Earth’s orbital plane with the celestial sphere. Since the Earth’s axis is tilted, these two lines are distinct, and they intersect at two points, as seen in this drawing:

Equator and Ecliptic

From the point of view of the Earth, the Sun travels along the ecliptic. When the ecliptic intersects the equator, it means that the Sun is directly above the equator, so night and day have the same length everywhere on earth. Thus, these points are the spring (vernal) and fall (autumnal) equinoxes.

The equatorial coordinate system describes a point p in terms of its relation to the vernal equinox, usually by means of two angles, called right ascension and declination. The right ascension, RA or α, is the angle running eastward from the vernal equinox along the equator, while the declination is the angle from the object to the equator.

Wikipedia provides a nice summary in GIF format:

Equatorial Coordinates

J2000 and standard epochs

One thing to note about this system is that the Earth does not orbit the Sun perfectly. The Earth has precession and nutation, which are respectively a slow drift in the earth’s rotational axis and a slight, gradual wobbling motion. These motions cause the positions of the equinoxes to shift slightly, which means that the equatorial coordinates of even “fixed” objects vary over time, since they’re defined in reference to a moving point!

To solve this problem, astronomers agree on particular times (“epochs”) to reference their coordinates. The most common is the J2000 epoch, which is defined to be the equatorial coordinates of a point in reference to the vernal equinox at noon on January 1, 2000.

These coordinates have the time already specified, so we’re not missing any information, and we can use them in catalogs and databases.

As an example, the Andromeda galaxy currently has equatorial coordinates of RA = 00h 43m 29s, Dec = 41° 20’ 22“, but the catalog coordinates are RA = 00h 42m 44s, Dec = 41° 16’ 08”.

Ecliptic coordinates

Ecliptic coordinates are pretty similar to equatorial coordinates, but they’re defined in terms of the ecliptic plane, instead of the equatorial plane. We describe a point in terms of its ecliptic longitude, which is measured eastward from the vernal equinox, and its ecliptic latitude, which is the angle from the point to the ecliptic plane.

The same points about time dependence hold for ecliptic coordinates as well as equatorial coordinates, but in KStars we don’t store any data in ecliptic coordinates, so it’s not as important to define reference epochs for ecliptic coordinates.

Galactic coordinates

Finally, there’s the galactic coordinate system. This system places the Sun at the centre and uses the disk of the Milky Way to define the galactic equator. It describes a point in terms of its galactic longitude, measured eastward from the centre of the galaxy, and its galactic latitude, which is the angle to the galactic plane.

KStars doesn’t actually make use of these, but we have the ability to calculate them, and this is exposed to the user as part of KStars’ tools collection.

Converting between coordinate systems

A lot of the work that KStars does goes into converting between these coordinate systems. We have a lot of different types of objects, which are grouped into SkyComponents. Currently, KStars deals with the problem of different objects needing different calculations by making each sky object have its own class, with its own object-oriented code for computation. This is really, really, bad for performance in a lot of ways, because it has fragmented memory access patterns, a virtual function call for each point, and a lot of duplicated work.

Simplfying this requires carefully laying out what kinds of computation we do for each kind of sky object, which I’ll do in a future post. For now, I’ll just give a brief description of what goes into the conversion from one coordinate system to another.

To convert from horizontal coordinates to equatorial coordinates, we need to know the time and location of the observer. Going back to the description we had of the equatorial coordinate system, we have a (relatively) fixed sphere, with the earth rotating around inside. All we need to do is compute the rotation of the earth, and apply that rotation to all of the points we want to convert. (Interestingly enough, at the moment KStars computes this rotation for each point we want to compute, because we never compute multiple conversions at the same time). If we want to be very precise, however, we need to compute the effects of atmospheric refraction, which makes our points appear higher in the sky then they actually are.

As we noted, equatorial coordinates change over time due to the effects of precession and nutation. Converting equatorial coordinates in one epoch to another epoch requires computing the effects of precession and nutation. But there’s an extra complication there, too: we also need to compute the effects of aberration, which is caused by relativistic effects: the earth is moving around the sun, and this movement causes the apparent position of the stars to shift depending on the relative velocity of the earth to the star.

Converting from equatorial to ecliptic coordinates is a simple rotation, and we just need to know the angle between the Earth’s equator and the ecliptic plane. This varies over time, so we need to compute precession and nutation as before.

However, this isn’t the full story: some objects have extra calculations that need to be done, and we also want to be able to do these computations in a way that avoids trigonometry as much as possible. To be continued…

00:00, Monday, 17 June UTC

June 16, 2013

Alex Fiestas (afiestas)

Freedesktop Summit

A few days back I attended the first freedesktop summit/sprint where a few hackers from different free desktops met with the objective of working together. We were people from Razord-qt, GNOME, Unity and of course KDE.

Even though we did not had the chance to discuss all the topics I was specially interested in like Notifications or Session Inhibition I did had the chance to get involved in other topics that are equally interesting like the shared Desktop Files cache or the “Trash size cache” that will enable a cross desktop way of caching the size of the Trash folder getting better performance across desktops.

The social part of these kind of events is important as well, even though I already knew Ryan and David a week of working together makes the collaboration more smooth, and of course I also met new people as well like Lars, or Jeft.

I’m quite happy to have pushed together with Ryan this event, we definitively moved forward the collaboration between desktops and even though freedesktop is still far from being perfect I do believe we did a step into the right direction.

Can’t wait for the next Fd.o Summit.

21:56, Sunday, 16 June UTC

Mehrdad Momeny (mtux)

Choqok-devel mailing list

I’m pleased to announce that choqok development mailing list is up and ready (thanks to KDE sysadmins)

and from now on, we will talk about development stuff there. So I invite anyone who is interested to involve in Choqok development and contribute code, subscribe to choqok-devel mailing list.


Filed under: Choqok, PlanetKDE

15:53, Sunday, 16 June UTC

Baltasar Ortega

Lanzada la primera beta de KDE 4.11


KDE 4.11

Se acerca el 14 de agosto, la fecha en que tendremos entre nosotros al magnífico KDE 4.11, sucesor de KDE 4.10 y nuestra versión de KDE por mucho tiempo.

Para que este lanzamiento sea lo que todos esperamos el equipo de desarrolladores ya están lanzando sus versiones beta para realizar las pruebas y ajustar errores.

De esta forma, el pasado 13 de junio se lanzó la primera beta de KDE 4.11, lo cual supone que no se van a incorporar más novedades y que toda la comunidad de KDE involucrada en el desarrollo se va a centrar en la resolución de bugs, es decir, en dejar KDE 4.11 lo más libre de errores que sea posible.

411betascreenshotB

Entre las novedades que nos va a ofrecer KDE 4.11 nos encontramos (copiado y pegado del magnífico blog Ubunlog)

  • Qt Quick: Los espacios de trabajo de Plasma continúan siendo implementados en QML gracias a la magia de Qt Quick. Esto permite que los componentes del entorno sean más poderosos y estén mucho más integrados. Algunos de los elementos que hacen su debut en QML en esta versión son el administrador de tareas y el monitor de la batería.
  • Nepomuk: Este componente básico de KDE ha recibido una importante cantidad de mejoras que lo hacen casi ocho veces más rápido que en versiones anteriores. Además ahora funciona en dos pasos: primero extrae la información general (nombre, tipo de archivo) y después la información específica (etiquetas de archivos MP3, por ejemplo).
  • Kontact: La suite Kontact ha recibido también importantes mejoras, como un nuevo editor para la cabecera de los correos, detección contra fraudes y mejoras en el importador.
  • KWin y Wayland: En KDE SC 4.11 Beta 1 se ha añadido soporte experimental para Wayland en KWin, el gestor de composición de ventanas de KDE Workspaces. También se han realizado una buena cantidad de mejoras enfocadas sobre todo a optimizar el rendimiento. Aunado a esto, algunos de los efectos del gestor han sido reescritos en JavaScript con el fin de hacer su mantenimiento más sencillo.

 

La segunda beta está planeada para el día 26 de este mismo mes.

 

En fin, mejoras y evolución, la característica básica de KDE desde sus inicios.

 

Más información: KDE.org

05:49, Sunday, 16 June UTC

June 15, 2013

Konrad Zemek (konradzemek)

Hello World! Me, the blog, and GSoC

Hey! My name is Konrad Zemek, I’m a student at AGH University of Science and Technology, Kraków, Poland. I study Computer Science, currently finishing my second year. I’m a programmer. Mainly a C++ programmer, but that’s just because I write in C++ professionally – I know a few other languages and I’m fast to pick up new ones. I could write about this a lot more, but I guess it all just comes to that: I’m a programmer, and a good one.

And I have other traits, too! I love gaming, particularly video gaming. I eat through books, mostly of the fantasy kind. I ride a bicycle almost every single day, and I’m learning to play the electric guitar, dreaming that I could someday justify buying a Stratocaster.

I’ll get to placing my photo, not made hastily with a cellphone, somewhere around here – in the meantime I redirect you to my Google+ page.

The blog

I really tried not to commit too much time to deploy this blog, as I’m behind my schedule already. And believe me, it was hard – I’m the type of person who spends weeks reading about color theory and typography before deploying a website. This time, at least from the visual side, everything is pretty generic – still, I see great many hours of tweaking and customizing this blog in my future.

Just not now.

It’s a bit more interesting from the technical side. I deployed the WordPress application on the Amazon cloud, AWS; its code (the “application” part) resides in a git repository, which I push to “Elastic Beanstalk” (a Platform-as-a-Service) after every update, which in turn spins up a generic instance of GNU/Linux and deploys the application there. Nothing on this instance is persistent, so no actual content can be stored there. The blog connects to a SQL database, which is provided by another part of AWS. Then there’s persistent content that is neither a part of the application nor it belongs in the database, like uploaded images and other post attachments – these are stored by Amazon S3 service. CloudFlare provides DNS, caching, and some anti-bot screening.

There are a lot of things on the technical side that I’m itching to talk about, but I’ve got more important thing to write about, that being…

Google Summer of Code

The main purpose of this blog, or rather the reason it came into existence, is to write about Google Summer of Code, more specifically about my own GSoC project. The title of this proposal is Reimplement Amarok 1.4 (FastForward) & iTunes importers on top of Statistics Synchronization framework, and add Amarok 2.x and Rhythmbox as synchronization targets. Amarok is a legendary music player, part of the KDE software suite (I’d say it’s a Linux music player, but that’s not entirely true).

Every but the most basic music player collects data about music being played – it’s called personal metadata, and includes information like number of times a given track has been played, or user’s rating of the track. For users who use those features, it’s quite a big deal – it allows for playing favorite tracks, or maybe the tracks which were not listened to enough, all without any need to spend time setting up custom playlist. Or perhaps you like to share your most-loved tracks through a service like Last.fm? None of that would be achievable without personal metadata.

Currently, if you’re using iTunes or an old Amarok version, you are able to share this metadata with Amarok, although there’s no easy way to keep it synchronized. At a basic level, my project aims to add that very capability – to easily resynchronize Amarok with iTunes, previous Amarok versions, and Rhythmbox, Ubuntu’s default music player. There are also some stretch goals, like being able to do a two-way synchronization (update metadata on the other player), and I’m also quite confident of reaching those. I will post my weekly progress updates here during the course of next three months, and I think my planned schedule will end up in a widget somewhere on this site. There also will be more details coming. I’ll get to it, I promise!

So that’s me done for this post, before I run out of things to say in the next one. Thanks for reading. :)

20:22, Saturday, 15 June UTC

Denis Steckelmacher (steckdenis)

Finding Information in Human-Entered Search Queries

The coding period of this year’s Google Summer of Code starts this Monday, and I have just finished my exams. It is a good time to start working on my project, a Nepomuk query parser.

When I learned that I was accepted as a GSoC student, I began defining a grammar that will be used to parse Nepomuk search queries. I sent several mails to the nepomuk mailing list, and received very good feedback.

Formality and User-Friendliness

My first mail described a very formal grammar, very much like the one used by the current parser, that uses a key:value syntax (for instance, reservation house hasTag:holidays). The first comments said that this was not user-friendly enough, and pointed me to alternative syntaxes. In fact, I had only a small idea of what would be user-friendly, so these examples greatly helped me.

I then proposed a small modification of my syntax. The first version was purely key:value based, and relied heavily on special characters, parenthesis, colons, operators, etc. The second version made most of these special characters optional, and allowed keys to span multiples words. sent_by:Me could then be replaced by sent by Me, a far more user-friendly syntax.

Simplifying the Parser

The problem with my second syntax is that it is fairly complex. It is a full formal grammar, with nested queries, and even with that the parser is unable to parse something that is not a sequence of key with spaces value statements. In English, nearly everything can be expressed with these kinds of sequences, but other languages in the world need to split the key around the value (if they have detached postfixes for instance), and even “sent last week to Jimmy” cannot be parsed, even if it is a simple rewording of “sent to Jimmy, sent last week”.

After having discussed a bit with Vishesh Handa, my mentor, I began thinking about how a parser could handle these kinds of weird queries. Vishesh also told me that I do not need to keep the new syntax compatible with the old one, so I can simplify my reflection.

Before being accepted as a GSoC student, I developed a small library that parses human-entered date-times. “first Monday of next month” will be parsed to the date of the first Monday of next month. This “parser” is not really one following the strict definition of the term. The date-time is not parsed from left to right (from start to finish), but information is cherry-picked. Rules say for instance that “first X”, where X is a day, sets the day of the current period to 0. “next X” is also a rules, and here is responsible for incrementing the month number.

This approach is not very formal, but allows rules to be written independently of the parser. The parser ceases to be a parser and becomes a scripting environment. In fact, the human date-time parser used per-locale XML files and relied on KDE’s KCalendarSystem class.

For the Nepomuk query parser, I plan to use an approach like this, but a bit enhanced. The idea of rules is kept, but rules become more powerful and less painful to translate.

Architecture of the Parser

I will explain the general architecture of the parser using an example query made of words, English-specific constructs and key/value pairs:

1
e-mails sent by Jimmy, containing "hot dogs", and received before June 13

Don’t be afraid of this query, the plain list of keywords is also recognized by the parser.

The first step is the splitting of the query into words. The split is operated at every character for which QChar::isSpace returns true. Normally, this covers every spacing character for every language handled by the Unicode character set.

When the words are split, the parser uses them to build a list of Nepomuk2::Query::LiteralTerms. This list can be used to search for documents by keywords. The next passes are only here in order to improve the search results, and also to change the simple literal values into something more precise, that can be used for auto-completion when needed.

1
(e-mails) (sent) (by) (Jimmy) (,) (containing) (hot dogs) (and) (received) (before) (June) (13)

The first pass transforms string constants into constants of a more suitable type. For instance, “13” is converted to 13 (the integer), “3.14” becomes a double, “2MB” becomes 2.000.000, and finally “2MiB” is converted to 2.097.152.

1
(e-mails) (sent) (by) (Jimmy) (,) (containing) (hot dogs) (and) (received) (before) (June) (int:13)

Another pass that I have already implemented is what I call type hints. If you have a generic search interface (like KRunner or the equivalent in Plasma Active), the queries entered in them can concern any data indexed on the computer, like files, e-mails, photos, etc. Even if we only think about Dolphin, Nepomuk knows that a file is not only a file, but a document, a picture, a movie, etc. This second pass recognizes type hints in the query and transforms them into filters on the document type.

1
(ResourceType=nmo:Email) (sent) (by) (Jimmy) (,) (containing) (hot dogs) (and) (received) (before) (June) (int:13)

The third pass already implemented matches “sent by X” and “from X” and adds a filter on the sender of an e-mail

1
(ResourceType=nmo:Email) (nmo:messageFrom=Jimmy) (,) (containing) (hot dogs) (and) (received) (before) (June) (int:13)

Currently, my small experiment does not get the list of known contacts from Nepomuk, but instead tries to directly compare the nmo:messageFrom property with a string. I is not correct and will not work, but I first wanted to have a working parser before being able to generate real queries.

The next passes are not already implemented but will be in the coming days or weeks. One of them could match “containing X” and change the query like this (bif:contains is what the current parser seems to use to match documents containing something, but there may be a better way of doing this):

1
(ResourceType=nmo:Email) (nmo:messageFrom=Jimmy) (,) (bif:contains="hot dogs") (and) (received) (before) (June) (int:13)

The next one matches a day of a month. In English, the month name comes before the day number, but other languages do things differently. This kind of pattern matching can be done using a small pattern language developed for the parser. Each word in the pattern is either an immediate value (it matches a literal value having exactly this value) or a constraint on the term to be matched. For instance, June <integer0> matches “June 13”. The 0 after integer allows the translators to move placeholders around in the pattern, everything will be kept ordered on the C++ side.

So, a day-of-month rule could be <string0> <integer1> in English. The C++ handler for this pattern will first check that string0 is a month name and integer1 is comprised between 1 and 31. Then, the according filter can be output. This rule can be translated in French to <integer1> <string0> as month names and day numbers are inverted in French (we say “13 Juin”). In fact, even in English the phrase can be “13th of June”. No problem, the parser accepts multiple patterns for a rule:

1
2
3
4
d->runPass(d->pass_dayofmonth, i18nc(
    "Day number of a month",
    "<string0> <integer1>|<integer1> (?:th|rd|nd) of <string0>|<integer1> <string0>"
), 2); // 2 = there are two arguments in the pattern

Translators are free to add as many rules as they want. Notice that regular expressions will be allowed (currently, they are not yet implemented). Another modification to the current parser that has to be done is to split “3rd” into “3” and “rd”. This could also be used to split “3GB” into “3” and “GB”, thus simplifying the handling of file sizes.

With that said, the query is now:

1
(ResourceType=nmo:Email) (nmo:messageFrom=Jimmy) (,) (bif:contains="hot dogs") (and) (received) (before) (date:2013-06-13)

The last thing that would be nice to have parsed is the “received before” thing. Here, the parser needs to parse “before ” to produce a new date, but with a hint that the comparison to be done with this date is not the equality, but an ordered relation. Then, the parser has to match “received ” and do the actual comparison:

1
(ResourceType=nmo:Email) (nmo:messageFrom=Jimmy) (,) (bif:contains="hot dogs") (and) (nmo:receivedDate<=2013-06-13)

Now, there is nothing more to do. The parser stops trying rules (it does so in a loop, like optimization passes of a compiler, each rule being able to possibly alter the query and to expose further refinements), and proceeds to the final step: literal values smaller than a minimum size are removed. This removes the comma and the and. We get the final query:

1
(ResourceType=nmo:Email) AND (nmo:messageFrom=contact:Jimmy) AND (bif:contains=string:"hot dogs") AND (nmo:receivedDate<=date:2013-06-13)

If there was a literal value bigger than the threshold and not matched to anything, it would have been matched against its default property. If the literal value is a string, its default property is bif:contains. For a date, it is a set of properties like the date of creation/receiving, modification, etc.

Current state and future plans

Currently, the parser is completely experimental and cannot be used to do anything even remotely useful. I blog about it in order to have comments about the current implementation direction, and to present how I see the parser. I like to communicate regularly on my blog, my average for my GSoC two years ago was one blog post per day or two. Feel free to comment and to find examples of difficult to parse queries, I will try to organize and architecture the parser in order to have it able to parse your query (if it is user-friendly enough).

Another point is that my GSoC project is also about implementing an auto-completed input field. I currently have thought of two strategies that can be used to present auto-completion propositions to the user:

  • Patterns are matched from left to right. If the start of a pattern matches (say, more than 50%, or anything containing an immediate value like a keyword), the end of the pattern can be presented to the user. For instance, if I enter “sent by”, the parser knows that the last part of the pattern is a contact, and the auto-complete box can show the list of my contacts.
  • Terms are typed. When the user edits the query, his or her cursor is not at the end of the input field, and the parser must be more careful (the user may be breaking already-parsed statements or inserting things between them). The already-parsed terms can be used to know what the user is editing. If the user places its cursor on something that was found to be a date-time, a calendar can be shown.

The current implementation is able to parse things like “mails sent by Jimmy”, and gives the following result:

1
2
3
4
5
6
7
<?xml version="1.0"?>
<type uri="http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Email"/>

<?xml version="1.0"?>
<comparison property="http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#messageFrom" comparator="=" inverted="false">
    <literal datatype="http://www.w3.org/2001/XMLSchema#string">Jimmy</literal>
</comparison>

I will post more details in the coming days, as I advance in the parser and solve different problems.

17:59, Saturday, 15 June UTC

Marco Martin (notmart)

Plasma Workspace: present and future

We saw last week the release of the first beta of KDE Plasma Workspace and applications 4.11

From my side, that’s a very important milestone, because it’s pretty much the coronation of what we intended the 4.x series of the workspace to be. It was a long ride, but I think this future release will be pretty stable and “defined” in its own identity.

The 4.11 release of the Workspace will be supported for years to come, marking in fact the last big feature release of the 4.x series.

This sounds pretty scary, but it indicates a lot of maturity, 4.11 will be a release you can count on being maintained abd bugs fixed for a long time. Nice for home users, utterly awesome for bigger deployments.

Just to clarify: this regards only Plasma Workspace so far. Applications will continue feature releases as usual, after all KDE is not a software, is a community that releases a lot of eterogeneous pieces of software.

So, were are now?

  • The desktop shell is useful by default. A default setup has all the typical functionality that a typical desktop usage needs, but.. one size does not fit all.
  • The desktop shell is very flexible, trying to not force a paradigm on you, assemmble it at your liking.
  • We have at least 5 different shells: Desktop, Netbook, Plamsa Active, Media center, part for application dashboards. Because one size does not fit all, on different devices we try to give you the best experience given the particular device.
  • QML: It’s very easy to write new components for your desktop/tablet/mediacenter/whatever with an easy scripting language.

But of course we never are happy: we want to do new things and have new features in the future..

  • We are porting to Qt5 and QML2
  • The whole workspace will be rendered by the GPU: faster and will be possible to have beautiful effects.
  • We will have one shell to rule them all: the actual Plasma Shell becomes just a generic “viewer” with no UI whatsoever by itself. Since all the UI elements will be done by QML, they can be loaded and unloaded, so a different device experience can be dynamically loaded when for instance you plug your tablet to a docking station, the full Desktop shell starts.
  • Even tough it will mean a quite big technology change, since we are quite happy with the overall direction of each one of our shells, there won’t be radical UI changes, except of course the usual incremental upgrades and refinements.

I’ll do a talk about Plasma2 at Akademy, going a bit more in deep about the technology, the big picture concept and how to get involved in, so see you there :)

I'm going to Akademy

17:50, Saturday, 15 June UTC

Sven Assmann

Mastering Interfaces with QT

from high languages like java or c# interfaces are known since the very first time, unfortunately this feature is not available in c++. But c++ has a different feature that java for instance does not support: multi inheritance.


Now you may wonder how these obvious different things are connected? Quite simple: pure abstract classes can be used as interfaces; since c++ can inherit from multiple classes this is the solution for the missing interface feature.

Since all this is not very new and i guess you already know about this i promise now to speed up the out pointing.

meta object system and multiple inheritance

in general QT meta object system does not like multi inheritance whenever both classes inherit QObject, which is the recommended default scenario in each QT code tree.
It took me a while research how this problem can be solved in a QT compatible way. Looking backward is sounds totally easy, even if your interfaces inherit from each other: not let your interface inherit from QObject and use the macro Q_DECLARE_INTERFACE.

The following lines shows how this could look like:
// IContainer.h

class IContainer {

public:
virtual bool isValid() = 0;
virtual ~IContainer() {};
};
Q_DECLARE_INTERFACE(
IContainer,
"com.sample.Demo.IContainer/1.0"
)

Later when you want to implement a concrete class that support that interface you have to write one small macro to say the meta system that you implement a given interface Q_INTERFACES.
It could look like this:
// MessageContainerBase.h

#include "IContainer.h"

class MessageContainerBase : public QObject,
public IContainer {
Q_OBJECT
Q_INTERFACES(IContainer)
public:
MessageContainerBase();
virtual ~MessageContainerBase() { }

virtual bool isValid();
};

The Benefit

The main benefit is simple type safeness.
Type safeness in terms of down cast from a given pointer to that interface. With qobject_cast you can easily convert a QObject* into a IContainer* pointer with the safeness of typing. Means whenever you have QObject* or something else you can cast it into the Interface and can check if the resulting pointer is not null. If it is not null you can be sure that the instance supports your requested interface.
// Foo.cpp

#include "IContainer.h"

void Foo::bar(QObject* bak) {

IContainer* container = NULL;
bool valid = false;

container = qobject_cast< IContainer* >(bak);
if(container) {
// inerface is supported, do some nice stuff
valid = container->isValid();
}
}

12:00, Saturday, 15 June UTC

Baltasar Ortega

Linux Magazine nº93


Como cada mes tenemos en nuestro quiosco habitual el nuevo número de Linux Magazine, la revista para los amantes de Linux que nos proporciona información valiosa y variada sobre este mundo.
LinuxMagazineCover_XXLEn el número 93 de Linux Magazine nos encontramos con los siguientes artículos destacados en cada una de las secciones:
DVD:Debian 7 – Wheezy
Evaluación: Justo Antes de las 5: KDE SC 4.10
Práctico: Enlaces Perdidos: LinkChecker nos ayuda a mantener nuestro sitio web libre de enlaces rotos.
Desarrollo: Copias De Seguridad Personalizadas: Clonezilla consigue restaurar y realizar copias de seguridad simplemente con unas cuantas combinaciones de teclas.
SysAdmin: Hecho Para Servir: Cómo crear sitios web seguros con sus propios privilegios bajo un mismo servidor.
Hardware: Punto de Control: Este tipo de dispositivos y tecnología la utilizamos habitualmente. Cuando subimos en el autobús,vamos al gimnasio o incluso para fichar en el trabajo.
Linux User: Archivado Inteligente: Los portales de vídeo como YouTube o Vimeo ofrecen todo un abanico de películas cortas curiosas y entretenidas. Si deseamos disfrutarlas desconectados de la red, una pequeña herramienta llamada Movgrab puede ayudarnos.
Comunidad: Ordenadores Pequeñines: Una selección de tarjetas ultra pequeñas permiten que los futuros desarrolladores aprendan cómo crear y programar ordenadores.
Más información: Linux Magazine

 

09:00, Saturday, 15 June UTC

June 14, 2013

Emmanuel Lepage Vallee (Elv13)

SFLPhone-KDE 1.2.3 released!

Hello planet!

SFLPhone-KDE 1.2.3 have been released today as a bug fix release 6 months after 1.2.2. This version is (hopefully) the last in the 1.2.* serie. The next generation (1.3) is under heavy development since the last release. According to git diff –stat, 1.3 branch have a massive 16000 lines of changes. It is also 10x faster, less memory hungry and usable (more on that in an upcoming blog post(s)). As for 1.2.3, the new features include macro support, new command line options and being able to be invoked from KaddressBook. Important bug fixes include compilation fix on Fedora 19 beta, prevent race condition when launching SFLPhone-KDE in autostart. On the daemon side, many bugs have been fixed there too. Overall, this release should be quite stable.

The Ubuntu packages should be available soon at https://launchpad.net/~savoirfairelinux/+archive/ppa and on KDE servers.

Enjoy!

Image


21:19, Friday, 14 June UTC

Helio Castro (heliocastro)

I'm going too

KDE Project:

This has been an very different year for me, but so far so good, things happened and
despite the crazy itinerary to get the most "almost" cheap tickets...

18:54, Friday, 14 June UTC

Jan Grulich (grulja)

Status and plans for plasma-nm

Current status

It has been more than 3 months since we started writing a new plasma applet for NetworkManager. Now we are getting closer to have a properly working applet and connection editor for NetworkManager in KDE. Since the last blogpost there are not many big changes but there are a lot of  bugfixes and small improvements, the only one big change is that we implemented the rest of VPN plugins. It’s the time when we would like to release some alpha version or something like that to get users know that plasma-nm is usable and we want some feedback, reported bugs etc. to make it even better. Current maintainer of the old applet and libmm-qt/libnm-qt libraries is going to make a release of these libraries at Akademy so we can release it together and probably deprecate the old applet.  For those who have not seen our applet, there are a couple of screenshots:

nm1nm2nm3

If you like it, you can find packages with plasma-nm in some distributions. We have packages for Fedora (provided by me) and as I know also Arch, Gentoo, OpenSuse should have plasma-nm in their repositories. If your distribution doesn’t have plasma-nm packaged you can compile it from sources. You will find more information about compilation and links to sources in the previous blogpost. You can report your problems to KDE Bugzilla.

Plasma active

Well, there is one big news about plasma-nm. Due to the fact that my proposal for GSoC was accepted, I’ll start working on customizing plasma-nm for PA. The current applet for NetworkManager in PA is not much usable for touch devices and even our plasma-nm is not much better so I decided to come with something better. I’m also planning make some PA setting module to allow you to configure some basic things like in Android or in iOS, because for PA running on touch device you won’t use a lot of things we have in the editor from plasma-nm. Finally I have working Plasma active on my Nexus 7, but it has quite annoying issues and I was not able to make it work with MultiBoot to have Android and PA on the same device so I had to replace my Android with PA. Here is a couple of screenshots of plasma-nm running on Nexus 7 with PA:

snapshvhv IMG_20130614_135227

Akademy 2013

And the last thing and the most exciting for me is that I will attend Akademy 2013. It will be my first Akademy and even my first flight and visit Spain. I have booked a flight and hostel so I hope nothing won’t stop me.

See you in Bilbao

Ak2013Badge2

 


16:30, Friday, 14 June UTC

Martin Gräßlin

Fanboys in Free Software

Years ago I had a clear political opinion. I was a civil-rights activist. I appreciated freedom and anything limiting freedom was a problem to me. Freedom of speech was one of the most important rights for me. I thought that democracy has to be able to survive radical or insulting opinions. In a democracy any opinion should have a right even if it’s against democracy. I had been a member of the lawsuit against data preservation in Germany. I supported the German Pirate Party during the last election campaign because of a new censorship law. That I became a KDE developer is clearly linked to the fact that it is a free software community.

But over the last years my opinion changed. Nowadays I think that not every opinion needs to be tolerated. I find it completely acceptable to censor certain comments and encourage others to censor, too. What was able to change my opinion in such a radical way? After all I still consider civil rights as extremely important. The answer is simple: Fanboys and trolls.

When one starts to have a blog in free software one learns the hard way that being a relatively good developer means that you get hated. If you achieve something you get attacked, you get insulted, you get called a dictator [1], you get compared to Hitler [2], etc. etc. People say that you need a thick skin if you want to work in free software. I disagree. There shouldn’t be a need to have a thick skin. We are improving the world, we donated lots of our spare time to work on free software, we donate the source code we write for the public good and we are thanked by insults. This is not acceptable! Even if people dislike some specific software or are a great supporter of another software there is no reason to insult the people or the products. It never is! Not even if it is Microsoft or Apple or Google. There is no reason to attack them.

One of the first experiences I made in this regards was blogging about performance improvements. We can see that most users are thankful for the improvements but that there are also direct attacks. These are irrational, why would one attack the person who improved the situation? Why kill the messenger? People tend to discard it as “haters gonna hate”, but is that the answer to the problem? Do we have to tolerate such comments? Do we need to be hated just because we improve software and blog about it? Nowadays I would just delete such comments, that’s the change in my reaction to handle such situations. My skin became thicker over the years, but overall I prefer to have a thin skin as I used to have – it fits my overall character better.

Over the years I started to observe the behavior of the “haters”. For example I noticed that in the time after the release of GNOME Shell and Unity the hate against KDE increased. This was irrational, especially the reasons for the hate. KDE’s software had matured at the time when GNOME Shell and Unity did their release, so why attack KDE then. Yes after 4.0 that was kind of rational, but the attacks had mostly stopped. So why did they start again? I’m nowadays quite sure that if we would go back we would find an increase of attacks against GNOME at the time of 4.0/4.1.

Free software users are very enthusiastic about their used software. One could even say that they are religious about it. Not only that they also create a kind of split between mostly GNOME and KDE community. The decisions to use either KDE Plasma or GNOME Shell are hardly rational. There are emotions involved and used at the rational for why one uses KDE Plasma or GNOME. The software of the other projects is evil and one cannot use it. We tend to call users with such opinions as “fanboys”, but I find this word unsuited, I call them “religious fanatics”. I will explain in more detail why I compare to religion later on.

Now we all know the irrational reasons on why to not use GNOME software. GNOME is removing features, they are “interface Nazis” and don’t care about their users. KDE software on the other hand is ugly, too complex, slow and unstable.

When basing your decisions on irrational reasons it is inevitable that you will face cognitive dissonance. The introduction of GNOME Shell and Unity at the same time are good examples for triggering cognitive dissonance. The fanboys are convinced that GNOME is the best software in the world, but now they are transited to at that time incomplete software breaking their existing workflows and requiring to relearn. Many things are no longer possible. The belief that GNOME is better than KDE software is seriously challenged by the new experience.

One of the solution to solve this cognitive dissonance is to make KDE software worse in comparison to GNOME Shell or Unity. Being convinced that KDE software is still worse than the other software the dissonance is resolved. That is a blog post about performance improvements is a wonderful way to be confirmed that KDE software is slow, a news about fixed bugs is a wonderful way to show that KDE software is unstable. This explains the strong hate against KDE starting with the releases of GNOME Shell and Unity. Fanboys are trying to resolve their cognitive dissonance.

Obviously GNOME Shell and Unity are only an example. We can observe the same kind of cognitive dissonance with KDE fanboys. An example I can observe in regular intervals is that “the next version is much better and solves all problems” whenever a user is reporting about instabilities or other problems. The fact that another user is experiencing problems is challenging the beliefs of the fanboys which can be resolved by stating that the next version resolves it. We can see these comments for each version since 4.1.

Quite recently we could observe the same kind of cognitive dissonance with the Ubuntu fanboys. Mir was a real challenge to anybody who deeply believes that Canonical is doing the right thing all the time. Given that I wrote a few blog posts on that topic I was able to observe how fanboys tried to resolve their cognitive dissonance. My favorites were that I am the reason why free software is failing because I don’t support Mir. Canonical made it quite difficult for their fanboys to resolve the created cognitive dissonance. Of course reasons were provided but those had been shown as wrong very fast. Fanboys tried to resolve the dissonance by coming up with reasons like “development was too slow, someone had to do something”, which didn’t really resolve it as it’s obvious that the development power would have also helped Wayland. Just yesterday I was able to observe a fanboy in my blog comments. “Please re-read it and make it logically sane and spelling error free.” A wonderful example of adjusting the reality by making my arguments invalid because I had a typo in a reply. My argument that we cannot support distro-only solutions got discarded because there is also YaST which is also distro-specific. On a rational view this argument doesn’t make any sense but under the light of resolving cognitive dissonance it makes all the sense in the world. The fact that distro-specific software is a problem is diminished by pointing out other distro-specific software even if doesn’t matter for the argument (we do not depend on YaST).

I consider these fanboys as a threat to free software. By being irrational they harm everyone. They use emotions for something which should not have emotions. They make it difficult to work in free software. In fact it’s not a problem specific to free software, but can be observed overall in IT. Apple is also a good example for such fanboys. But only in free software fanboys can interact directly with developers and spread their harmful behavior. In the proprietary world they are blocked at the marketing department which is trained to work with such situations.

We need to find solutions to the fanboys and one of the solutions I came up with is to block them on my blog posts. I can tolerate trolls as it’s much easier to handle them. But fanboys are only there to harm you to diminish your work so that their world view doesn’t break. And that’s why I call them religious fanatics. They behave exactly the same. Just compare that to Intelligent Design to resolve the cognitive dissonance caused by evolution. I dislike any religious fanaticism whether it’s a crusade, jihad, IRA or free software. Any religious motivated fanaticism is harmful and needs to be fought, even if it is free software. Yes one can grow a thick skin to handle the fanboys, but that just shouldn’t be needed. Being compared to Hitler hurts no matter how thick your skin is. And if a GNOME developer stops work because of KDE fanboys it’s not GNOME who lost a developer, it’s free software who lost a developer. It’s one of us. We are also GNOME!

Final remark: please don’t come and tell me that I’m the same by criticizing Mir. It’s not the same. Criticizing decisions and having discussions is important, but of course critic has to be constructive. I have never attacked any of the Mir developers or have attacked the software in any way. I criticized the decision and the reasoning and pointed out the problems it causes for us, but I have in no way attacked Canonical, Ubuntu or Mir.

[1] Yes there are free software developers who are called a “benevolent” dictator. I disagree. There is no such thing as a benevolent dictator. Every dictator is bad and one shouldn’t define dictatorship down by calling someone a benevolent dictator.

[2] Yes all of that happened to me. Someone even compared me to one of the worst mass-murderers in human history because I do free software and have an own opinion.

12:29, Friday, 14 June UTC

Luca Beltrame (einar77)

Upcoming changes to openSUSE KDE repositories

Since KDE has released the first beta of Platform, Workspaces, and Applications 4.11, there will be some changes in the packages offered in the openSUSE repositories.

In short:
  • KDE:Distro:Factory will now start tracking 4.11 betas and RCs: packages are being worked on. Use this version to test packages and to report bugs upstream.
  • KDE:Release:410 has been decoupled from KDE:Distro:Factory. If you were using 4.10 packages from KDF, you’re highly encouraged to move to this repository.
  • KDE:Unstable:SC will keep on carrying snapshots from KDE git repositories.

If you test the 4.11 packages, report bugs in the packaging (or openSUSE-specific functionality) to Novell’s bugzilla, and bugs in the software to bugs.kde.org. Also, please use the dedicated area on the KDE Community Forums to discuss issues.
Let the testing commence!

06:11, Friday, 14 June UTC

June 13, 2013

Andreas K. Hüttel (dilfridge)

News from the 2013/05 Gentoo KDE team meeting

Last week we had our monthly Gentoo KDE team meeting; here are few details that are probably worth sharing.

  • So far we've provided the useflag "semantic-desktop" which in particular controls the nepomuk functionality. Some components of KDE require this functionality unconditionally, and if you try to build without it, bugs and build failures may occur. In addition, by now it is easily and reliably possible to disable e.g. the file indexer at runtime. So, we've decided that starting with KDE 4.11 we will remove the useflag and hard-enable the functionality and the required dependencies in the ebuilds. The changes are being done already in the KDE overlay in the live ebuilds (which build upstream git master and form the templates for the upcoming 4.11 releases).
  • After recent experiences the plan to drop kdepim-4.4 is off the table again. We will keep it in the portage tree as alternative version and try to support it until it finally breaks.
  • In the meantime we (well, mainly Chris Reffett) have started in the KDE overlay to package Plasma Active, the tablet Plasma workspace environment. Since Gentoo ARM support is already excellent, this may become a highly valuable addition. Unfortunately, it's not really ready yet for the main tree and general use, but packaging work will continue in the overlay- what we need most is testing and bug reporting!
Independent of the meeting, a stabilization request has already been filed for KDE 4.10.3;  thanks to the work of the kde stable testers, we can keep everyone uptodate. And as a final note, my laptop is back to kmail1... Cheers!

Edit, 13/6/2013: Johu has posted a blog entry on how to disable the semantic desktop functionality at runtime.

23:32, Thursday, 13 June UTC

Johannes Huber (johu)

Disabling semantic-desktop at runtime

Today we bumped  KDE SC 4.11 beta 1 (4.10.80) in the gentoo kde overlay. The semantic-desktop use flag is dropped in >=kde-base/4.10.80, as you may already noticed or read in dilfridges blog post. So if your hardware is not powerful enough or you just don’t want to use the feature you can easily disable it at runtime.

1. Go to the “System Settings” and search for “Desktop Search”

System Settings

 

2. Uncheck at least the file and email indexer. You can also disable the “Nepomuk Semantic Desktop”.

Desktop Search Settings

Have fun!

 

Update

If you want to disable Akonadi you can check out this blog post.

 

21:44, Thursday, 13 June UTC

Roland Wolters (liquidat)

Short Tip: Remove guest account in Ubuntu

135712502612
A fresh installed Ubuntu 13.04 offers a guest account at the login prompt. That might be handy for others, but I wanted to get rid of it. This can easily be done by adding an appropriate configuration flag to the LightDM configuration at /etc/lightdm/lightdm.conf: allow-guest=false.

$ cat /etc/lightdm/lightdm.conf
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false

After a LightDM restart (or simply a machine restart) the guest account is not offered anymore.


Filed under: GNOME, Linux, Short Tip, Technology, Ubuntu, X

21:04, Thursday, 13 June UTC

KDE Dot News

KDE Releases Beta of Plasma Workspaces, Applications and Platform 4.11

Dot Categories:

Today KDE released the beta of the new 4.11 versions of Workspaces, Applications, and Development Platform. With API, dependency and feature freezes in place, the KDE team's focus is now on fixing bugs and further polishing.

16:46, Thursday, 13 June UTC

Baltasar Ortega

Cómo solucionar el problema de la configuración del reloj en Kubuntu 13.04

kubuntu-banner-1304

Durante cierto tiempo he tenido problemas con el reloj de mi Kubuntu,

Estaba en una zona horaria que no tocaba y al intentar solucionarlo de la forma tradicional, es decir, con las opciones de System Settings o las del plamoide, no lo conseguía.

Finalmente, Aleix Pol me dió la solución. Abrí una ventana de konsole y escribí lo siguiente.

 

sudo dpkg-reconfigure tzdata

Mano de santo…. ya tengo la hora como debe ser.

No related content found.

09:00, Thursday, 13 June UTC

June 12, 2013

KMix - the KDE Multimedia Mixer

Back on track for Sound Menu

_TSF0831I had busy months after KDE 4.10, alas it was all about  KMix unrelated actions, like my Java Job and theatre performance in Jekyll & Hyde. So work has piled up, but I am happily announcing that I am back on track. I did an initial cleanup session some weeks ago and will continue this weekend. So what will happen (I’ll keep it short):

  • Fix hangs for MPRIS2 backend
  • Prepare for  KDE 4.11
  • Cleanup Reviewboard
  • Fix MPRIS2 polling: Trunk has a working version, but it consumes too much CPU.
  • API documentation: Especially about how to write a proper Backend, including polling versus event-based mode (the latter is strongly preferred).

So everybody who still waits for an answer from me should have it next week – don’t hesitate to contact me – I will promise not to bite. :)


23:26, Wednesday, 12 June UTC

Peter Grasch

What speech recognition application are you most looking forward to?

With the rising popularity of speech recognition in cars and mobile devices it's not hard to see that we're on the cusp of making speech recognition a first-class input method across our devices.
However, it shouldn't be forgotten that what we're seeing in our smart phones or laptops today is merely the beginning. I am convinced that we will see much more interesting applications of speech recognition technologies in the future.

So today, I wanted to ask: What application of speech recognition technology are you looking forward to the most?

For me personally, I honestly wouldn't know where to begin.
First I'd probably go for a virtual assistant. Yes, there's Google Now and Siri already, but those are still obviously not as good as an actual assistant. Especially Siri also suffers from being constrained to the same interaction method than an actual assistant. A virtual assistant can arguably be of much greater value when it takes a more pro-active role, exploiting the vast amount of information it has access to to become more like e.g., iron man's JARVIS.
Secondly, there is the domain of automatic, simultaneous translation that I think is fascinating. While early implementations already exist from industry greats like Microsoft and Google, there is obviously a lot of room to grow.
And of course from computer-aided memory of real-life conversations to finally understanding the announcements from PA systems in trains - everything is up for grabs.

So given an infinite budget: what speech recognition application would you pick? Please let me know what you think in the comments!

Tags:

20:22, Wednesday, 12 June UTC

Calligra News

Calligra 2.7 Beta 3 Released

The Calligra team announces the third beta release of version 2.7 of the Calligra Suite. This release is a bugfix release in preparation for the final release of Calligra 2.7 in June.

Updates in This Release

Calligra 2.7 beta3 has a number of important fixes from the second beta. Here is an excerpt of the most important ones.

A fix in the common code that makes calligra not hang on some faulty documents, and fixes that make it work better on ARM.

Words, the word processing application, has a fix in the WordPerfect import, which makes the filter work (and being enabled) again.

Krita, the 2D paint application, has an updated splash screen, a fix for the file layer (#320017), a fix for alpha color space conversion, a fix for merging layers with inherited alpha (#318318), a fix in the layout of tool option panels, an update of the scRGB profile (#319579), an improvement in the transformation while rotating (#319444), and several crash fixes (#319764, #319855, #320037).

Try It Out

The source code of this release is available for download: calligra-2.6.92.tar.bz2. Alternatively, you can download binaries for many Linux distributions and windows.

About the Calligra Suite

The Calligra Suite is part of the applications from the KDE community. See more information at the website http://www.calligra.org/.

 

19:48, Wednesday, 12 June UTC

Jonathan Riddell (riddell)

nice e-mail

KDE Project:

I still get the best e-mails :)


From: Tibor
To: jriddell@ubuntu.com
Subject: Thank you!

Hello Kubuntu/Ubuntu-Team,
i only want to say thank you for the great operating system Kubuntu, you
are the best. I`m very happy with this.

Best regards

Tibor from germany


My flights are booked for the Basque Country..

for Kubuntu Developer Summit @ Akademy

11:56, Wednesday, 12 June UTC

Older blog entries