pdTech

PROGRAMMING, DIGITALIZATION & TECHNOLOGY

PROGRAMMING, DIGITALIZATION & TECHNOLOGY

PROGRAMMING

PROGRAMMING

DIGITALIZATION &

DIGITALIZATION &

TECHNOLOGY

TECHNOLOGY

Softwareentwicklung, Digitalisierung und KI nicht aus reinem Selbstzweck!

Langjährige Erfahrung

Wir besitzen langjährige Erfahrung sowohl in der Entwicklung und dem Engineering von Software und KI (ist Software) als auch in der Planung, Beratung und Implementierung von Software- und Systemarchitekturen für die Industrie und den (produzierenden) Mittelstand, darunter zahlreiche Hidden Champions.

Wir implemtierten bereits ERFOLGREICH zahlreiche Software- und KI-Projekte...

  • im ERP- und MES-System-Umfeld
  • von KI-Modulen auf Basis des Machine Learnings und neuronalen Netzen
  • von Schnittstellen zu u.a. CAD- und Buchhaltungssoftware,
  • von Progressive WebApps, hybriden und nativen Apps
...

"Persönlich entwickelte ich in den vergangenen Jahren federführend Software - u.a. (Integrations-Server-)Schnittstellen, Backends, Frontends - Progressive Web Apps, native und hybride Apps, Scripts etc. - auf Basis unseres Technologie-Stacks für Unternehmen wie Audi, Hargassner, Schwarzmüller, Axess AG, Wittmann Group, Seisenbacher, SW Automatisierung, AAT, etc. im Rahmen meiner Tätigkeit als angestellter Senior Fullstack Developer, Software Engineer und technischer / technologischer Berater für die PSI Software SE." , konstatiert unser Inhaber Patrick Dauster.

Unsere Erfahrung mit ERP- und MES-Systemen, Schnittstellen und Progressive WebApps...
  • Immer mehr Unternehmen setzen ein Enterprise Resource Planning System (ERP-SYSTEM) als führendes Software-System für ihr ganzes Unternehmen ein.
  • Produzierende Unternehmen etablieren verstärkt ein Manufacturing Execution System (MES-System) als führendes Software-System zur FEINPLANUNG und FEINSTEUERUNG in der Produktion.
  • Wir wissen nicht nur genau wie diese Systeme funktionieren, sondern verfügen über umfangreiches und tiefgreifendes PROZESS- und WERTEFLUSS Know How, sodass wir bereits zahlreiche SCHNITTSTELLEN und PROGRESSIVE WEB APPS, HYBRIDE und NATIVE APPS zu und für diese(n) und andere(n) Software-Systeme(n) IMPLEMENTIERT haben.

Technologie Know How

Professionelle Softwareentwicklung auf höchstem Niveau setzt 3 Dinge voraus, die gleichgewichtig sind:

Ein sehr starkes MATHEMATISCHES FUNDAMENT und VERSTÄNDNIS sowie LOGISCHES DENKEN. Mathematik ist dabei die Sprache, mit der die "Realität" so exakt und objektiv wie möglich beschrieben werden kann. Ein herausragendes Beispiel stellen die 4 Maxwell-Gleichungen im Bereich Elektrodynamik (Physik) dar. Mathematik ist das FUNDAMENT der Informatik!

    Umfangreiches und tiefgreifendes Wissen über die Technologien sowie deren einzelne Ökosysteme im Sinne von:
  • Aus welchem Grund wurden sie überhaupt entwickelt und welche(s) Aufgabe(n) / Problem(e) lösen sie genau?
  • Wie lassen sich diese Technologien effizient einsetzen?
  • Wie lassen sich diese Technologien bei Bedarf so kombinieren, damit sie ihr volles Potential entfalten? Python in Kombination mit C und C++ oder gar Java und C++?

Den Willen und die Fähigkeit, die Kunden bzw. die User der Software und ihre Aufgabenstellung so zu verstehen, sodass man die GLEICHE SPRACHE spricht. Nur auf dieser Grundlage kann man GEMEINSAM eine Softwarelösung entwickeln, die genau das tut, was sie tun soll und die auch vom User effizient genutzt werden kann.

Mit unserem Technologie-Stack - siehe unten - lässt sich für jedes erdenkliche Problem, das sich durch Datenstrukturen und den auf ihnen operierenden Algorithmen abbilden lässt, eine effiziente und userfreundliche Softwarelösung entwickeln...
  • Tatsächlich sorgt oft erst die KOMBINATION VON TECHNOLOGIEN für die performanteste, effizienteste und userfreundlichste Lösung eines konkreten Anwendungsfalles.
  • Python und C/C++ ergänzen sich z.B. sehr gut. Sogar Java und C++ lassen sich bei Bedarf sehr gut kombinieren, insbesondere wenn Module eines Java-Programmes die maschinennahe Power von C oder C++ benötigen.
  • Künstliche Intelligenz (KI) ist ein Teilgebiet der Informatik. Machine Learning, neuronale Netze, Transformer, etc. basieren vor allem auf Mathematik und Algorithmen; diese werden mit Technologien auf der low-level (maschinennahen) Ebene mittels vor allem C++ und auf der high-level Ebene (hohe Abstraktion) mittels vor allem Python implementiert.
  • Denn Maschinen bzw. Computer müssen softwaregestützt von
    • "KI-Entwicklern" - immer noch Software-Entwickler -
    • "trainiert" - eine andere Art der Programmierung -
    werden, damit sie irgendwann u.a. Text, Bilder, Gegenstände, Menschen etc. erkennen und "Entscheidungen" treffen können.
  • Wir setzen u.a. DOCKER ein, um unsere Anwendungen in "CONTAINER" zu packen und zu "DEPLOYEN".
  • Wir versionieren mit GIT oder SVN - je nach Kundenwunsch.

Erfolgreiche Implementierung

Unsere Softwarelösungen auf Basis unseres Technologie-Stacks funktionieren nachweislich bei unseren Kunden; die Kunden / User können damit effizient arbeiten.

Das umfangreiche Testen der Software - automatisiert und mittels Testplänen - und die fortwährende Anpassung der Software in der Entwicklungsphase an die Bedürfnisse des Users / der Kunden sind für uns ein extrem wichtiger Baustein.

Bereits in der Entwicklungsphase legen wir großen Wert darauf, dass die Software so WARTUNGSARM wie möglich und im Bedarfsfall auch vom KUNDEN SELBST ohne grosses Software- und Technolgie Know How konfiguriert bzw. angepasst werden kann.

In den Bereichen Datenanlayse, -aufbereitung und -visualisierung sowie Maschinellem Lernen (ML) arbeiten wir u.a. mit Jupyter Notebooks.

Wir dokumentieren unsere Softwarelösungen ausführlich und verwenden dafür u.a.ASCII-DOC.

TECHNOLOGY STACK

X

Künstliche Intelligenz

KI ist originärer und integraler Bestandteil der Informatik!

Sie basiert auf Mathematik (Tensoren, Näherungsfunktionen, etc.) und speziellen Algorithmen. Die Art der Programmierung unterscheidet sich dabei stark von der "klassischen" Art, Algorithmen zu implementieren.

Open Source Frameworks wie TensorFlow (von Google) oder PyTorch für u.a. MACHINE LEARNING (ML) mittels Python, haben z.B. ihre Kerne in C++ implementiert und bieten auch eine C++-API an, insbesondere für rechenintensive Aufgaben, die funktionale low-level-Programmierung erfordert.

Wir implementieren für Sie gerne Ihre eigenen "KI"-Anwendungen und / oder integrieren diese in Ihre (bestehende) Software.

Mehr zu KI...

Im Bereich Machine Learning (ML) und Deep Learning (DL) - ein Teilbereich des ML - konzipieren und entwickeln wir Trainingsmodelle auf Basis von (mehrschichtigen) neuronalen Netzen.

KI
Mathematik
Machine
Learning
Neuronale Netze
Deep Learning
X

C und C++ inkl. Ökosystem

C und C++ stehen für 3 Dinge: Speed, Speed und nochmal Speed.

Mit C und C++ wurden und werden Compiler gebaut; es wird Treibersoftware programmiert, die Grafik-, Sound- oder Netzwerkkarten anspricht.

Unix, Linux, Windows und MacOS sind in C (und teilweise Assembler) geschrieben; bei betriebssystemnaher Programmierung bzw. bei Software, die auf die allgemeinen Funktionen eines Betriebssystem zugreifen soll, sind C und C++ essentiell!

Im Embedded Bereich mit wenig Speicherkapazitäten sind C und C++ deshalb die Nr. 1, vor allem wenn es darum geht, als Programmierer den Speicher selbst zu verwalten und z.B. Objekte auf dem Heap zu speichern.

Wir bieten auch maschinenennahe Programmierung mit Assembler oder Fortran.

Mehr zu C u. C++...

lorem50

X

Python inkl. Ökosystem + Mojo

An Python kommt man im Bereich KI nur schwer vorbei, wenn man als Softwareentwickler leistungsstarke und effiziente Bibliotheken bzw. Frameworks zum Entwickeln von KI (Machine Learning, Deep Learning) nutzen will.

Das Ökosystem in den Bereichen wissenschaftliches Rechnen, Data-Science bzw. Datenanlayse- und -visualisierung ist ebenfalls hervoragend:

  • Numpy
  • SciPy
  • matplotlib
  • pandas

Python ist prädestiniert für RAPID PROTOTYPING!

Mehr zu Python...

In möglichst kurzer Zeit kann aufgrund der umfangreichen Standard-Bibliothek ein lauffähriger Software-Prototyp entwickelt werden, der dann hinterher bei Bedarf in einer anderen Programmiersprache implementiert werden kann.

X

Java inkl. Ökosystem

Java ist nicht nur aufgrund des gewaltigen Ökosystems stark im Bereich Business- / Enterprise-Software vertreten. Es heisst oft, Java sei das "neue COBOL" wie bei Banken und Versicherungen...

Anwendungsintegration ist nach wie vor ein großes Thema bei sehr vielen Unternehmen. Wenn es darum geht, verschiedene Systeme miteinander zu vernetzen und in eine gemeinsame Systemlandschaft einzugliedern, bietet Java mit seinen verschiedenen Frameworks zahlreiche Möglichkeiten:

  • vom ganz "großen Geschütz" Enterprise Service Bus (ESB) über
  • Enterprise Integration- & API-Platform(-as-a-service),
  • die Integration mittels Webservices, die den Rest-Architekturstil oder (etwas älter) das SOAP-Protokoll verwenden bis hin zu
  • einem Integrationsframework wie Apache Camel, das eine Routing- und Mediations-Engine enthält.
Mehr zu Java...

Wir sind Spezialisten im Bereich Anwendungsintegration mit Java und arbeiten mit folgenden Frameworks:

X

Web-Technologien

Frontends, Backends, Protokolle und Datenbanken

Jedes mobile Endgerät mit einem Betriebssystem (OS) - von iOS (Apple) bis zu Android (Google) etc. - kann einen Webbrowser (Chrome, Firefox, Microsoft Edge, Safari, etc.) ausführen.

Auf mobilen Endgeräten mit dem Android-OS, das auf einem Linux-Kernel basiert, ist oft standardmäßig einen Chrome Browser vorinstalliert. Der Chrome Browser enthält die sog. V8 JavaScript Engine, die von Google (laufend) weiterentwickelt wird.

Diese V8 ist eine open-source, high-performance JavaScript und WebAssembly Engine, also eine Laufzeit-Umgebung (Runtime-Envioronment - JIT-Compiler und Interpreter), die dafür sorgt, dass Java-Script und damit (interaktive) Webanwendungen auf jedem Android-Gerät funktionieren.

Zudem wird die V8 Engine auch in der Node.js Laufzeitumgebung genutzt, wodurch JavaScript auch serverseitig ausgeführt werden kann.

Mehr zu Webtechnologien...

Firefox mit SpiderMonkey und Safari mit JavaScriptCore verfügen über jeweils eigene JavaScript-Engines. Micrsosoft Edge nutzt ebenfalls die V8 JavaScript Engine. Alle JavaScript-Engines wiederum sind Bestandteil der jeweiligen Browser-Engines (Rendering Engines):

  • Chrome, Edge - Blink (Google)
  • Safari - WebKit (Apple)
  • Firefox - Gecko (Mozilla)

Sämtliche Web-Apps basieren auf den drei Kern-Technologien HTML (Auszeichnungssprache), CSS (Stylesheet-Sprache) und JavaScript, die letztlich in den jeweiligen Browsern mittels deren eigenen Browser-Engines gerendert und ausgeführt werden.

Frontend- (client-seitig) entwickeln wir - je nach Anforderung - Progressive Web-Apps (PWA) oder hybride Apps u.a. mit Angular oder React, oder auch native Android-Apps auf Basis von Kotlin oder Java unter Verwendung des Android-Studios.

Mit nativen Apps hat man z.B. bei Android-Geräten vollen Zugriff auf die Hardware- und Systemressourcen des jeweiligen Gerätes.

Im Backend-Bereich (serverseitig) greifen wir je nach Aufgabenstellung auf die Technologien PHP, Python, Node.js oder Java zurück.

X

Linux, Linux-Server, Docker, Kubernetes

Beim Trainieren von KI kommen Sie an Linux bzw. an Linux-Servern nicht vorbei (Windows-Server sind u.a. einfach nicht performant genug!).

Das Android-OS ist weltweit das mit Abstand am meisten implementierte Betriebssystem auf mobilen Endgräten mit einem Marktanteil von gut 70%, und es basiert auf einen Linux-Kernel.

"Erstaunlicherweise ist der Siegeszug von Linux nur IT-Profis bewusst: Milliarden Menschen verwenden Andorid-Smartphones, nutzen Server der Cloud-Infrastuktur, WLAN-Router und IoT-Geräte, ohne zu wissen, dass auf fast allen diesen Geräten Linux läuft.", schreibt Michael Kofler im Vorwort seines "Kofler", das als das Standardwerk zu Linux gilt.

Mehr zu Linux...

Gut 2/3 aller Software-Projekte in Unternehmen scheitern nachweislich...?!

Mit pdTech nicht!

Erfolgsquote = 100%

PROVEN