Archive for the 'Software Design' Category

Cobra

python + contracts + besseres exception handling + .net/mono anbindung” -> http://cobra-language.com/

RCP Tutorial

Eine gute Einführung in Eclipse/RCP Programmierung gibts bei vogella.de

Europa ohne VE, Callisto mit?

Na toll, das neuste Eclipse Release, Europa, kommt ohne Visual Editor Unterstützung, nur die Vorversion, Callisto, wird unterstüzt. Das ist irgendwie doof …

WordNet mit JWNL

Wer auf WordNet mit Java zugreifen will, der stößt über kurz oder lang auf die freie Bibliothek JWNL - Java WordNet Library. Wenn man allerdings versucht diese mit einer aktuellen Version WordNet zu nutzen schmeißt sie nur mit komischen Fehlermeldungen um sich - selbst wenn man den Pfad zur Datenbank in der Konfigurationsdatei richtig angegeben hat.

Das Problem dabei ist, dass JWNL nur mit WordNet 2.0 für Windows zusammenarbeiten will - was freundlicherweise nirgends (deutlich) erwähnt wird.

Continue reading ‘WordNet mit JWNL’

Komplexe Datenstrukturen in PHP?

Nachdem ich mir Gedanken über eine Portierung des Spell Checkers von Java nach PHP gemacht habe, ist mir aufgefallen, dass es scheinbar gar keine komplexen Datenstrukturen in PHP gibt.

Natürlich kann man sich das alles selbst bauen, aber eine ordentliche Implementierung von Set, List, Tree & Co. wie in Java scheint es in PHP nicht zu geben.

Das Problem bei der PHP Umsetzung ist im Moment, dass ich ja keine ständig laufende Application sondern einzelne Request habe und daher nicht jedesmal den langwierigen Trainingsprozess durchlaufen kann. Als Alterantive scheint mir eine SQL-Datenbank geeignet, aber bevor das so funktioniert wie ich es mir vorstelle muss ich noch einen Weg finden die Daten dort effektiv abzulegen und aufzufinden. 90.000 SQL-Abfragen pro Suchanfrage sind einfach noch ein bischen zu viel ;)

SEO Toolkit mit AJAX und Widget

Das Do-it-Yourself SEO Toolkit “Xinu EXT” gibt es jetzt auch (wieder) mit einer schicken AJAX Oberfläche und einem Widget für die eigene Seite um den Besuchern alle wichtigen Kennzahlen direkt anzeigen zu können.

Alle wichtigen Links: Demo Seite, Projektseite, Download.

Aus jHTTPd wird libjhttpd

Nachdem ich den Code zu meinem einfachst-Webserver jHTTPd (HTTP/1.0, Multithreading, IPv6- und UTF-8-Support) in wesentlich mehr Projekten weiter verwendet habe, als zunächst geplant, habe ich mich entschlossen den Code nochmals zu überarbeiten, ein wenig refactoring zu betreiben und als Bibliothek umzuarbeiten.

Der Webserver kann jetzt auch ordentlich binäre Multipart POST Requests verarbeiten. Ein kleines Missverständnis zwischen mir und den Java Streams hat dafür gesorgt, dass es vorher nicht funktioniert hat.

Bytes nach String und wieder zurück zu casten geht selten gut ;)

Continue reading ‘Aus jHTTPd wird libjhttpd’

jSpellCorrect überarbeitet

Der Java Spelling Checker, jSpellCorrect, wurde von mir nochmal ein wenig überarbeitet. Jetzt kommt er prinzipiell mit beliebig großen Trainingsdaten zurecht. Vorher existierte eine, unnötige, künstliche Beschränkung.

Download jSpellCorrect.

Allerdings existiert weiterhin die Einschränkung, dass die HashMap der Wahrscheinlichkeiten in den Arbeitsspeicher passen muss. Hier bin ich allerdings noch nicht an die Grenzen gestossen.

Eine Möglichkeit dies zu umgehen, wäre ein Teil der Daten auf der Festplatte zu speichern, aber dies ist mir im Moment zu umständlich. Bei Bedarf werde ich das nachrüsten.

Eclipse macht unter Linux nur Probleme …

Seit einiger Zeit macht Eclipse unter Linux nur noch Probleme.

Nicht nur, dass es extrem viel Speicher verbraucht, dank SWT/GTK, es stürtzt auch reproduzierbar beim öffnen das Auto-Complete Dialog ab und das neue Europa Release verabschiedet sich gar direkt wenn ich denĀ  Software Update Dialog öffne.

Toll.

Es wird Zeit, das ich mich mit Netbeans beschäftige. Das läuft deutlich besser, nur mit der Bedienung muss ich mich noch anfreunden.

Rechtschreibkorrektur in Java

Nach der Lektüre des überaus interessanten Artikels über einen einfachen Algorithmus zur Rechtschreibkorrektur von Peter Norvig, habe ich beschlossen den abgefahrenen Python Code in Java zu übersetzen. Nach ein paar Versuchen hat es auch schon geklappt. Das Ergebnis des ganzen gibt es ab sofort unter dem Namen jSpellCorrect zu bewundern.

Update:

Nachdem Peter Norvig seine Seite aktualisiert hat muss ich sagen, dass ich ein wenig schockiert bin: Aus einem einfachen 21 Zeilen Python Programm werden über 350 Zeilen Code in Java … autsch ;)