Andreas Schneider Blog



I spent the day to look at tmux and vim and found a lot of great plugins. What I really like for tmux and also vim is powerline. Powerline is a status-line and prompts utility to change the look and feel of your vim or tmux status lines. It looks like this: It consists of a special font, a python tool and plugins for applications....


CM: chromium doesn’t build with JDK 1.7

If you build Android or CyanogenMod and you run into issues with HashSet_jni.h you need the following changes to the chromium_org project: diff –git a/base/android/jni_generator/ b/base/android/jni_generator/ index de865d5..d4a2324 100755 — a/base/android/jni_generator/ +++ b/base/android/jni_generator/ @@ -555,18 +555,21 @@ class JNIFromJavaSource(object): contents) return JNIFromJavaSource(contents, fully_qualified_class) +def MultipleReplace(string, rep_dict): + pattern = re.compile(“|”.join([re.escape(k) for k in rep_dict.keys()]), re.M) + return pattern.sub(lambda x: rep_dict[], string) class InlHeaderFileGenerator(object): “””Generates an...


Curve25519-SHA256 is the default KEX in openSSH too now!

Since some hours is the default KEX in OpenSSH! Several weeks ago Aris added a new Elliptic Curve algorithm for key exchange using Curve25519. After he wrote some kind of a RFC and implemented it in libssh he started to suggest a patch for OpenSSH which finally has been integrated.


New PGP Key

I’ve updated my PGP key. I’ve signed it with my old key. You can find the key here. The fingerprint of the new key is: 8DFF 53E1 8F2A BC8D 8F3C 9223 7EE0 FC4D CC01 4E3D


Curve25519 and SSH with ECDSA

For the SSH Library we try to keep up with OpenSSH features and implement the most important stuff. After what we read about the NSA and NIST it became clear that the new ECDSA support we added in libssh 0.6.0rc1 needs new curves. So Aris implemented and wrote a draft. At the same time he implemented the first draft and you can find the...


A new release of csync

Finally after 3 years there is a new version of csync available. csync is a file synchronizer especially designed for you, the normal user. About two years ago, Klaas started to use csync as the backend for the owncloud sync client. The last years we added a lot of features, improved our test framework and fixed several bugs. I have to thank Klaas for all...


Unit testing with mock objects in C

The article Jakub Hrozek and I wrote for Linux Weekly News ( about CMocka and using mock objects is available to the public now. You can find it here: Unit testing with mock objects in C cmocka is a unit testing framework for C with support for mock objects. It is used by several Free Software projects like libssh, csync, SSSD or Elasto Cloud. If...


cmocka 0.3.0

I’ve just released a new version of cmocka. cmocka is a unit testing framework for C with support for mock objects. Jakub and I finished the API documentation and added two new useful macros mock_type(#type) and mock_type_ptr(#type). The rest is some small bugfixes and a pkgconfig file. You can download it here.


Writing and reading code

You’ve probably heard that a developer of an established software project writes an average of 100 lines of code (loc) a day. I can say that this applies to me. So if you write 100 loc per day, how many do you read? I would estimate that the amount of time you spend on reading and understanding code is significantly more than on writing code....


vim modelines in git config

I’m working on different Open Source projects and most of them have different coding style guidelines. Mostly spaces or tabs or different tabwidth. The easiest thing would be to store these information in the git config of the project. So here is a easy and secure way to have modelines in the git config. So first I set the modelines (here for the Samba project):...