Leistungen

Auf Festpreisbasis, nach Aufwand oder in einer gemischten Kalkulation bietet probits an:

Dr. Knud Werner

Gründer und Inhaber

Herr Dr. Werner wurde 1968 in Gerolstein (Eifel) geboren. Dem Abitur 1987 am Julius-Stursberg-Gymnasium in Neukirchen-Vluyn folgte der Wehrdienst sowie das Studium an der Universität Duisburg. Begleitet wurde dieses durch zahlreiche praktische Tätigkeiten in der Wirtschaft, der Forschung und der Lehre. Im Alter von 28 Jahren wurde Herrn Werner der Doktortitel verliehen.

Die "Feuertaufe" für mission-critical Software Projekte bestand er in der Entwicklung von Werkzeugen zur Analyse und Umstellung von COBOL und IBM 370/390 Assembler Programmen eines grossen deutschen Versicherers im Hinblick auf den Jahrtausendwechsel. Herr Werner leitete ein Team, welches Programme zur maximalen Automatisierung der erforderlichen Arbeiten bereit stellte.

Seit 1999 arbeitet er als selbständiger Berater, Architekt und Programmierer für verschiedene namhafte Unternehmen der deutschen Wirtschaft. Die Fa. probits gründete er im Jahr 2003.

Stationen

EOS IT Services, Hamburg

Gesellschaft für Konsumforschung, Nürnberg

mobilcom-debitel, Elmshorn

Deutsche Telekom, Darmstadt

Kabel BW, Heidelberg

Vodafone, Düsseldorf

actis.bsp, Frankfurt

West LB, Düsseldorf

compartner, Düsseldorf

Universität Duisburg

EOS IT Services, Hamburg

04.2013 bis 11.2014
Senior Application Analyst / Application Manager
 
  • Beratung in technischen Fragen und bei der Steuerung der Weiterentwicklung
  • Redesign der Schnittstellen und Verarbeitungen bzgl. des Aussendienstes (AD) sowie Unterstützung bei der Implementation
  • Konzeption und Mitwirkung bei der Dokumentation der Rückmeldungen an die Mandanten
  • 2nd und 3rd Level Support der Inkasso Software, insb. der Aufträge an und Meldungen des AD
  • Fehlerbeschreibung und Analyse, Unterstützung bei der Behebung, Test
  • Erstellung von Ad-Hoc Reports
  • Windows, Linux, Perl, C/C++, sqlplus, JIRA, confluence

Referenz

Gesellschaft für Konsumforschung, Nürnberg

02.2012 bis 11.2012
Senior Programmierer und Coach
 
  • Algorithmisches Design des “Performance Layers” und Unterstützung bei der Implementation
  • Optimierung von Performance kritischen Stellen (sog. “hot spots”)
  • Schulungen interner Mitarbeiter (Algorithmen, Datenstrukturen, Perl)
  • Bearbeitung von kritischen Debug-Tickets
  • Software Test und Review
  • Windows, Perl, C/C++ (Visual Studio), sqlplus, TFS

mobilcom-debitel, Elmshorn

03.2009 bis 07.2011
Senior Programmierer und Analyst
 
  • Qualitätssicherung (bill-to-bill) der Migration des Billingsystems der debitel auf das der Talkline
  • Automation des Data Cleansing von ca. 100 Millionen Datensätzen (insb. Namens- und Addressdaten)
  • Migration des Rechnungsarchives und der “unbilled usage” der talkline
  • Vorbereitung der Migration des Billingsystems der talkline auf das der mobilcom
  • Implementation der EU Richtlinien für Roaming und SMS
  • Erstellung mehrerer CGIs (Web-Interfaces) zur Automation typischer Geschäftsvorfälle
  • Performancetuning diverser Reports und Verarbeitungen
  • Windows, Solaris, Linux, Perl, sqlplus, ksh, C

Referenz

Deutsche Telekom, Darmstadt

01.2008 bis 08.2008
Senior Architekt und Analyst
 
  • Reverse Engineering des IBM Host Dateiformates (IMS) und Programmierung eines Dekodierers
  • Entwurf eines generischen Werkzeuges zur Messung und Verbesserung der Datenqualität über alle Systeme der Deutschen Telekom
  • Beschreibung eines Prozesses zur Verbesserung der Datenqualität
  • Maschinelle Qualitätssicherung der Spezifikation der zu berechnenden KPIs
  • Berechnung mehrerer KPIs aus bis zu 100 Mio Datensätzen
  • Windows, Linux, Solaris, IMS, Java, Perl, python, C, sqlplus

Kabel BW, Heidelberg

09.2007 bis 12.2007
Senior Berater
 
  • Fachliche und technische Beschreibung der für den Cable Master relevanten Systeme sowie ihrer Schnittstellen
  • Konzeption der ETL bzw. ELT Software für die Datenmigration
  • Konzeption der möglichen Migrationsstrategien
  • Konzeption der Architektur der Migrationsumgebung
  • Vorbereitung der Migration des Cable Master
  • Durchführung von Workshops zur Ermitttlung des Business Object Modelles

Vodafone, Düsseldorf

03.2001 bis 06.2007
Senior Berater und Software Lieferant
 
  • Einführung des Billingsystems Amdocs MAF/MPS
  • Qualitätssicherung (QS) der Umwandlung der Telefoniedaten (Converted Usage)
  • QS des Rechnungswesens (Billing)
  • QS der Abrechnung Leistungen an und für Dritte (Inter Carrier)
  • Entwicklung von Tools zur Untersuchung ASN.1 kodierter Daten für den 2nd und 3rd Level Support
  • Konzeption der Logik des "GPRS Merge"
  • Entwicklung diverser Werkzeuge zur QS, etwa
    • zur Verfolgung automatisch generierter Test Gespräche von der Annahme (Collection) bis zur Rechnung (Data Ware House)
    • zur effizienten Implementierung von Filtern für ASN.1 kodierte Daten
    • zur Prüfung der Implementation der Business Rules für Inter Carrier Billing
    • zur near real-time Visualisierung und Überwachung inkl. Alarmierung von Datenströmen
  • Integration der bereit gestellten Funktionalität in die vorgegebene Infrastruktur (multi-threaded Client-Server, Oracle)
  • Pflege und Wartung dieser Werkzeuge
  • Solaris, Linux, Perl, python, ksh, sqlplus, C/C++

actis.bsp, Frankfurt

04.2000 bis 10.2000
Senior Berater, Architekt und Programmierer
 
  • Einführung Wertpapier Backoffice BSP Trade "as a service"
  • Konzeption und Implementation eines Job Control Servers
    Siehe auch: Actis.BSP Kundenmagazin „uptodate“ 10/2003: Job Control Server
  • Konzeption der Abläufe um BSP Trade (ca. 15 Schnittstellen und EOD Verarbeitung, mehrere Mandanten)
  • Implementation dieser Abläufe in der Sprache des JCS
  • Implementation von ca. 80 Solaris Skripten pro Instanz
  • Dokumentation des JCS sowie der Abläufe und Skripte
  • Schulung interner Mitarbeiter (JCS, Perl, BSP Trade)
  • Solaris, Perl, C, ksh, sqlplus

West LB, Düsseldorf

01.1999 bis 03.2000
Senior Berater, Architekt und Programmierer
 
  • Einführung des Wertpapier Backoffice BSP Trade
  • Konzeption der Automation der Abläufe um BSP Trade mittels Control-M (ca. 30 Schnittstellen und EOD Verarbeitung)
  • Implementation von ca. 300 ksh und einem Dutzend JCL Skripten
  • Administration der Microfocus COBOL Workbench 4.x
  • Integration des SQL Precompilers Oracle ProCOB 1.x
  • Konzeption der Anbindung externer Teilnehmer
  • Dokumentation der Abläufe und Skripte
  • Schulung und Einarbeitung interner Mitarbeiter
  • Solaris, MVS, ksh, Perl, SQL, COBOL

Volkswagen, Wolfsburg

01.1999 bis 04.1999
Programmierer
 
  • Maschinelle Auswertung von ADSM-Protokoll-Dateien
  • Linux, MVS, REXX

compartner, Düsseldorf

03.1997 bis 12.1998
Berater und Leiter Anwendungsentwicklung
 
  • Leitung eines Teams zur Entwicklung von Werkzeugen zur Jahr-2000 Umstellung von IBM 370/390 Assembler-Programmen.
    Siehe auch: "Der Spiegel" (49/1998) vom 30.11.1998, Computer: Infektion in Zeile 16000
  • Entwicklung von Werkzeugen zur Jahr-2000 Umstellung von COBOL Programmen
  • AIX, Linux, MVS, Perl, ksh, C/C++

Universität Duisburg

09.1988 bis 06.1996
Student, Hilfskraft, Systemverwalter, Doktorand, Stipendiat
 
  • Studium der Mathematik, Informatik, Philosophie, Physik und Wirtschaft
  • Diplom-Mathematiker, Arbeit über die inverse Geometrie harmonischer Funktionen
  • Graduierten-Stipendium der Universität Duisburg
  • Dr. rer. nat., Arbeit über die validierte Numerik elliptischer Funktionen bei Prof. Luther
  • Programmierer in den Projekten DAALOG und ILFA
  • Programmierung einer interaktiven farbigen 3d Computer Animation
    Siehe auch: A. Janser, W. Luther, W. Otten, M. Ohsmann: "Computergrafik und Bildverarbeitung", Vieweg 1998
  • Systemverwalter
  • Dozent an den Volkshochschulen Moers und Duisburg (Office-Produkte, Wissenschaftliches Schreiben)
  • AIX, IRIX, MS-DOS, Novell, Windows, C, ksh, 80x86, prolog, lisp, forth, lex, yacc

Bayer Förderkreis

02.1992 bis 04.1993
Stipendiat
 

    Mc Kinsey, Wien und Düsseldorf

    08.1991 bis 10.1991
    Praktikant
     
    • Entwurf eines Modells zur Ermittlung der Umsatzerwartung von Filialen im Einzelhandel
    • Implementation des Modells und Auswertung für ca. 80 Filialen
    • MS Excel, Visual Basic

    Studienstiftung des deutschen Volkes

    04.1990 bis 04.1993
    Stipendiat
     

      Telenorma, Frankfurt

      07.1989 bis 01.1990
      Programmierer und Architekt
       
      • Programmierung einer Datenbankschnittstelle
      • Entwurf einer Abfragesprache und Beschreibung durch eine Grammatik
      • C, TNOS, EBNF

      Dateien

      Hier finden Sie hoffentlich Interessantes zum Lesen und Herunterladen

      Blockzerlegung von Assembler Programmen mit indirekten Sprüngen

      Mann-Kendall Test Statistik

      pt - Perl Templates ohne Template Sprache

      Nadeln und Heuhaufen - Suchen in linearer Zeit

      Jaro-Winkler, Daitch-Mokotoff und die Edit-Distanz: Wie man Kundennamen vor der Migration bereinigt

      28.09.2000

      Blockzerlegung von Assembler Programmen mit indirekten Sprüngen

      Beschrieben wird eine Heuristik für die Berechnung der sog. "dynamischen Blockzerlegung" von (Assembler) Programmen, welche indirekte Sprünge enthalten. Deren Auflösung ist der erste Schritt zur Anwendung bekannter Methoden der Datenflußanalyse mit dem Ziel diese Programme Jahr 2000 fähig zu machen.

      Der Algorithmus erkennt und behandelt Schleifen, Unterprogramme und Fallunterscheidungen (CASE Befehle), andere Konstrukte (wie selbst-modifizierender Code) werden erkannt und dem betreuenden Assembler Experten angezeigt. Die statische Blockzerlegung - die durch Betrachtung aller direkten Sprungbefehle erhalten wird - dient als Ausgangspunkt für eine fortlaufende Verfeinerung. Die bisherige Zerlegung wird in einer modifizierten Tiefensuche durchlaufen, solange der Besuch eines Knotens resp. einer Kante neue Information liefern kann. Schlließlich werden die verwendeteten Standard Techniken der Datenflußanalyse kurz dargestellt.

      Im Ergebnis konnten die Programme nicht nur Jahr 2000 fähig gemacht werden, es wurden im Verlauf der Analysen auch zahlreiche weitere Fehler gefunden und bereinigt, so dass die Häufigkeit des Auftretens von Fehlern im Betrieb - ohne die Jahr 2000 Fehler - um drei Viertel reduziert wurde.

      pdf

      04.03.2015

      Mann-Kendall Test Statistik

      Der Mann-Kendall Test ist ein Verfahren der robusten Statistik, kommt also ohne Annahmen über die Verteilung der Grundgesamtheit der zu testenden Daten aus, und ist dazu geeignet, Trends und "points of change" in den Daten zu finden (siehe etwa Mann-Kenndall Test und Kendall Rank Correlation Coefficient).

      Bereits im August 2004 wurde in der Gruppe sci.stat.math mitgeteilt, wie man die Mann-Kendall Test-Statistik mit Hilfe einer angereicherten Baumstruktur in O(n log n) berechnet (siehe Mann-Kendall test statistic), bevor der heute weit zitierte Artikel von D. Christensen 2005 erschien (siehe Fast algorithms for the calculation of Kendall's tau).

      18.03.2015

      pt - Perl Templates ohne Template Sprache

      Templates, Makros oder Schablonen sind auch heute noch unverzichtbarer Bestandteil von Software. Daher verwundert es nicht, dass im Netz, etwa auf CPAN, eine Reihe von Modulen für diesen Zweck zu finden sind, das Bekannteste ist sicherlich das Template-Toolkit.

      Implementiert wird hier in gut 100 Zeilen ein vollständiger Template-Mechanismus für Perl, welcher ohne eigene Template Sprache auskommt und in der ersten Fassung aus dem Jahre 2002 stammt. Die Idee die spracheigenen Mittel - in diesem Falle die von Perl - für die Template Sprache zu nutzen sowie die des "eval" gehören zur "Folklore" innerhalb der Lisp- und Forth-Community und stammen aus einer obskuren - vermutlich russischen - Quelle aus den 1960er Jahren.

      README

      tgz

      17.04.2015

      Nadeln und Heuhaufen - Suchen in linearer Zeit

      Zu Testzwecken bei der Einführung neuer Produkte stellte sich die Aufgabe, aus den produktiven Daten eines Netzbetreibers genau diejenigen heraus zu filtern, welche bestimmte Nummern enthalten. Sie bekommen also sagen wir 2.000 Telefonnummern und sollen jetzt etwa aus allen Datensätzen, die von der Hardware eines Netzbetreibers geliefert werden, genau diejenigen finden, in denen eine dieser Telefonnummern vorkommt. Dabei werden pro Tag mehrere Dutzend Millionen Datensätze geliefert.

      Diese Datensätze sind binär kodiert, besitzen verschiedene Arten und Längen und enthalten Telefonnummern an verschiedenen Stellen. Eine vollständige Dekodierung jedes einzelnen Datensatzes zur Ermittlung der vorkommenden Telefonnummern und folgender Abgleich gegen die Liste wäre daher viel zu aufwendig gewesen.

      Daher wurde ein zweistufiges Verfahren benutzt: es wurde zuerst entschieden, ob ein Datensatz überhaupt eine der fraglichen Nummern enthalten kann. Danach wurden die noch in Frage kommenden Datensätze dekodiert und untersucht. Dazu wurde eine Variante eines Bloom-Filters implementiert. Bloom-Filter sind eine probabilistische Datenstruktur, welche zu einer Menge von Werten und einer Anfrage entweder sagt "Kann in der Menge vorkommen" oder "Kommt definitiv nicht in der Menge vor". Das Ergebnis ist eine Liste von Datensätzen, in denen eine der Telefonummern vorkommen kann.

      Der Umfang der resultierenden Liste erlaubte eine exakte Dekodierung und Überprüfung jedes in Ihr enthaltenen Datensatzes. Durch dieses Vorgehen wurde die Laufzeit im Vergleich zum "naiven" Vorgehen ca. um den Faktor 10.000 reduziert.

      10.05.2015

      Jaro-Winkler, Daitch-Mokotoff und die Edit-Distanz: Wie man Kundennamen vor der Migration bereinigt

      Ein wichtiger Grundsatz aus dem Qualitätsmanagement lautet: "Ein Fehler kommt umso teurer zu stehen, je später er bemerkt wird". Daher wurde bei der Migration eines Abrechnungssystems beschlossen, die Bereinigung der ca. 100 Millionen Datensätze mit Kundendaten so gut wie möglich im Altsystem vorzunehmen, also vor der Migration in das neue System und im besten Fall nur vollständige und korrekte Angaben zu übernehmen.

      Die Bereinigung der Daten stand unter Anderem vor der Herausforderung, mit der Vielzahl von unterschiedlichen Namen aus diversen Sprachen und Kulturen umzugehen. Es ist das eine, aus "Mueller" ein "Müller" zu machen, bei "Meier" und "Maier" ist es dann schon schwieriger, und ausländische Namen vereinfachen die Aufgabe auch nicht.

      Es wird auf jeden Fall nützlich sein, ein Mass des Abstandes zwischen solchen Namen zu definieren. Als geeignet hat sich hierbei eine Modifikation des wenig bekannten Verfahrens von Jaro und Winkler erwiesen.

      Ebenso ein hilfreiches Werkzeug bei solchen Unterfangen ist die sog. "phonetische Suche". Das bekannteste solche Verfahren ist sicherlich der Soundex-Algorithmus, welcher allerdings nur sehr bedingt mit Namen aus dem nicht englischsprachigen Raum zurecht kommt. Wesentlich flexibler ist hier das jüngere Verfahren von Daitch-Mokotoff, welches für eine Vielzahl von Sprachen anwendbar ist und in einer veränderten Version zum Einsatz kam.

      Als letzter wesentlicher Baustein hat sich eine Suche innerhalb der Zeichenketten fester Damerau-Levenshtein Distanz, einer Variante der Edit Distanz, zu einer gegebenen Zeichenkette als hilfreich erwiesen. Hierzu wurde die entsprechende Nachbarschaftssuche - mit einem festen Abstand, meist 1 oder 2 - "ausprogrammiert" und hoch effizient implementiert.

      Im Ergebnis konnten mit Hilfe derartiger Techniken die Daten automatisch mit mehreren weicher werdenden Kriterien überprüft und ggf. sogar bereinigt werden. Die danach immer noch fraglichen Daten hatten einen so kleinen Umfang, dass sie dem Fachbereich zur Prüfung und Klärung vorgelegt wurden. So wurden im Ergebnis nur geprüfte und für gut befundene Daten in das neue System übernommen.

      Haftungsausschluß

      probits übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen. Haftungsansprüche gegen probits, welche sich auf Schäden materieller oder ideeller Art beziehen, die durch die Nutzung oder Nichtnutzung der dargebotenen Informationen bzw. durch die Nutzung fehlerhafter und unvollständiger Informationen verursacht wurden, sind grundsätzlich ausgeschlossen, sofern seitens probits kein nachweislich vorsätzliches oder grob fahrlässiges Verschulden vorliegt.

      Alle Angebote sind freibleibend und unverbindlich. probits behält es sich ausdrücklich vor, Teile der Seiten oder das gesamte Angebot ohne gesonderte Ankündigung zu verändern, zu ergänzen, zu löschen oder die Veröffentlichung zeitweise oder endgültig einzustellen.

      Bei direkten oder indirekten Verweisen auf fremde Internetseiten ("Links"), die außerhalb des Verantwortungsbereiches von probits liegen, würde eine Haftungsverpflichtung ausschließlich in dem Fall in Kraft treten, in dem probits von den Inhalten Kenntnis hat und es ihr technisch möglich und zumutbar wäre, die Nutzung im Falle rechtswidriger Inhalte zu verhindern.

      probits erklärt hiermit ausdrücklich, dass zum Zeitpunkt der Linksetzung keine illegalen Inhalte auf den zu verlinkenden Seiten erkennbar waren. Auf die aktuelle und zukünftige Gestaltung, die Inhalte oder die Urheberschaft der gelinkten/verknüpften Seiten hat probits keinerlei Einfluss. Deshalb distanziert probits sich hiermit ausdrücklich von allen Inhalten aller verlinkten / verknüpften Seiten, die nach der Linksetzung verändert wurden. Diese Feststellung gilt für alle innerhalb des eigenen Internetangebotes gesetzten Links und Verweise sowie für Fremdeinträge in von probits eingerichteten Gästebüchern, Diskussionsforen und Mailinglisten. Für illegale, fehlerhafte oder unvollständige Inhalte und insbesondere für Schäden, die aus der Nutzung oder Nichtnutzung solcherart dargebotener Informationen entstehen, haftet allein der Anbieter der Seite, auf welche verwiesen wurde, nicht derjenige, der über Links auf die jeweilige Veröffentlichung lediglich verweist.

      probits ist bestrebt, in allen Publikationen die Urheberrechte der verwendeten Grafiken, Tondokumente, Videosequenzen und Texte zu beachten, von ihr selbst erstellte Grafiken, Tondokumente, Videosequenzen und Texte zu nutzen oder auf lizenzfreie Grafiken, Tondokumente, Videosequenzen und Texte zurückzugreifen.

      Alle innerhalb des Internetangebotes genannten und ggf. durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Allein aufgrund der bloßen Nennung ist nicht der Schluß zu ziehen, dass Markenzeichen nicht durch Rechte Dritter geschützt sind.

      Das Copyright für veröffentlichte, von probits erstellten Objekten bleibt allein bei probits. Eine Vervielfältigung oder Verwendung solcher Grafiken, Tondokumente, Videosequenzen und Texte in anderen elektronischen oder gedruckten Publikationen ist ohne ausdrückliche Zustimmung von probits nicht gestattet.

      Sofern innerhalb des Internetangebotes die Möglichkeit zur Eingabe persönlicher oder geschäftlicher Daten (Emailadressen, Namen, Anschriften) besteht, so erfolgt die Preisgabe dieser Daten seitens des Nutzers auf ausdrücklich freiwilliger Basis. Die Inanspruchnahme und Bezahlung aller angebotenen Dienste ist - soweit technisch möglich und zumutbar - auch ohne Angabe solcher Daten bzw. unter Angabe anonymisierter Daten oder eines Pseudonyms gestattet.

      Dieser Haftungsausschluss ist als Teil des Internetangebotes zu betrachten, von dem aus auf diesen Inhalt verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollständig entsprechen sollten, bleiben die übrigen Teile des Dokumentes in ihrem Inhalt und ihrer Gültigkeit davon unberührt.

      Impressum

      probits GmbH & Co. KG
      Otto-Schmiedt-Strasse 34
      04179 Leipzig

      +0049-341-49578730
      +0049-176-34114870

      Kontakt

      Leipzig HRB 27729
      USt-ID: DE 50 674 398 286
      probits Verwaltungs GmbH
      Leipzig HRA 16572
      Dr. Knud Werner (Geschäftsführer)

      V.i.S.d.P. gemäß §55 Abs. 2 RStV: Dr. Knud Werner