Heartsome Europe GmbH Blog
http://www.xliff.net/blog/index.php
Java als Service starten - never ending story - msvcr100.dll - msvcr71.dll
http://www.xliff.net/blog/index.php?entry=entry130306-122135
Vor kurzem hatte ich einen extrem hartnäckigen Fall. Das Kopieren nach Windows/Systems32 der msvcr100.dll's (gibts in diversen Varianten, u.a. auch mit 71) half nichts. Service wollte einfach nicht starten (JavaService.exe zum Installieren verwendet). Nach langem Rumprobieren habe ich msvcr100.dll in das gleiche Verzeichnis wie JavaService.exe kopiert - und es funktionert plötzlich!!!
Anscheinend sind die Java Programierer bei Oracle nicht fähig, die notwendigen dlls bei Laden von Java zu finden...
Wie aufgeführt ein altes Problem und schon oft in diversen Foren und Websites (sh. http://www.duckware.com/tech/java6msvcr71.html) beschrieben!]]>Powerpoint Absturz - AVG ein / ausschalten hilft
http://www.xliff.net/blog/index.php?entry=entry110405-095728
Im Ereignisprotokoll war immer der Fehler zu finden:
.NET Runtime version 2.0.50727.4952 - Schwerwiegender Fehler im Ausführungsmodul (5D0A851A) (80131506). Protokollname: Application Quelle: .NET Runtime Datum: 05.04.2011 09:44:07 Ereignis-ID: 1023 Aufgabenkategorie:Keine Ebene: Fehler Schlüsselwörter:Klassisch Benutzer: Nicht zutreffend Computer: Hearts
Deinstallation Office2010, Neuinstallation 2007, Netframework versucht neu zu installieren, Registry Cleanen; all das half nichts.
Nach langem Probieren und endlosen Restarts kam ich auf die Idee den VirenScannen AVG temporär abzuschalten. Nun versucht 0) AVG temporär deaktivieren 1) Powerpoint wieder zu starten 2) Start im abgesicherten Modes - LÄUFT 3) PPT beenden 4) PPT wieder starten im Normalmodas - LÄUFT. 5) AVG wieder aktivieren 6) PPT neu starten - LÄUFT
Irgendetwas scheint also AVG bei Starten von PPT blockiert zu haben.
]]>Windows 7 Synchronisation - Vodafone MDA GPS
http://www.xliff.net/blog/index.php?entry=entry100920-150147
Die etwas umständliche Lösung ist dann:
Geräte -> Netzwerk -> Microsoft Windows Mobile Remote Adapter auswählen: Rechter Mausklick auf Microsoft Windows Mobile Remote Adapter -> Deinstallieren wählen
USB Kabel entfernen und wieder einstecken. Windows 7 installiert nun den Treiber neu (ggf. bestätigen bei Nachfragen).
Etwas umständlich, funktioniert aber.]]>Ergänzung zu Araya auf Windows 7 bzw. Win2008 Server
http://www.xliff.net/blog/index.php?entry=entry100831-112605
a) die lib/eaglememex.properties Datei b) die lib/getjavahome.bat; hier muss ggf. auch der Java Pfad angepasst werden! c) lib/emx_service_install.bat d) lib/rpcserver-install.bat e) ini/catalogue.xml f) lib/run_emx_server.bat (nicht in allen Installationen vorhanden)
Zu beachten ist auch noch, dass die Datei database/database.xml entsprechend angepasst werden muss, da diese die bekannten Datenbanken enthält und diese ggf. der neuen Araya Version nicht mehr zugänglich sind.]]>Araya EagleMemex Service oder OpenTMS Service starten - Windows 7, Windows 2008 Server, Adminstratoren-Rechte
http://www.xliff.net/blog/index.php?entry=entry100830-102203
Ein weiteres Problem tritt nun bei Windows 7 bzw. Windows 2008 Server auf. Zum Starten/Installieren der Services wird die araya.exe (bei Araya) oder JavaService.exe (bei OpenTMS) verwendet. Diese beiden exes müssen als Adminstrator gestartet werden (Eigenschaften -> Kompatibiltät -> Programm als Administrator ausführen). Selbiges gilt für die batch Dateien z.B. rpcserver-install.bat bei Araya oder OpenTMS. Diese müssen auch mit Adminstratoren-Rechten gestartet werden. Z.B. im Explorer: rpcserver-install.bat markieren, rechter Mausklick und dann als "Adminstrator ausführen" wählen.]]>Warum Araya in Java? Ein Performanztest - Vergleich Java, C und und C# bei der Levenshtein-Funktion
http://www.xliff.net/blog/index.php?entry=entry091128-141944
Java nicht unbedingt als sehr schnelle Sprache ("Interpreter" geistert da noch immer in den Köpfen, trotz JUI-Compiler), noch immer halten sich die Gerüchte/Meinungen, dass Java im Vergleich zu anderen Programmiersprachen wie C, C++ langsam ist. Die folgenden Ausführungen beziehen sich auf Microsoft-Betriebssysteme.
Das wollte ich nun einmal vergleichen bzw. testen, in dem ich eine der Kernfunktionen von Araya (aber auch openTMS) - den Ähnlichkeitsvergleich basierend auf Levenshtein - mit Java, C und C# vergleiche. Der Levenshtein-Vergleich ist u.a. auch darum so interessant, da diese Funktion als zweiter Filterschritt nach der KD-Tree basierten Ähnlichkeitssuche eingesetzt wird (sh. dazu u.a. openTMS und Ähnlichkeissuche). Je nach Ähnlichkeitsanforderungen (%) liefert die KD-Tree suche 10% - 20% an passenden trigram-basierten Treffern zurück. Enthält z.B. die Datenbank 10.000 Einträge bedeutet dies, dass auf der Treffermenge insgesamt zwischen 1000 - 2000 Levenshtein-Vergleiche durchgeführt werden müssen. Yourkit Java Profiler basierte Analysen zeigen, dass bei dieser Änlichkeitssuche bis zu 70% der Gesamtsuchzeit mit der Ausführung der Levenshtein-Vergleiche aufgewendet wird. Damit bringt eine Optimierung der Levenshtein-Vergleiche eine beachtlichen Zeitgewinn. Eine erste Idee war nun, den Levenshtein-Vergleich in C zur realiseren und per JNI einzubinden.
Zusätzlich wollte ich noch den Performanzunterschied in Java, einmal mit -server , einmal mit -client gestartet, vergleichen. Und als weitere Möglichkeit - wie angedeutet -den Aufruf der Levenshtein-Methode über JNI (also eine C Funktion).
Der - zugegeben - einfache Versuch sah so aus, dass ich die Java Levenshtein-Methode nach C und C# konvertierte, was ziemlich einfach war. Vor allem da es sich dabei um keine komplexen Klassen, sondern im Prinzip um einfache Funktionen handelt.
Es wurde dazu die Levenshtein-Methode in den Testanwendungen jeweils 1.000.000 aufgerufen und das Experiment mit einer Kommandodatei 10 mal wiederholt.
Wichtig um die folgenden Ergebnisse zu interpretieren, sind die Systemparameter: Hardware: Intel Core i7 940 CPU 2.93 GhZ, 6GB RAM, 750 GB Festplatte Betriebssystem: Windows Server 2008 Standard (32 bit Version) Java Version: 1.6.0_17
Hier nun das Ergebnis über alle 10 Läufe:
Abbildung 1: Vergleich der unterschiedlichen Programmiersprachen.
Java mit -server ist nach diesem Versuch das beste, gefolgt von C und der JNI (-server) Lösung. Interessanterweise war C# (C Sharp) mit Abstand die langsamste Lösung. Die client Java Version ist immer langsamer als die C Version. Immerhin beträgt der Performanzunterschied der Java -server Lösung zu C immerhin rund 20%. Das ist nicht zu vernachlässigen. Auf JNI in diesem Fall zu setzen macht keinen Sinn.
Was kann man daraus folgern?
a) die Mär, dass Java langsam ist, stimmt so nicht. Zumindest in diesem Fall. Sicher ist es vom Einzelfall abhängig, wie schnell eine Java Anwendung läuft, aber generell ist der Unterschied nicht gewaltig. b) Wenn man Java verwendet, sollte man zur optimalen Performanz -server verwenden oder die Konfigurationsdatei jvm.cfg von Java anpassen. Wichtig ist aber, dass beide Versionen installiert sind (erkennbar am Verzeichnis [Java]/jrexxx/bin, jeweils mit einem server bzw. client Verzeichnis). Die Datei jvm.cfg findet man im Verzeichnis [Java]/jrexxx/lib/i386) und ändert die Reihenfolge von -server und -client so:
-server KNOWN -client KNOWN
Damit wird nun standardmässig bei einem java Aufruf die Server jvm eingesetzt.
Wenn Sie diesen Test selbst durchführen wollen, können Sie unter JavaPerformanceTest.zip die entsprechenden Testdateien herunterladen. Entzippen in ein Verzeichnis und "nativetest.bat" oder "nativetestloop.bat" oder "nativetestloop.bat > out" ausführen. Der Source-Code für die verschiedenen Versionen befindet sich in c, cs sowie lib. Der Java Quellcode ist in den jeweiligen jar Dateien enthalten.
Die ersten beiden Zeilen beziehen sich auf die Java -server Version, die beiden folgenden auf Java -client, dann die C und C# Variante. Wichtig ist der Wert nach "Milliseconds:", er zeigt die jeweilige Ausführungszeit an (1.000.000 Aufrufe der Levenshtein-Vergleiche)
Sie können mir Ihre Ergebnisse (biite mit Angaben über Ihr System) gerne zu schicken - klemens.waldhoer at heartsome.de. Ich werde dann die Vergleichstabellen ausbauen. ]]>Araya Bilingualer Term Extraktor: Testversion zum Herunterladen verfügbar
http://www.xliff.net/blog/index.php?entry=entry091126-083857
Neu: Sie können ab sofort eine Testversion des Araya Bilingualen Terminologieextraktionswerkzeug herunterladen. Einzige Einschränkung der Testversion ist, dass maximal 20 Termpaare extrahiert werden. Mit dem bilingualem Terminologieextraktionswerkzeug von Araya können Sie unschlagbar günstig bilinguale Terminologieextraktion selbst betreiben. Über eine einfach zu bediendene Oberfläche können Sie sowohl bilinguale Terminologie aus einer TMX-Datei extrahieren und anschliessend bearbeiten.
]]>openTMS und Data Sources - Ein Beitrag von Dr. Waldhör zum Erstellen von Data Sources in openTMS
http://www.xliff.net/blog/index.php?entry=entry091123-074906
openTMS - die Open Source Initiative zur Erstellung eines Open Source Translation Memory Systems - veröffentlich regelmässig neue Version des openTMS Systems - sh. www.opentms.de.
Dr. Waldhör als Chefarchtiekt hat nun den ersten Artikel in einer Serie zum Erstellen von openTMS Data Sources geschrieben. Sie finden ihn hier: http://opentms.de/?q=node/64. Er erläutert, wie man eine einfache Data Source - als einer abstrakten Klasse zum Übersetzen von Segmenten mit Datenbanke etc. - am Bespiel des maschinellen Übersetzungssystems MOSES wie eine Datenquelle, die nur "lesen" kann, implementiert wird. Die Serie wird fortgesetzt!]]>Postgres und openTMS - openTMS Funktion in Postgres SQL aufrufen
http://www.xliff.net/blog/index.php?entry=entry090925-110035
In einem ersten Schritt ist bei der Datenbank das Skript install.sql (C:\ProgrammeDatenbanken\PostgreSQL\8.4\share\pljava) ausführen.
CREATE FUNCTION opentms_pljava.levenshteinSimilarity(character varying, character varying) RETURNS int4 AS 'de.folt.similarity.LevenshteinSimilarity.levenshteinSimilarity' LANGUAGE java;
CREATE OR REPLACE FUNCTION opentms_pljava.getCurrentUser() RETURNS character varying AS 'de.folt.util.OpenTMSSupportFunctions.getCurrentUser' LANGUAGE java;
SELECT levenshteinsimilarity(cast('klemens' as character varying), cast('klemen' as character varying));
SELECT getCurrentUser();]]>Postgres und pljava - eine lange Geschichte... Fehler beim Installieren...
http://www.xliff.net/blog/index.php?entry=entry090924-115148
Ich bekam die verschiedensten Fehlermeldungen, von dll nicht gefunden, ulkige Pfadnamen etc. Wichtig war u.a. die korrekte Schreibweise der Pfadnamen in der conf datei (also \\ statt \ verwenden). Etwas mühsam zu eruieren, auch mit der Suche im Web.
Zu beachten ist, dass ich Postgres unter C:\ProgrammeDatenbanken installiert habe. Pfade sind entsprechend anzupassen!
OK, hier nun die Details:
Schritte install pljava bei Postgres ====================================