Cover

Techtiefen

Technologien erklärt, von Nerds für Nerds

Alle Folgen

  • 27.05.2021
    63 MB
    01:15:47
    Cover

    #35 Entwicklertools erstellen

    Techtiefen 35 wird etwas Meta und behandelt keine Technologie direkt, sondern thematisiert mit Florian Wetschoreck was es bedeutet ein Arbeitstool für andere Entwickler zu entwickeln. Florian ist Mitgründer von 8080Labs, die nicht nur an der Pandas-GUI bamboolib arbeiten, sondern auch Pakete wie pyforest und den ppscore veröffentlicht haben.\n\nFlorian erzählt zu Beginn, wie es zur Idee kam, eine einfachere, interaktive Bedienoberfläche für das Daten-Transformationstool Pandas zu entwicklen und wie er seine Masterarbeit nutzte, um die Idee zu verwirklichen. Dabei setzte er stark auf die Contextual Inquiry, eine Methodik bei der er den Nutzer zunächst über einen längeren Zeitraum passiv bei seiner Arbeit beobachtet und ihn erst im Anschluss dazu befragt, warum er Aktionen wie durchgeführt hat. Bei diesen Beobachtungen entstand auch die einfache Erkenntnis, dass fehlende import Statements immer wieder ein Grund für einfache Fehler sind, welche zwar schnell gelöst werden können aber den Workflow unterbrechen. So kam es etwa zu pyforest, einer kleinen Bibliothek das fehlende Tools unter den gängigen Namenskonventionen import, sollten sie genutzt aber nicht importiert worden sein.\n\nNeben Fragen zur Produktentwicklung geht es auch um Themen wie Monetarisierung und die Erkentniss, dass in der Regel nicht Entwickler selbst sondern ihre Unternehmen für ihre Tools zahlen, was dazu führt, das Bambolib 1.0 in der Basisversion frei verfügbar ist und nur für spezielle Features wie etwas Plugins die typischerweise im Unternehmen eingesetzt werden eine Lizenz notwndig ist. \n\nAuch wenn der Podcast ein grobes Verständnis für datenzentrierte Arbeiten und Jupyter Notebooks voraussetzt (hört in Folge 34 rein, wenn euch das noch nichts sagt), ist er vermutlich etwas weniger technisch und einfacher zu konsumieren als andere Folgen. Ansonsten sei euch noch Florians Artikel "RIP correlation. Introducing the Predictive Power Score" empfohlen, viel Spaß beim hören, lesen und ausprobieren.\n

    ...mehr
  • 27.05.2021
    82 MB
    01:38:13
    Cover

    #34 Jupyter Notebooks

    #34 Jupyter Notebooks

    ...mehr
  • 27.05.2021
    71 MB
    01:25:15
    Cover

    #33 Postgres als DWH

    PostgreSQL (Postgres) gilt als die fortschrittlichste und mächtigste Open Source Datenbank. Dank breiter Unterstützung des SQL-Standards, langjähriger Stabilität und einer großen Community ist sie heute häufig die erste Wahl zur Speicherung tabellarischer Daten.Hans-Jürgen Schönig arbeitet seit über 20 Jahren als Postgres Consultant und beschreibt im Podcast, wo die Stärken der relationalen Datenbank liegen und wie Transaktionssicherheit für DDLs das Handling großer Systeme erleichtert. Zudem erklärt er, wieso man Performance-Bottlenecks nicht in Load-Graphen sondern in den Abfragen selbst suchen soll und gibt Tipps um die Ausführungszeiten jener zu reduzieren.Anders als analytische Datenbanken oder etwa Apache Parquet (Folge 31) ist Postgres zeilenorientiert. Dank der Erweiterung Postgres in vielerlei Hinsicht zu erweitern, bietet sich dennoch die Möglichkeit Postgres auch für analytische Workloads wie etwa im DWH-Umfeld einzusetzen. Thomas Richter hat hierfür (Swarm64) gegründet, ein Startup das Postgres um einen Columnstore Index erweitert und mit zusätzlichen Statistiken und Operatoren die Planung und Ausführungszeit von Abfragen reduziert. Thomas gibt im Podcast hierfür Einblicke wie Postgres Abfragen parallel ausführt ohne Konsistenz-Garantien zu verletzen.Abschließend vergleichen wir gemeinsam die Performance von Postgres mit kommerziellen Konkurrenzprodukten und open source Alternativen wie Greenplum.

    ...mehr
  • 27.05.2021
    96 MB
    01:54:13
    Cover

    #32 AutoML

    Marius Lindauer ist Professor an der Universität Hannover und einer der Köpfe hinter AutoML.org, einer der renommiertesten Forschungsgruppen auf dem Gebiet, die unter anderem Auto-sklearn, Auto-PyTorch und SMAC entwickelt hat. Er erläutert uns, wie AutoML unterfahrenen Nutzern das Training von state-of-the-art Machine Learning Modellen ermöglicht und Data Scientist als mächtiges Werkzeug dienen kann.Zunächst besprechen wir am Beispiel des Hyperparameter Tunings welche Verfahren existieren, um automatisch die richtigen Modellkonfiguration aus dem hochdimensionalen Parameterraum auszuwählen. Die statischen Grid- und Random Search Verfahren sind zwar gut parallelisierbar, jedoch sind evolutionäre und bayesian Verfahren durch die Nutzung eines intelligenten Meta-Learners wesentlich effizienter.AutoML bedeutet jedoch nicht nur die Optimierung von Hyperparametern, sondern die integrierte Optimierung der gesamten Machine-Learning Pipeline, vom Feature-Preprocessing, über das Modelltraining bis hin zum effizienten Tuning und Stacking. Wir besprechen, wie AutoML von den ersten Ansätzen im Bereich Neuroevolution sich weiterentwickelt hat und mit Google AutoML seinen "ImageNet Moment" erlebt hat. Wir besprechen zudem die aktuell gängigsten Frameworks: Auto-sklearn, Auto-PyTorch, AutoKeras, AutoGluon, TeaPot und AutoWeka.Links:AutoML Buch von AutoML.orgAutoML in der Cloud Blog Artikel von NicoAutoML BenchmarkKI-Campus Online-Kurs zu AutoML

    ...mehr
  • 27.05.2021
    65 MB
    01:18:18
    Cover

    #31 Effiziente Datenverarbeitung

    Uwe Korn ist Data Engineer und engagiert sich seit mehreren Jahren in verschiedenen Open Source Projekten, insbesondere Apache Parquet und Apache Arrow.Apache Parquet ist ein spaltenorientiertes Speicherformat für tabellarische Daten, mit einer guten Schreib- und Leseperformance für Batch-Prozesse. Parquet erfasst dazu beim Schreiben die Datentypen und zahlreiche Metriken, um mit eingebauter Komprimierung die Dateigröße deutlich zu komprimieren. Dazu reden wir auch über andere Datenformate wie Avro, CSV, ORC, Hdf5 und Feather.Apache Arrow ist ein In-Memory Speicherformat für Daten, welches die Brücke zwischen zahlreichen den Programmiersprachen schlägt. Dadurch wird es möglich, in C-Code, Java, Rust oder einer der anderen implementierten Sprachen auf die gleichen Daten zuzugreifen. Uwe erklärt uns, wie diese Sprach-Brücke funktioniert und wie Arrow zukünftig nicht nur zur Haltung sondern auch zur Verarbeitung von Daten eingesetzt werden kann.Zum Abschluss befrage ich Uwe zu seinem Engagement im Open Source Umfeld. Wie hat er den Einstieg gefunden? Wie lässt sich Open Source mit Beruf und Privatleben vereinbaren? Und worauf sollte man achten, wenn man selbst ein Open Source Projekt unterstützen möchte?Weiter Links:ChanZuckerberg-Stiftung unterstützen Arrow

    ...mehr
  • 27.05.2021
    74 MB
    01:28:08
    Cover

    #30 Fuzzing

    Fuzzing ist neben statischer und dynamischer Code-Analyse eine Methodik, um qualitativ hochwertigen und fehlerfreien Softwarecode zu erzeugen. Anders als bei Unit-Tests werden beim Fuzzy Testing Testfälle nicht manuell definiert, sondern anhand von statistischen Funktionen zufällig erzeugt. Durch eine hohe Anzahl der so generierten Tests wird das Programm auch auf außergewöhnliche Eingabeparameter getestet, welche häufig Sicherheitsschwachstellen darstellen und daher Angreifern genutzt werden.Mit Sergej Dechand rede ich über fehlerfreien und somit sicheren Softwarecode und welche Arten von Code-Analyse dazu wie beitragen können. Er erzhält von der Entwicklung des Fuzzy Testing, welche bereits bei zufälllig gewählten Lochkarten ihren Ursprung hat, zwischenzeitig an Bedeutung verlor, derzeit aber große Erfolge vorweisen kann. Dies liegt zum einen an technischen Weiterentwicklungen hin zu intelligenterem Fuzzing wie etwa AFL, welches brute-force Fuzzing mit genetische Algorithmen zur Auswahl vielversprechender Parameter kombiniert. Desweiteren sorgen Fuzzing-Initiativen der großen Tech-Player wie etwa OSS-Fuzz für aufsehen, da sie immense Mengen bisher unerkannter Sicherheitslücken in open-source Software aufdeckt. Sergej erklärt darüber hinaus auch, wie Fuzzing am besten instrumentiert wird, wohin die aktuelle Forschung zielt und wo derzeit die größten Probleme in der Umsetzung liegen.Sergej ist Mitgründer von Code-Intelligence, einem Startup welches Firmen bei der Umsetzung von Fuzzy Testing in der Praxis unterstützt.

    ...mehr
  • 27.05.2021
    108 MB
    02:09:11
    Cover

    #29 Recommender Systems

    Recommendations, also Empfehlungen, sind mindestens so alt wie das Orakel von Delphi und der Hauptbestand zahlreicher Dienstleistungsberufe. Recomendation Systems hingegen sind ein spezieller Bereich des Information Retrieval und erst durch Amazon, Netflix und Spotify wirklich populär geworden. In dieser ausführlichen Techtiefenfolge erklärt Marcel Kurovski mit zahlreichen Beispielen das wesentliche Vorgehen dieser “Informationsaggregationsmaschinen”, welche von Collaborative Filtering über Matrixfaktorisierung bis zu Deep Learning reichen. Wir sprechen über die unterschiedlichen Stufen von Personalisierung und worin der Unterschied zur Suche besteht. Die Vor- und Nachteile von Relevanz als wichtigste Metrik für Recommender Systems kommen zur Sprache, genauso wie alternative Metriken wie Diversität, Novelty oder Robustheit, welche gerade zuletzt größeres Interesse erfahren. Marcel erzählt zudem einige Anekdoten aus der Geschichte der Recommender Systems und gibt einen Ausblick auf aktuelle Forschung und zukünftige Entwicklungen.

    ...mehr
  • 27.05.2021
    53 MB
    01:04:03
    Cover

    [Dev-Basics] CI / CD

    Continous Integration (CI) und Continous Deployment (CD) sind die Verbindung der unterschiedlichen Schritte im Entwicklungsprozess. Mit entsprechenden CI/CD Pipelines lässt sich Quellcode schnell und automatisiert testen, bewerten, bauen und veröffentlichen. Mit Sebastian Messingfeld spreche ich darüber, wieso entsprechende Pipelines nicht nur ein Zeit- sondern auch ein Qualitäts- und Zufriedenheitsgewinn sind. Wir gehen gemeinsam durch die unterschiedlichen Schritte einer solchen Pipeline, von einfachem Quellcode Liniting bis hin zum Release im App Store. Dabei gehen wir auf die Besonderheiten unterschiedlicher Plattformen (iOS, Windows, Embedded...) ein und geben einige unserer persönlichen Erfahrungen Preis, um den Workflow individuell auf die persönlichen Anforderungen zuzuschneiden. Außerdem sprechen wir über die zahlreichen unterschiedlichen technischen Lösungsoptionen, von integrierter CI im Versionskontrollsystem über klassische CI Server wie Jenkins bis hin zu gehosteten Angeboten wie etwa Bitrise, CircleCI oder Azure DevOps.**Links:*** [Sebastians Vortrag](https://speakerdeck.com/messeb/cd-for-ios-projects) * [Project Phoenix](https://www.oreilly.de/buecher/12508/9783958751750-projekt-phoenix.html) * [GitLab CI (Nicos Favorit)](https://docs.gitlab.com/ee/ci/) * [Sebastians CI-Empfehlungen](https://www.bitrise.io/)

    ...mehr
  • 27.05.2021
    55 MB
    01:05:26
    Cover

    [Dev-Basics] Testing

    Tests gehören inzwischen zur modernen Software Entwicklung genauso wie sauberer Quellcode und Versionskontrolle. Rene Lengwinat erklärt in Folge 27 von Techtiefen warum Tests Quellcode nicht nur fehlerfreier und wartbarer machen, sondern auch zu einem besseren Design führen. Gemeinsam gehen wir durch die Test-Pyramide und besprechen die Vorteile von Unit-, Integrations- und End2End Tests sowie ihren favorisierten Einsatzzweck. Rene erklärt mir außerdem, wann testgetriebene Entwicklung wirklich praktikabel ist und was es mit Fuzzy Testing auf Sicht hat. Darüber hinaus wirft er einen Blick auf aktuelle Entwicklungen im Bereich Softwaretests, die Bedeutung von gutem Monitoring und Chaos Engineering.Tests gehören inzwischen zur modernen Software Entwicklung genauso wie sauberer Quellcode und Versionskontrolle. Rene Lengwinat erklärt in Folge 27 von Techtiefen warum Tests Quellcode nicht nur fehlerfreier und wartbarer machen, sondern auch zu einem besseren Design führen. Gemeinsam gehen wir durch die Test-Pyramide und besprechen die Vorteile von Unit-, Integrations- und End2End Tests sowie ihren favorisierten Einsatzzweck. Rene erklärt mir außerdem, wann testgetriebene Entwicklung wirklich praktikabel ist und was es mit Fuzzy Testing auf Sicht hat. Darüber hinaus wirft er einen Blick auf aktuelle Entwicklungen im Bereich Softwaretests, die Bedeutung von gutem Monitoring und Chaos Engineering.

    ...mehr
  • 27.05.2021
    76 MB
    01:30:25
    Cover

    [Dev-Basics] Git

    Der Umgang mit git oder einem anderen Versionskontrollsystem gehört zum Alltag von so ziemlich jedem Entwickler. git hat als dezentrales System gegenüber SVN oder Subversion zahlreiche Vorteile, ist jedoch auch sehr umfangreich und bietet auch erfahrenen Nutzern nach Jahren der Übung immer wieder neue Tricks, um sich noch effizienter in den persönlichen oder den Workflow des Teams einzufügen.Mit Stefan Lengfeld spreche ich über das beliebte Versionskontrollsystem, seinen Ursprung und seinen generellen Aufbau, um einmal wirklich zu verstehen, was bei Befehlen wie `git checkout` unter der Shell passiert. Anschließend gehen wir auf die Kollaboration im Team ein, welche verschiedene Branching-Strategien notwendig macht. Stefan und ich berichten außerdem aus unserem Projektalltag und gehen dabei etwa auf das Develope-Master-Pattern ein und wie wir mit Hot-Fixes und Releases umgehen. Und zum Abschluss verraten wir euch dann noch unsere liebsten git Befehle, die unseren Alltag vereinfachen.LinksGit Flow Git Workflows podcast von Coding Blocks

    ...mehr
  • 27.05.2021
    57 MB
    01:08:47
    Cover

    [Dev-Basics] Clean Code

    Clean Code bezeichnet Quellcode, der intuitiv verständlich ist und so zu stabileren und besser wartbaren Systemen führt. Der Begriff entstammt dem gleichnamigen Buch von Robert Cecil Martin (alias Uncle Bob), welches auch eine Vielzahl an Tipps und Praktiken bietet, welche ich mit Torsten Flatter gemeinsam Bespreche. Zunächst geht es um das bekanntlich schwierige Thema von guten Namen für Variablen und Funktionen und Lesbarkeit im Generellen. Anschließend sprechen wir darüber, was neben der Länge eine gute Funktion ausmacht und warum man nicht zu viel kommentieren sollte. Wir sprechen außerdem über Struktur von Software Code, wie vertikale Sortierung und maximale Zeilenbreite, und widmen uns diversen Prinzipien wie das KISS- und das SOLID-Prinzip.

    ...mehr
  • 27.05.2021
    102 MB
    02:02:40
    Cover

    [cloud] Private Cloud mit OpenStack

    Die abschließende Folge des Reihe rund um Software Deployment und Cloud geht architektonisch in die Tiefe. Nils Domrose berichtet davon, wie er mit seinem Team ein eigenes Cloud-Angebot aufgebaut hat und betreibt. Zunächst besprechen wir die Anforderungen, die es bei der Auswahl eines geeigneten Rechenzentrums zu berücksichtigen gilt. Neben Basisanforderungen wie Strom und Netzwerk besprechen wir auch, wie man an ausreichend IP-Adressen kommt und mit Fehlersituationen man kalkulieren muss. Anschließend geht es um die Planung von Hard- und Software. Hierbei gehen wir insbesondere auf OpenStack ein, ein open-source Projekt zum Betrieb einer Cloud-Infrastruktur. Nils erklärt dabei nicht nur die Grundlagen, sondern berichtet auch von den Abwägungen die sie zu ihrer Lösung gebracht haben und erzählt von Stolpersteinen und Herausforderungen auf diesem Weg.

    ...mehr
  • 27.05.2021
    94 MB
    00:00
    Cover

    [cloud] K8s, Serverless, Service Mesh

    Die zweite Folge der Serie rund um Cloud und modernes Software Deployment widmet sich unterschiedlichen, derzeit sehr beliebten Strategien um Software bereitzustellen: Container / Kubernetes, Serverless Computing und innerhalb eines Service Meshes. Bevor wir in die Details gehen diskutieren wir zunächst darüber, was überhaupt gutes Software Deployment ist und worin die Unterschiede zwischen imperativen und deklarativen Vorgehensweisen liegen. Dann gibt es einige News aus der Kubernetes Welt, etwa zum Operator-Pattern und K Native. Danach besprechen wir, wo Serverless Computing anfängt und aufhört und erklären, welche Vorteile und Komplexitäten ein Service Mesh mit sich bringt.

    ...mehr
  • 27.05.2021
    66 MB
    01:19:19
    Cover

    [cloud] Public Cloud

    In der ersten Folge der neuen Serie rund um Cloud und modernes Software Deployment erklärt Alexander Thiel die wesentlichen Grundlagen von öffentlichen Cloud-Angeboten. Wir führen in grundlegende Konzepte wie Regions und Availability Zones ein und besprechen Basis-Terminologie wie SaaS, PaaS und IaaS. Alex und Nico berichten von den eigenen ersten Erfahrungen mit der Cloud und berichten von Migrations-Projekten. Anschließend gehen wir durch die wichtigsten Unterschiede zwischen einer Software Architektur auf eigener Hardware und in der Cloud und bewerten Vor- und Nachteile hinsichtlich Skalierbarkeit, Verfügbarkeit, Sicherheit, Ease-of-use und Kosten.

    ...mehr
  • 27.05.2021
    56 MB
    01:06:41
    Cover

    [NLP] Rasa

    Die dritte Folge zu NLP wird noch angewandter: Zu Gast ist Tobias Wochinger von Rasa, mit dem wir gemeinsam einen Chat-Bot entwickeln möchten. Moderne Chat-Bots finden bereits vielfältig Verwendung, sowohl für die Beantwortung von Support Anfragen oder auch für das Buchen von Reisen müssen Sie aber den Kontext der Unterhaltung verstehen und Querverbindungen zwischen Informationen ziehen. Ein Chat-Bot vereinigt so zahlreiche NLP Herausforderungen wie Named-Entity-Recognition, Dependency Parsing und Intent Classification. Ganz praktisch erklärt mir Tobias, wie ich mit Rasa Stories und Actions anlege, um einen Techtiefen Chatbot zu bauen, der etwa Folgen zu einem Thema heraussuchen und abspielen kann. Ansonsten vermittelt die Folge einiges an generellem Wissen zu Chat-Bots und dem Design natürlicher Konversationen.

    ...mehr
  • 27.05.2021
    71 MB
    01:24:57
    Cover

    [NLP] SpaCy

    In der zweiten Podcastfolge der Reihe zu natürlicher Sprachverarbeitung ist Ines Montani zu Gast, Entwicklerin von SpaCy und Mitgründerin von Prodigy. Zunächst sprechen wir generell über den Umgang mit Sprache, warum dieser so komplex ist und wie die open source Bibliothek spaCy hier hilft. Dabei geht es um typische Aufgaben wie Part of Speach Tagging, Lemmatization und Named Entity Recognition genauso wie um geeignete Einsatz-Szenarien in der Industrie. Des Weiteren gibt Ines Einblicke in ihre tägliche Arbeit am open source Tool und erklärt, warum NLP Modelle auch ohne GPU trainierbar sein müssen und Prodigy kein Interesse an den Daten seiner Kunden hat. Letztlich geben wir einen Überblick über das wachsende spaCy Ökosystem, einen Rückblick auf die spaCy in Real Life Konferenz und Ines gewährt einen Ausblick in zukünftige Entwicklungen bei spaCy und Prodigy.SpaCy Online Kurs: https://course.spacy.io/ SpaCy IRL Videos: https://www.youtube.com/playlist?list=PLBmcuObd5An4UC6jvK_-eSl6jCvP1gwXc Coreference Resolution: https://github.com/huggingface/neuralcoref Sci-SpaCy: https://github.com/allenai/scispacy

    ...mehr
  • 27.05.2021
    78 MB
    01:32:55
    Cover

    [NLP] Moderne Sprachverarbeitung

    Malte Pietsch und Timo Möller sind zwei der drei Gründer des NLP Startups DeepSet. In Folge 19 besprechen wir gemeinsam die wesentlichen Grundlagen moderner Sprachverarbeitung. Bevor wir aber auf tiefe Neuronale Netzwerke und Bert eingehen, diskutieren wir einige der typischen Aufgaben wie Named-Entity-Recognition oder Text-Classification. Wir besprechen die Entwicklungen der letzten Jahre, die etwa Word-Embeddings, Attention basierte Algorithmen und Transformer hervorgebracht haben. Die beiden Gründer berichten aber auch von den Herausforderungen die sie bewältigt haben, als sie eine deutsche Variante des derzeit beliebten Bert-Netzwerks trainiert haben.Eine Übersicht über Entwicklungen im NLP Bereich: http://ruder.io/a-review-of-the-recent-history-of-nlp/ Grafische Erklärung von Transformern: http://jalammar.github.io/illustrated-transformer/ Das deutsche Bert Modell: https://deepset.ai/german-bert

    ...mehr
  • 27.05.2021
    65 MB
    01:17:37
    Cover

    #18 Fernerkundung mit multispektralen Satellitenbildern

    Jens Leitloff und Felix Riese berichten in Folge 18 von ihrer Forschung am “Institut für Photogrammetrie und Fernerkundung” des Karlsruher Instituts für Technologie. Mit der Bestrebung Nachhaltigkeit zu stärken erforschen die beiden etwa Verfahren, um Wasserqualität anhand von Satellitenaufnahmen zu bewerten oder die Nutzung landwirtschaftlicher Flächen zu kartografieren. Hierfür kommen unterschiedlichste Verfahren zum Einsatz wie Radaraufnahmen oder multispektrale Bilderdaten, die mehr als die drei von Menschen wahrnehmbaren Farbkanäle erfassen. Außerdem geht es um Drohnen, Satelliten und zahlreiche ML-Verfahren wie Transfer- und Aktive Learning. Persönliche Erfahrungen von Jens und Felix im Umgang mit unterschiedlichen Datenmengen runden eine thematisch Breite und anschauliche Folge ab.

    ...mehr
  • 27.05.2021
    70 MB
    01:24:19
    Cover

    #17 Distributed Tracing

    In Folge 17 erklärt Christian Rohmann, warum distributed tracing das Debugging von komplexen Anwendungen vereinfacht. Erst entwickeln wir ein Verständnis für Spans und Traces, um dann am Beispiel einer Web-Applikation ins Detail von distributed Tracing zu gehen. Außerdem werfen wir einen Blick auf Bekannte Implementierungen wie Zipkin und Jaeger, sowie auf die beiden Standardisierungsinitiativen OpenTracing und OpenCensus.

    ...mehr
  • 27.05.2021
    83 MB
    01:39:20
    Cover

    #16 Kotlin

    Folge 16 behandelt mit Kotlin mal wieder eine Programmiersprache. Daniel Bälz erklärt die Vorzüge der JVM-Sprache die mit Java kombiniert werden kann und first-class citizen für Android ist. Wir besprechen spannende Neuerungen wie Null-Safety und wie mit Kotlin nativer Betriebssystem-Code geschrieben werden kann. Außerdem erklären zahlreiche Sprach-Features die weit verbreitet sind, aber in Java bislang noch fehlten und jetzt mit Kotlin ermöglicht werden, etwa Default- und Named Arguments und Top-Level Functions.

    ...mehr
  • 27.05.2021
    96 MB
    01:54:57
    Cover

    #15 Praktisches Machine Learning mit Python

    In Folge 15 sind Jochen und Dominik vom Python Podcast zu Gast um uns dem maschinellen Lernen zu widmen. Gemeinsam besprechen wir ganz konkret die notwendigen Schritte, um Nachrichtentexte automatisch Tags zuzuordnen. Einerseits diskutieren wir über das richtige Tooling im Python-Umfeld, etwa Jupyter Notebooks, PyData Tools wie numpy und pandas sowie unsere bevorzugten Plotting Bibliotheken. Nach einer ersten Datenanalyse besprechen wir den Umgang mit Null-Werten und wie man mit TF-IDF oder Word-Embeddings den Text vektorisiert. Wir diskutieren verschiedene Algorithmen aus der Scikit-Learn Bibliothek und erklären Pipelines und Hyper-Parameter Tuning. Abschließend überprüfen wir die Güte unserer Modelle anhand eines Klassifikations-Reports und streifen Themen Skalierung, Deep Learning und vieles mehr.[Reuters Dataset](https://martin-thoma.com/nlp-reuters/) [Pandas Profiling](https://github.com/pandas-profiling/pandas-profiling) [Pathlib](https://docs.python.org/3/library/pathlib.html) [Modin](https://github.com/modin-project/modin) [Pandarallel](https://github.com/nalepae/pandarallel) [Dask](https://dask.org/) [Sklearn Pipelines](https://www.kaggle.com/baghern/a-deep-dive-into-sklearn-pipelines) [Management von Machine Learning Modellen](https://www.inovex.de/blog/machine-learning-model-management/) [kaggle](https://www.kaggle.com/)

    ...mehr
  • 27.05.2021
    86 MB
    01:43:15
    Cover

    #14 Linux

    In Folge 14 geht es das erste Mal primär um Linux. Stefan Lengfeld erklärt die unterschiedlichen Bestandteile eines Linux Systems, vom Kernel bis zum Paketmanager. Wir klären etwa, welche Distribution sich für welches System eignet, welche Paket-Manager dazu gehören und warum es unterschiedliche Desktops gibt (KDE, GNOME). Im Detail besprechen wir den Boot Vorgang, etwa wo das BIOS endet, was der Kernel als erstes macht und worum sich der Streit zwischen den verschiedenen Init Systemen (initD, systemD, upstart) dreht. Wie stets gehen wir aber auch auf praktische Entdeckungsreise, etwa durchsuchen wir mit htop die laufenden Systeme, erklären das Speichermanagement und diskutieren die Linux Dateistruktur.Links https://ubuntuusers.de/ http://www.linuxfromscratch.org/ https://idea.popcount.org/2012-12-11-linux-process-states/ Buch "Just for Fun" by Linux Torvalds and David Diamond https://kernelnewbies.org/

    ...mehr
  • 27.05.2021
    73 MB
    01:27:41
    Cover

    #13 Data Engineering für Echtzeitdaten

    In Folge 13 dreht sich alles um große Datenmengen und ihre Verarbeitung. Dominik Benz erklärt wie Data Engineers Datenstrecken entwickeln und welchen Einfluss aktuelle Entwicklungen wie das Bestreben nach Echtzeitdaten, die DSGVO und Big Data haben. Wir erklären fachliche Grundlagen, wie den Unterschied zwischen System- und Processing Time sowie die Problematik und den Umgang mit den daraus resultierenden “Late Arrivals”. Außerdem widmen wir uns natürlich den wichtigsten Technologien des Big Data Kosmos wie etwa Apache Hadoop, ETL Tools wie Spark- und Nifi sowie dem Message Broker Apache Kafka.

    ...mehr
  • 27.05.2021
    54 MB
    01:04:31
    Cover

    #12 Security für Web Applikationen

    Die erste Folge zum Themenkomplex Security fokussiert sich das Web: Clemens Hübner berichtet aus seinem Alltag als Security Engineer und gemeinsam besprechen wir die OWASP Top 10. Diese Bestenliste wird vom Open Web Application Security Projekt erstellt und bewertet Angriffsvektoren auf Web-Applikationen nach ihrer Gefahr: Von Injections über falsche Konfigurationen bis zu nicht ausreichenden Logging und Monitoring. Wir gehen auf alle Punkte ein, diskutieren in welchem Kontext sie auftreten und wie man sich am besten dagegen schützen kann.

    ...mehr
  • 27.05.2021
    68 MB
    01:21:17
    Cover

    #11 Quantencomputer

    Folge 11 dreht sich um QBits, Quantencomputer und den aktuellen Stand der Forschung. Michael Marthaler ist Mitgründer des Quentencomputer Startups HQS und hat im Bereich Supraleitender Quantencomputer promoviert. Er beschreibt wie man sich physikalische QBits vorstellen kann, warum diese Fehleranfällig sind und wieso logische QBits hier helfen könnten. Es werden die Unterschiedlichen Bauformen (Supraleitung, Ionenfalle, Adiabatische Quantencomputer) vergleichen und verschiedene Anwendungsfälle aufgezeigt. Natürlich besprechen wir auch, wie man ganz praktisch zu Hause Quantencomputer ansprechen kann und welche Frameworks und Programmiersprachen dafür genutzt werden. Natürlich darf bei einem solch Zukunftsträchtigen Thema auf die kommenden Jahre nicht fehlen.Links: HQS Twitter-Account: https://twitter.com/HeiQuSim IBM Quantencomputer: https://www.research.ibm.com/ibm-q/ Basta Vortrag von Michael: https://www.youtube.com/watch?v=FLltg_fRWus Scott Aaronson’s Blog: https://www.scottaaronson.com/blog/ Cirq Framework: https://github.com/quantumlib/Cirq ProjectQ Framework: https://projectq.ch/

    ...mehr
  • 27.05.2021
    83 MB
    00:00
    Cover

    #10 Rust

    #10 Rust

    ...mehr
  • 27.05.2021
    72 MB
    01:26:38
    Cover

    #9 Kubernetes für Entwickler

    #9 Kubernetes für Entwickler

    ...mehr
  • 27.05.2021
    61 MB
    01:13:46
    Cover

    #8 Multi-Model Databases

    #8 Multi-Model Databases

    ...mehr
  • 27.05.2021
    73 MB
    01:26:56
    Cover

    #7 Infrastructure as Code

    Infrastructure as Code (IaC) ist ein modernes Paradigma, welches Hardware Ressourcen in Quellcode abbildet. Auf diese Weise wird die Infrastruktur einfach reproduzierbar, versionierbar und ist sogar automatisch dokumentiert. Arnold Bechthold erklärt mir, woher diese Entwicklung kommt und wie sie sich von klassischem Konfigurationsmanagement unterscheidet. Terraform ist eine sehr verbreitete und vor allem Cloud agnostische Open-Source Software zur Realisierung des IaC-Paradigmas und unsere Beispiel-Implementierung. Wir beschreiben was notwendig ist, um einen hochverfügbaren Webshop bei AWS zu betreiben und wie ein entsprechendes Abbild in Terraform aussieht. Auch gehen wir auf Themen wie Statemanagement, Provisionierung und den Unterschied zwischen deklarativer und imperativer Software ein. Letztlich diskutieren wir die Zusammenhänge zwischen der DevOps Bewegung und IaC sowie das sich wandelnde Berufsbild vom klassischen Administrator hin zum Systems Engineer.

    ...mehr
  • 27.05.2021
    59 MB
    01:10:55
    Cover

    #6 Computer Vision

    Folge 6 behandelt das Thema Machine Vision, also wie man Computer vergleichbar zur menschlichen Wahrnehmung das Sehen beibringen kann. Stanislav Frolov erklärt, warum diese Aufgabe so schwierig ist und für welche Anwendungsgebiete neben dem autonomen Fahren diese Verfahren noch benötigt werden. Es werden sowohl Grundbegriffe wie Klassifizierung, Lokalisierung und Deduktion erklärt und was in den letzten 60 Jahren Forschung erreicht wurde. Natürlich geht es auch um Neuronale Netzwerke bzw. CNNs, welche im Detail erklärt werden. Nach einer grundlegenden Einführung werden auch einige populäre Netzwerkarchitekturen wie GoogleNet, YOLO angerissen

    ...mehr
  • 27.05.2021
    97 MB
    01:55:33
    Cover

    #5 Geschichte der Webentwicklung

    Folge 5 versucht den großen Bogen von den Anfängen des Internets bis hin zu moderner Webentwicklung zu spannen. Dabei geht es nach kurzem Rückblick auf das Internet der 90er um statische Webseiten mit HTML und CSS. Der Unterschied zwischen Serverseitiger Webentwicklung via PHP wird genauso erklärt wie Javascript als Programmiersprache im Webbrowser. Wir berichten von unseren ersten Erfahrungen mit Content Management Systemen und JS-Bibliotheken wie jQuery. Dann geht es in Richtung moderner Webentwicklung mit Frameworks wie Angular, Single Page Applikationen und dem Mobile First Ansatz. Danach diskutieren wir über die Build-Pipeline welche etwa NPM, Gulp und Typescript-Transpiler einschließt, bevor wir noch einen Blick in die Zukunft wagen, insbesondere am Beispiel von WebComponents.

    ...mehr
  • 27.05.2021
    70 MB
    00:00
    Cover

    #4 Python für Data Science

    In Folge 4 stellen Marcel und Alexandra ihre Arbeit als Data Scientist mit Python vor. Wir reden über die verschiedenen Frameworks wie Numpy, SciPy, scikit-learn u.v.m. Dazu erklären wir Grundlagen des Maschinellen Lernens, unterschiedliche Problemstellungen, Lernalgorithmen und Metriken. Auch Deep-Learning, die explorative Analyse mit Notebooks und die Python Distribution Conda kommen zur Sprache.

    ...mehr
  • 27.05.2021
    78 MB
    01:33:17
    Cover

    #3 Elasticsearch

    In dieser Folge erklärt Wolfang, warum sich Elasticsearch als Mischung aus Datenbank und Suchmaschine perfekt für die Arbeit mit großen Textmengen eignet. Basierend auf der Java Textsuch-Bibliothek Apache Lucene bietet Elasticsearch alles was es zum performanten Verarbeiten von Softwarelogs, Chatprotokollen oder einer privaten Gedichtsammlung bedarf: Eine skalierenden Server-Infrastruktur, performanter Indizierung und Textverarbeitungsfunktionalitäten wie Stemming und Lemmatization. Der Zugriff erfolgt über eine REST-Schnittstelle oder geeignete Tools aus dem Elastic-Universum, das auch weitere Komponenten zur Datenaggregation und Visualisierung bietet. Kurz wird entsprechend auch auf Beats, LogStash und Kibana eingegangen.

    ...mehr
  • 27.05.2021
    67 MB
    01:20:06
    Cover

    #2 Go

    Igor Lankin führt in dieser Folge in die Programmiersprache Go ein, die 2009 von Google vorgestellt wurde und verglichen mit C ähnliche Geschwindigkeiten bei niedriger Komplexität ermöglichen soll. Nach einer Einführung in die wesentlichen Elemente wie Slices und Structs geht es um Exception Handling und Dependency Management. Igor erklärt zudem, warum Go insbesondere für Multi-Core Programmierung geeignet ist und wo aus seiner Sicht Go (noch) Probleme hat.

    ...mehr
  • 27.05.2021
    66 MB
    00:00
    Cover

    #1 - Docker

    Mit Benjamin Stein geht es um die Container-Technologie Docker, die seit 2013 vieles in der IT-Landschaft maßgeblich verändert hat. Ein Docker Container ist leichtgewichtiger als eine virtuelle Maschine und bietet dennoch eine vollständige Systemumgebungen für die Applikation. Auf diese Weise kann sichergestellt werden, dass sich die Applikation lokal bei der Entwicklung genauso verhält wie im produktiven Einsatz auf einem Server. Auch bringt diese Technologie Entwicklung und Betrieb im DevOps Sinn weiter zusammen.Hier die Inhalte des Gesprächs (Kapitelmarken gibt es ab der nächsten Folge):5:39 Docker vs. Virtuelle Maschinen 11:07 Walk-Through 26:57 Mehrere Container 30:56 Docker-Compose 32:59 Networking 37:17 Storage 48:12 Allgemein Vorteile 53:28 Skalierung 56:13 Kubernetes

    ...mehr