My name is Milian Wolff and I’m from Berlin, Germany and was born on August 19th 1988. I studied physics at the FU-Berlin and work for KDAB as a software engineer.
On this website I’m writing about programming, open source software, KDE, Linux, web development and other computer related topics.
Make sure you check out my projects and take a look into the Code Snippets section.
One appeal to any native speaker out there: If I write crappy English (which would not suprise since German is my first language) please correct me by writing an email.
You can find some of my projects on GitHub.
I’m currently the co-maintainer of KDevelop. I maintain many plugins, like snippets, external scripts, the generic project manager and of course the C++ and PHP language plugins. But my patches for bug fixes span across the whole codebase and especially for performance improvements I dug into even the darkest corners.
PHP Plugin for KDevelop 4
In December 2008 I started contributing to the PHP plugin for the KDE4 version of KDevelop. My vision is a state-of-the-art plugin with support for language introspection, on-the-fly validation, auto-completion, refactoring, code generation and semantic highlighting. It’s a work in progress which already has quite some very nice features. You can follow its development via GIT or take a look at our feature plan for Quanta 4.
Good visualizing of data is in my opinion one of the most important aspects nowadays. Just as well one should always try to polish apps as good as possible, esp. in regard to performance. Hence I wrote this application to visualize data of Massif logs, making it possible to analyze memory consumption fast and easily.
For years I planned to somehow write something faster than Massif for heap memory profiling. In 2014, I finally scratched that itch and created heaptrack. It is a tool that is both faster as Massif and also gives you much more data as well. Try it out!
Qalculate! Backend for Cantor
I’m a pretty big fan of Qalculate!, a library for advanced calculators. Especially it’s support for units helped me a lot as a Physics student. There are official UIs for GTK, KDE3 and a CLI app, yet until end of 2009 no KDE 4 interfaces was on the horizon. Given that Cantor got moved to KDE Edu, I decided to try and write a backend for it. Martin Kuettler since took over, and the backend is shaping up nicely.
Download script for SpringerLink ebooks
I’ve written a script which simplifies the process of downloading ebooks from SpringerLink.com. It started as a Bash Script and was rewritten in Python since. It is recommended to use the Python version if possible. The script downloads all chapters of a book and merges them into one PDF-file.
KTextEditor Linter Plugin
I wrote a plugin for KTextEditor which supplies Kate and Kwrite among others with basic syntax checking.
This neat little PHP class lets you convert HTML into Markdown. It is the successor to html2text.php and comes now with a much improved design and by far more stable conversions. It enables you to write your texts in either HTML or markdown and swap at any time!
Why that’s important? Because that way you can save your contents in one format. Content editors can then choose their input formatting of choice. Be it Markdown or HTML. Additionally your server doesn’t need to create HTML out of Markdown for each and every page impression. This saves time and resources!
Other projects I participated in
The good thing about open source is that everybody is allowed to improve existing code. I frequently do so if the piece of software uses a language I’m confident in – i.e. PHP. Following is a list of projects I wrote patches for:
I got involved in GeSHi around the release of version 188.8.131.52 and started to write patches which resulted in an increased performance. Now I also add new features, fix bugs and will help out with the upcoming 1.2 series.
When I started using Drupal 6 for this website some – for me – crucial modules had not yet been ported. So I stepped in and started to port:
Filter by Node Type
I have also filed patches for a bunch of other modules:
Get Content Type
list of minor participations
I wrote the shell engine for PEAR Text_Diff
I translated the jQuery datepicker to German and fixed a bug inside jQuery itself
patched a thing or two for PHP Markdown
This Blog and all Code Snippets are licensed under a Creative Commons Attribution 4.0 License.
Milianw.de by Milian Wolff, powerd by Drupal. This page should be valid XHTML 1.0 strict and valid css.