Category Archives: KDE

Line Modification System

Some days ago, Dominik implemented a line modification system in the KatePart.
For all who don’t know what that means at all (like me before the DS 2011), here some screenshots.

First, starting with a fresh loaded file:

Now, lets write some lines:

Next, after saving:

Now, lets change some stuff again:

Awesome :)

First I thought: Why to hell do I need such a feature? But after using it some days now, I think it is really VERY useful.

Yesterday I worked in parallel on code that generates integer linear programs as CPLEX files and read the output files (which are > 100000 lines) to find regressions.
I had to manually tweak the ILP files a bit to reveal the reason of my issues and it was just cool to exactly know even after save, which lines in the ILP I touched.
Normally I would have written some comments like \changed… above my modified lines in the output files, but yeah, KatePart does track such stuff now automatically ;)

Even for the much less big source files, it was nice to see:
Oh, I just tweaked that few C++ lines and it did remove the issue, maybe I should look at the lines below/above of that lines, too, for more possible problems?

Therefor: Thanks to Dominik for this nifty feature, I hope others appreciate it, too!

If you want this feature now: Use the guide at’s Get It!.

Coding Style and API Design

Once in a while, there are really interesting blogs, presentations and reports about how to do things right as software developer. This is a quick list of links about API design and coding style:

  1. Designing Qt-Style C++ APIs (Qt4), by Matthias Ettrich, 2005
  2. API Design Principles, extended version of (1), Qt Developer Network (Nokia)
  3. The Little Manual of API Design, an in-depth summary of (1) and (2), Jasmin Blanchette, 2008 (Nokia)
  4. Developing Quality Libraries, presentation of (1)-(3) on the Desktop Summit in Gran Canaria, Oliver Goffart, 2009
  5. How to Design a Good API and Why It Matters, Joshua Bloch, 2007 (Google)
  6. Qt Coding Style, good coding style not limited to Qt, Qt Developer Network (Nokia)
  7. Guidelines for KDE Development, similar to e.g. (6), KDE Techbase
  8. Hall of API Shame: Boolean Trap, Ariya Hidayat, 2011

Thanks to all the authors for sharing & happy reading!