Wechseln zu: Navigation, Suche

Willkommen auf der Homepage von Niki Hammler

Historische Homepages und fühere Weblogs


Mein neues Weblog

PuttyAgent now supports openssh/cygwin/msys

2014-05-10 23:23:53

For a long time, I extensively used the plugin "PuttyAgent" for KeePass as an SSH key agent. However, unfortunately the protocol (at least the transfer protocol) of PuTTYs implementation and openssh (cygwin, MSYS) are not compatible. So far I avoided openssh and used wrappers to plink.exe (e.g., for rsync or unison). But that becomes more and more a pain. And finally, with git and git-annex I gave up: I looked for putty agent to ssh-agent gateways and they indeed exist. However, another application residing in RAM makes it unhandy. So I decided to just add the support to PuttyAgent...

GPG: WinPT + KeePass = KeePT

2011-12-25 18:46:56

KeePT is my new plugin for KeePass which allows to use WinPT from KeePass. There is no need to start both KeePass and WinPT at the same time. KeePT allows to access all functions from WinPT from KeePT's tray menu. Furthermore, the plugin registers WinPT's hot keys and allows to pass the GPG passphrase to WinPT. But what was my intention? I can just use KeePass's hot key functionality to pass the GPG password. However, I hate to startup up dozens of application which all occupy an icon in the system tray. This is even more true when I do not use the applications regularly. This was already the reason for my PuttyAgent plugin: No need to start both KeePass and pageant.exe. The same is true for KeePT: The main and unspectacular purpose of this plugin is to start WinPT (and hence GPG) from within KeePass. The minor purpose is to pass the GPG password from KeePass to WinPT. This plugin requires WinPT. At first, I wanted to compile WinPT into a DLL, just as I did it for PuttyAgent. But after spending hours in trying to compile the old WinPT code I gave up and decided to control the pre-compiled binary. This has another advantage: The plugin occupies only 80kB (written purely in C++ with WinAPI) whereas the whole WinPT (occupying 1-2MB!) is only loaded when needed.

Device: /dev/sda, 1 Currently unreadable (pending) sectors

2011-05-02 14:07:10

I sometimes get these annoying messages from smartd. They only occur with Samsung HD103SIS SATA disks. According to my google research, these messages are not harmful and a Samsung speciality. One reason for me to avoid Samsung in future. The messages should disappear after a reboot. However, since the disks are built into a RAID1 on a 24x7 server I want to avoid rebooting the server. Instead I can get rid of these messages without a reboot when overwriting the whole disk with zeros. Please click here for details.

More extensions for KeePass

2011-05-02 13:50:25

During the last days I worked again on extensions for KeePass 1.0. The result is twofold: First, an extension for the plugin OnScreenKeyboard originally developed by Dominik Reichl with enhancements for tablet PC usage. Second, a new plugin PuttyAgent which implements the SSH key agent from the PuTTY suite within KeePass.

The OnScreenKeyboard was rewritten in a more object-orientated way. It is now possible to manually select two keyboards (or auto-detect) through the settings dialog. Furthermore, the keyboard automatically closes after input if it was opened before. And finally (for me the most important part) is a kind of tablet PC detection: It only opens when a stylus of a tablet PC is being used. Thanks to Josh Einstein for hints on how to do this.

The PuttyAgent is a new plugin which implements SSH agent functionality. It is based on the sources of PuTTY's pageant.exe. Since I have always KeePass and Pageant.exe running it would be convenient to combine both tools. This is what the plugin does: Just attach a *.ppk file to a KeePass entry and it will be served by KeePass.

Both plugins (DLL and source code) can be found at the homepage of KeePass: http://keepass.info/plugins.html

LockExtensions for KeePass

2010-07-26 21:24:23

KeePass is a powerful OpenSource password-safe. It has become one of my "must-have" programs. There are ports for various platforms (including mobile, like Windows Mobile).

I wrote a small plugin LockExtensions which adds three more ways of locking the workspace (currently open password file):

  1. Lock after a specific user-inactivity time (resolution in minutes)
  2. Lock on standby/hibernate
  3. Lock when pressing a global hotkey

Download (including source) can be found at: http://keepass.info/plugins.html#lockext

Reproducing Polynomials with B-Splines

2010-07-19 14:03:56

Family of B-splines up to N=4

A B-Spline of order N is known to be able to reproduce any polynomial up to order N:

\sum_{n \in \mathbb{Z}} c_{m,n} \beta_N (t - n) = t^m

In words, a proper linear combination of shifted versions of a B-Spline can reproduce any polynomial up to order N. This is needed for different applications, for example, for the Sampling at Finite Rate of Innovation (FRI) framework. In this case any kernel \varphi reproducing polynomials (that is, satisfying the Strang-Fix conditions) can be used. However, among all possible kernels, the B-Splines have the smallest possible support.

An important question is how to obtain the coefficients c_{m,n} for the reproduction-formula. In this small article, I describe one way.

AirFix: Fixing Sierra Wireless Watcher

2010-05-03 10:51:11


The Sierra Wireless Watcher Software is used for Sierra Wireless UMTS Modems to connect to the internet. Unfortunately this software has a bug with some cards (e.g. with my AirCard 850). Sierra did not want to fix the bug although I reported the bug in a detailed way. Another example of a bad company you should think twice before buying a product.

Without using the airplane mode the Watcher software works (more or less). But when the airplane mode is enabled and the Watcher software is started there is a strange behaviour: The software connects successfully but it does not escape the state of "connecting". This means that the "Disconnect"-Button keeps grayed out and there is no way to terminate the connection except killing Watcher. In this case also no records to the phone log and the transmitted data is written. Read on here for my fix

Special Thanks to

Meine Werkzeuge