Friday, 24. March 2006
Noch bevor der CW-Artikel über die Ankündigung der Oracle Suchmaschine erschien, haben sich schon einige Leute über ihre Positionierung in dem nicht mehr jungfräulichen Markt der Unternehmenssuchmaschinen Gedanken gemacht. Uns interessierte vor allem ein Vergleich mit IBMs Omnifind (korrekt: Websphere Information Integration - OmniFind Edition). Christian wird mir hoffentlich verzeihen, wenn ich hier seine Mail zitiere:
Hallo Axel,
ich habe mir inzwischen die verschiedenen White Paper angeschaut und ebenso ein wenig im Admin Tutorial herum gestöbert und muss sagen, dass das Produkt Enterprise Search von Oracle nicht ganz uninteressant ist.
"Oracle Enterprise Search vs. Omnifind" vollständig lesen
Thursday, 23. March 2006
Das ist doch nicht zu fassen ...
Da stellt sich doch der Egomane Larry Ellison hin und kündigt irgendwo eine öde Enterprise Search Engine an und die Computerwoche hat nichts besseres zu tun, als das groß rauszubringen - mit Bild von meiner Lieblings-Nr.2. Doch dazu später.
Es wurden schon bessere Suchmaschinen angekündigt. Nur wurde darum nicht so ein Marketingbrimborium gemacht:
"Das ist eine unserer wichtigsten Ankündigungen seit vielen, vielen Jahren" (Ellison, gemäß CW). Herzlichen Glückwunsch dazu. Warum nur diese übertriebene Aufmerksamkeit? Es wird wohl an Larry liegen. zugegeben, Larry hat wohl Ausstrahlung, ist aber auch ein herrlicher Laberkopp:
"Larry, die geborene Nr.2" vollständig lesen
Hallo Stefan,
> Anbei mal ein Link zum Thema Sudoku.
vielen Dank für den Link.
Dieser Solver gefällt mir schon eher. Ich kenne einige, die ein Sudoku ausschließlich mit Trial-and-Error lösen. Das hilft mir wenig, denn damit kann ich nur herausfinden, ob ein Sudoku lösbar ist. Dies ist bei allen veröffentlichten Sudokus der Fall (Ausnahmen bestätigen die Regel). Ein solcher Löser gibt mir also keine neue Information.
Der angegebene Löser implementiert 2 oder 3 Techniken, die noch vor Trial-and-Error von menschlichen Lösern angewandt werden. Es gibt davon aber wesentlich mehr. Die Implementierung dieser Techniken wird erst durch die angebotene Erklärungskomponente für mich als Sodoku-Löser sinnvoll.
> Wie weit bist Du denn mit Deinem Ansatz?
Ich habe die "Basistechniken" implementiert (Auffüllen und Scannen) und eine Eliminierungstechnik. Damit kann ich einfache bis mittelschwere Sudokus und viele schwere lösen. Ich nutze den Computer aber nur als Hilfe und Tippgeber für schwierige Sudoku-Situationen. Wenn ich wieder mehr Zeit habe, werde ich noch weitere Eliminierungstechniken einbauen, evtl. werde ich doch noch ein Trial-and-Error Verfahren programmieren.
Viele Grüße,
Axel
Wednesday, 22. March 2006
Neuer Rechner, neu installiertes APL2: um auf eine DB2 Datenbanken zugreifen zu können, muss APL2 an diese Datenbank gebunden werden. Oder man greift auf die Datenbank mittels ODBC bzw. dem AP227 zu. Ich ziehe es aber den direkten Weg mit dem AP127 vor. Theoretisch sollte das schneller sein, da der zusätzliche OBDC-Layer fehlt.
Für jede DB2-Datenbank, auf die mit APL2 zugegriffen werden soll, müssen vier Bind-Statements durchgeführt werden. Wie dies geschehen muss, wird in apldb2.bat im ..\samples Verzeichnis der APL2-Installation beschrieben.
Dies führe ich hier nun zum x-ten male aus.
"Immer wieder: APL2 an DB2 binden" vollständig lesen
Tuesday, 21. March 2006
Das sollte sich zur ständigen Einrichtung entwickeln:
Nach 18 Uhr, d.h. dem offiziellen Ende eines Messetages, begann das inoffizielle Ende mit Bier und Snacks in Halle 4. Wer zu spät kam, musste sich durch ein mörderisches Gedränge zur Bierquelle boxen, um endlich versorgt, nach seinen Leuten zu suchen. Ohne Handy ein schier unmögliches Unterfangen.
Gleich am ersten Abend dann die Überraschung: Was braucht ihr von mir, damit ihr diese Jahr 29 % mehr Umsatz macht. Auf den ersten Blick leicht zu beantworten, aber eine ernsthafte Antwort will gut überlegt sein. Wir werden antworten. Meine erste, sponatne Reaktion wäre in Richtung "Sales Support" oder Ähnliches gegangen. Wenn ich genauer darüber nachdenke, klingt das eher trivial, es muss also noch genauer spezifiziert werden. Die Gespräche auf der Messe fingen also gut an und sollten sogar noch besser werden
Sunday, 19. March 2006
Das war wirklich nicht nötig: zu Messebeginn um 9 Uhr eben dort zu sein. Das hätte schließlich bedeutet, kurz nach 5 Uhr aus dem Bett zu müssen.
So waren wir erst gegen 11 Uhr in Halle 1, am Demopunkt 18. Dort konnte man eine Antwort finden, was Fußball mit SOA zu tun hat. Ich habe nicht gefragt, also kenne ich nicht die Antwort.
Fußball hätte das große Thema auf diesem Stand sein können, nein, sein müssen. Denn Fußball war auf der CeBIT im Jahre 2006 der Werbeträger. Und am Demopunkt 18 gab es die beste Fußballstory - mit und ohne SOA. Statt dessen war ein aufgeblasener Airbus 380 und RFID der Aufreißer.
Sei's drum, der Demopunkt 18 war während der CeBIT stets gut besucht. Am Samstag gab es sogar eine Liveberichterstattung während der Bundesligaspiele.
"Halle 1 Demopunkt 18" vollständig lesen
Thursday, 16. March 2006
Ich werde diese Kategorie missbrauchen ...
als Tagebuch und Nachlese der CeBIT 2006. Aus vielerlei Hinsicht bisher so einzigartig wie die CeBIT 1992, auf der wir zum ersten und bis heute zum letzten mal mit einem Stand vertreten waren. Wahrscheinlich gab es damals mehr Kontakte, ich denke die von 2006 werden sich als wertvoller erweisen.
Die Highlights:
Halle 1 Demopunkt 18
Christian rettet IBM-Pressegespräch
Mehr Umsatz mit Wolfgang
Auf der Suche nach Investoren
Bullenschluck in der Taverne
Boris und Bernd
Komplementär aufgestellt
Die wirklich großen Themen
Auf der Suche nach gutem Marketing
Warten auf Jörg
Thomas und David
Party bei Magirus
Alle lieben Franz F.
DB2 für alle
Mathematiker unter sich
60:40
Finale
Wednesday, 8. March 2006
Das ist gar keine so eine schlechte Idee:
Nein, nicht das Anmelden einer Marke "Homologische Algebra" - so etwas tut man nicht. Aber Software zu diesem Gebiet zu entwickeln, das wäre schon eine Herausforderung. Aber leider hatte schon 1982 oder früher jemand diese Idee: J.O.Shallit, damals University of California, betrieb damals "Computational Simplicial Homolgy in APL" (APL82 Conference Proceedings). Warum er Homologie mit APL umsetzte, begründete er folgendermaßen:
"In many ways, APL is the ideal language to express algebraic concepts. First, its function-oriented structure applies naturally in algebraic systems. Second, its powerful array processing allows easy manipulation of matrices. Finally, APL's conciseness and power make development and testing easy"
Dem ist nur hinzuzufügen, dass das heute mit den APL-Implementierungen der 2.Generation mehr den je gilt. Ich kenne auch keine Programmiersprache, die diese Eigenschaften mit APL gemein hat. Java hat dies bestimmt nicht.
Unter uns gesagt, Shallits Aussagen sind nicht nur für algebraische Systeme gültig, sondern auch für viele andere Gebiete, wie z.B. der Versicherungsmathematik. Aber nicht weiter sagen!
Da hatte ich mich in den letzten Jahren meines Studiums mit Homologischer Algebra beschäftigt, um dann schon nach einigen Monaten außerhalb der Uni einen Artikel zu finden, der mein altes Lieblingsthema mit meinem damaligen neuen Lieblingsthema verband. Da fühlt man sich doch gleich zu Hause.
Vor Kurzem bin ich zu DB2 und Performance befragt worden. Leider konnte ich nicht alles vollständig und zu meiner Zufriedenheit beantworten. Ab morgen gibt es auf der CeBit die Gelegenheit, all die offen gebliebenen Themen kompetent schließen zu lassen. Hier ein Auszug der Fragen (Q) und Antworten (A).
Q: Kann man bei der DB2 auch Datenbanken komprimieren?
A: Auf jeden Fall bei der neuen Version. Ich bin nicht sicher, was die aktuelle Version 8.2 angeht.
AA: "Row Compression" ist ein neues Feature der DB2 Viper und nicht zu verwechseln mit der Komprimierung von Nullen und Standardwerten (VALUE COMPRESSION) der aktuellen Version.
Q: Sind die dann Read-only oder noch schreibbar?
A: (zensiert)
AA: Da in der "Ankündigung" keine Einschränkung hierzu gemacht wurde, werden komprimierte Tabellen wohl auch beschreibbar sein.
Q: Hab heute extra mal nen Benchmark laufen lassen. Approx 10k Records pro Stunde... Ist das gut?
A: Kommt natürlich darauf an ... (die übliche Antwort bei solchen Fragen nach HW, SW, Größe der Tabelle, Indizes, Schuhgröße des Benutzers usw.)
AA: Das klingt immer noch nach keiner guten Performance. Das sollte aber besser am lebenden Objekt, soll heißen an der Tabelle, getestet werden.
Q: Macht es eigentlich mehr Sinn 1 mil. Records mit einem Select abzurufen oder anhand des prim. key in 10 Selects aufzuspalten?
A: Hast du genug RAM sollte, das egal sein.
AA: Das ist wieder so eine "Das kommt darauf an"-Frage: wie will der geneigte Frager die selektierten Daten weiterverarbeiten?
An dieser Stelle ist es wieder notwendig, etwas zu APL zu schreiben: Seit ich ihn kenne vertritt Axel G. die Auffassung, dass es stets schneller ist, APL soviel RAM wie möglich zu geben, alle zu verarbeitende Daten in den APL-Workspace zu laden, um dann darauf rumzufuhrwerken. Ich habe dazu stets gemäß Radio Eriwan "Im Prizip ja" gesagt. Letztlich habe ich die Performance einer APL-Anwendung, die viele Inserts und Updates absetzte, um Faktoren verbessert, indem ich der Anwendung weniger RAM gelassen habe. Warum wohl? Da haben sich zwei um all meinen schönen Speicher geprügelt.
Zum letzten Q hatte ich dann noch ein
A: Du kannst die DB2 so konfigurieren, dass große Resultsets am besten mit viel Speicher performen.
AA: Das macht die DB2 inzwischen auch selbst. Per Advisor schlägt sie für eine konkrete Datenbank eine optimale Konfiguration vor. Dem bin ich dann gefolgt und habe nun überraschend gute Antwortzeiten auch bei komplexen bei Selects.
Mal sehen was BB dazu auf der CeBit meint.
Monday, 6. March 2006
Sicher, wir hätten ja nachgeben können, d.h. die Unterlassungserklärung unterschreiben und die geforderten Gebühren bezahlen können. Das wäre möglicherweise bequemer gewesen, hätte aber ungeahnte Folgen gehabt:
Unsere Rechtsanwältin erläuterte mir, dass eine Marke, nachdem sie als 10 Jahre eingetragen und genutzt ist, danach nicht mehr zu löschen ist. Dies wäre für "Neuronales Netzwerk" nächstes Jahr der Fall gewesen. Formulierungen mit diesem Begriff wären - wo auch immer angreifbar - geworden. Die Rechtsabteilungen auch der großen Softwarehersteller hätten möglicherweise Einiges zu tun bekommen. Denn viele Statistik-Pakete oder Data Mining Anwendungen implementieren neuronale Netzwerke. Man hätte dies natürlich weiterhin tun können, man hätte aber möglicherweise nicht mehr darüber reden dürfen.
Gefahr war also im Verzuge. Die Welt musste wieder einmal gerettet werden.
Naja, das ist sicher ein wenig großspurig, aber die akademische Welt hätte schon ein Problem bekommen können. Aber was sind das für Leute, die sich einen Begriff, mit dem sie sicherlich während ihres Informatik-Studiums und sogar während der Promotion gearbeitet haben, für die eigenen Geschäftszwecke aneignen wollten.
Da könnte ich ja versuchen, "Homologische Algebra" als Marke anzumelden, um Software, die Gruppen in Cokettenkomplexe auflöst mit dieser Marke zu versehen. Jeder einigermaßen vernünftige Patentanwalt hätte dieses Ansinnen zurückgewiesen.
Aber vor fast 10 Jahren hat wohl ein Anwalt im Patentamt herrlich gepennt.
Das konnte und durfte nicht sein!
Wir waren von Anfang an der festen Überzeugung, dass dieses Ansinnen absolut nicht gerechtfertigt war. Denn " Neuronales Netz" ist ein Begriff aus der Künstlichen Intelligenz, einem Forschungsgebiet der Informatik. Hebb und Kohonen würden sich im Grabe herumdrehen, Letzterer allerdings nur, wenn er bereits verstorben wäre. Dieser Begriff konnte nur der Allgemeinheit gehören.
Es war also klar, dass wir die uns zugeschickte Unterlassungserklärung nie und nimmer unterschreiben konnten. Im Gegenteil: Die Marke "Neuronales Netz" musste gelöscht werden.
Dies war auch die Ansicht unserer Rechtsanwältin, deren Kanzlei glücklicherweise auch auf das deutsche Markenrecht spezialisiert ist. In einem Erwiderungsschreiben an die Kollegen, das vor Paragraphen aus den Markenrecht nur so strotzte, wurde festgestellt,
- dass unsere Nutzung des Begriffs "Neuronales Netzwerk" nicht monierbar ist, und
- dass deren Mandantin sogar die Löschung der Marke zu beantragen hat, da die Eintragung von vornherein nichtig war, und
- dass die Gegenseite unsere Anwaltskosten zu tragen hat.
Die Sache fing an Spaß zu machen.
Es gibt schon sehr dreiste Menschen ...
Da flatterte doch per Fax Ende Januar uns eine Abmahnung ins Haus. Eine Berliner Anwaltskanzlei monierte auf unseren Webseiten eine Markenrechtsverletzung. So weit so gut. Das kann schon mal passieren, da keiner so genau weiß, worauf alles eine Marke eingetragen ist. Aber dieser Fall war schon ein starkes Stück:
Da hatte es doch eine Berliner Firma namens " Public Financial Consulting Gmbh" vor fast 10 Jahren geschafft, den Begriff "Neuronale Netze" als Marke eintragen zu lassen. Daher sah der abmahnende Anwalt die Rechte seiner Mandantin durch unsere Formulierung "Baysian Neural Network Classifier - neuronales Netz ..." auf einer unserer Webseiten verletzt.
Wir sind bestimmt nicht die Einzigen, die es gewagt haben, den Begriff "Neuronale Netzwerk" auf ihren Webseiten zu führen. Man google nur mal danach ... Da findet man Universitäten, Pharmaunternehmen, Verlage, Amazon, Softwarehersteller und viele mehr.
Für einen Anwalt, in unserem Fall ein Familienrechtler, ist das heute sehr einfach: google nach der "Marke" und mahne alle Firmen und Institutionen ab, die diese auf ihren Webseiten nutzen. Klar, dass der Anwalt seine Mühe den abgemahnten Firmen dann in Rechnung stellen muss. Für einen so gebräuchlichen Begriff wie "Neuronales Netz" kann da schon eine nette Summe zusammen kommen.
Und das war sicher auch der Anlass für diese Aktion. Da dachte wohl jemand, er hätte die Lizenz zum Geld drucken gefunden ...
Sunday, 5. March 2006
Nein, das sind genug Dimensionen. Damit wird die Struktur eines Sudokus perfekt modelliert.
5 Dimensionen sind für die meisten von uns schwer vorzustellen, wir haben ja schon Probleme mit 4 Dimensionen. Für APL ist das aber eine noch eher überschaubare Anzahl. Das Maximum von Achsen, die die Struktur einer APL-Matrix haben kann, ist 72. Warum gerade 72? Keine Ahnung. Ist aber heute noch mehr als genug:
Man stelle sich vor, jede der 72 Achsen hat eine Länge von 2, so ist die Anzahl der Elemente dieser Matrix eine Zahl mit 22 Stellen.
Freitag hatte mir Bernd einen Link zu den Statistiken für diese Domain zugeschickt. Danach war ich, wie nicht anders zu erwarten war, fast alleine hier - nur Bernd und Christiane haben mal vorbei geschaut. Ansonsten habe ich bewusst niemanden von diesem Blog erzählt oder geschrieben. Das soll erst im April geschehen.
Aber da ist mir wohl jemand zuvor gekommen. Wie man hier sieht, hat es prompt gewirkt. Und jede Menge Besucher.
"Das Thema mag für den einen oder anderen mehr als gewöhnungsbedürftig sein ...", ja, so soll es sein. APL ist nun mal kein Mainstream.
"... aber hin und wieder auch mal sehr interessant, gerade wenn man sich für Mathematik o.ä. begeistern kann." Vielen Dank für den Hinweis auf Mathematik. Ich nehme das als Herausforderung.
Aber warte, bis ich zu meinem Thema "Neuronale Netze" komme.
Eine Sudoku-Lösungsmatrix enthält in jeder Zelle des Sudokus alle noch möglichen Lösungen. Wie auch immer das Sudoku dargestellt wird, kann jedes Element der zugehörigen Lösungsmatrix z.B. einen numerischen Vektor mit Werten aus (⍳9) enthalten (⎕io=1). Es geht aber auch anders:
Statt mit Einträgen von unterschiedlicher Länge können für jede Zelle alle noch möglichen Lösungen mit einem boolschen Vektor der Länge 9 repräsentiert werden. Eine 1 an der 5.Stelle eines solchen Vektors bedeutet dann, dass die 5 zur Lösungsmenge gehört. Zusammen mit "Wie könnte also eine Alternative aussehen?" ergibt das eine 3x3x3x3 Matrix mit Vektoren der Länge 9 als Elemente.
Diese Vektoren kann man auch entlang einer beliebigen neuen Dimension auftragen. Durch Anwendung von z.B. ⊃[1] erhalte ich eine neue erste Achse, d.h. meine Lösungsmatrix hat letztendlich 5 Achsen der Längen 9,3,3,3,3. Ist SDL diese Matrix, so werden in SDL[5;;;;] alle möglichen Plätze für die 5 mit einer 1 markiert.
Auf die so beschriebene Lösungsmatrix werden dann verschiedene Algorithmen angewandt mit dem Ziel schrittweise die Anzahl möglicher Lösungen zu vermindern bis das Sudoku komplett gelöst ist.
|