Martin Ankerl
No movement is faster than no movement

Optimized Exponential Functions for Java

Usually microoptimization is only done in C or C++, but it works quite well in Java too. For a project I needed very fast log() and exp() calculations, and Java’s Math.log() and Math.exp() just doesn’t cut it. After a bit of research I have found the following approximations that are good enough for me:

[...]


Open Source Search Engine

Give it a try:

http://opensource.ankerl.com/

Thanks to Google’s new co-op feature I was able to create a customized search engine for open source software. It contains a lot of hosting sites like sourceforge.net and rubyforge.org, but also lots of other sites like eclipse.org, kernel.org, apache.org and many many more.
Click to add it to your customized Google [...]


TextAnalyzer - Automatically Extract Characteristic Words

TextAnalzyer is a text analyzer tool that finds out words that are characteristic for a given input file. It is independent from any language, and even seems to work well with HTML files.
This program is only a little prototype, that shows that this technique seems to work. It’s public domain, feel free to do whatever [...]


Three Laws of Software Development

seecretGeek has a nice blog entry about the three laws of Software Development, inspired by Isaac Asimov’s Laws of Robotics (minor adaptations from me):

A developer must write code that creates value.
A developer must make their code easy to maintain, except where such expenditure will conflict with the first law.
A developer must reduce their code to [...]


Statistical Unit Tests with ensure4j

As part of another project I am developing ensure4j. The syntax (see the examples here) is working quite nicely, ensure4j is already very useful for internal use.
Lately I was busy adding tests that are able to verify if some code (e.g. an optimizer that uses random, like genetic algorithm, simulated annealing, …) produces the desired [...]