Introduction to Python and Web ProgrammingDavid Neiss
Slides created for the San Diego Python Users Group to teach our "Intro To Python" class. We have held the class twice already and will continue to do so as there continues to be interest in learning Python.
Slides from our CodeMash 2013 Precompiler session, "Web Development with Python and Django", including a breezy introduction to the Python programming language and the Django web framework. The example code repository is available at https://github.com/finiteloopsoftware/django-precompiler/
Implementing a decorator for thread synchronisation.Graham Dumpleton
Using multithreading in Python applications? Interested in complex use cases for decorators and context managers? This talk will describe how the Java programming language "synchronized" keyword, for handling synchronisation in multithread applications, can be implemented in Python.
The document defines classes TomEastman and KatieMcLaughlin that return names when the whoami method is called. It explores different ways to check for object identity and type in Python, including using not, ==, is, isinstance(), type(), and __class__. The key learnings are that there are multiple ways to compare objects in Python, and functions like isinstance() and type() must be used carefully to accurately check types.
Data analytics in the cloud with Jupyter notebooks.Graham Dumpleton
Jupyter Notebooks provide an interactive computational environment, in which you can combine Python code, rich text, mathematics, plots and rich media. It provides a convenient way for data analysts to explore, capture and share their research.
Numerous options exist for working with Jupyter Notebooks, including running a Jupyter Notebook instance locally or by using a Jupyter Notebook hosting service.
This talk will provide a quick tour of some of the more well known options available for running Jupyter Notebooks. It will then look at custom options for hosting Jupyter Notebooks yourself using public or private cloud infrastructure.
An in-depth look at how you can run Jupyter Notebooks in OpenShift will be presented. This will cover how you can directly deploy a Jupyter Notebook server image, as well as how you can use Source-to-Image (S2I) to create a custom application for your requirements by combining an existing Jupyter Notebook server image with your own notebooks, additional code and research data.
Specific use cases around Jupyter Notebooks which will be explored will include individual use, team use within an organisation, and class room environments for teaching. Other issues which will be covered include importing of notebooks and data into an environment, storing data using persistent volumes and other forms of centralised storage.
As an example of the possibilities of using Jupyter Notebooks with a cloud, it will be shown how you can easily use OpenShift to set up a distributed parallel computing cluster using ‘ipyparallel’ and use it in conjunction with a Jupyter Notebook.
“warpdrive”, making Python web application deployment magically easy.Graham Dumpleton
Ask a beginner to deploy a Python web application and they will often complain it is too hard. Although we have standards for how a Python web application should interface with a web server, the web servers for Python all work differently, with a myriad of options and being difficult to set up properly.
In this talk you will be given a preview of a project called 'warpdrive', a project being developed to simplify the process of deploying a Python web application.
The 'warpdrive' project makes it easy to run your Python web application on your own system, but it can also create a Docker image for your application, providing you with an easy path to deploying it on a Docker service.
How 'warpdrive' works is also compatible with next generation Platform as a Service (PaaS) offerings such as the latest OpenShift, which has been reimplemented around Docker and Kubernetes.
See how working on and deploying your Python web application could be made so much easier using 'warpdrive'.
Hear no evil, see no evil, patch no evil: Or, how to monkey-patch safely.Graham Dumpleton
Python is a dynamic programming language and has a strong tradition of adhering to a programming style called duck-typing. This means that it is possible to easily modify an application's code while it is running. One might wish to do this for various reasons, including enhancing the functionality of code, correcting errant behaviour, or adding instrumentation or debugging code.
Making such code modifications can be tricky though and not done correctly can potentially interfere with the operation of the original code, through destroying introspection abilities, not honouring the duck-typing mantra or due to being applied at the wrong time.
If you do need to do monkey patching though, the 'wrapt' library is your friend, with its transparent object proxy wrappers and post import hook mechanism, it allows you to safely monkey patch code to modify its behaviour.
Learn about the 'wrapt' library and the joys, but also the dangers, of monkey patching.
Introduction to Python and Web ProgrammingDavid Neiss
Slides created for the San Diego Python Users Group to teach our "Intro To Python" class. We have held the class twice already and will continue to do so as there continues to be interest in learning Python.
Slides from our CodeMash 2013 Precompiler session, "Web Development with Python and Django", including a breezy introduction to the Python programming language and the Django web framework. The example code repository is available at https://github.com/finiteloopsoftware/django-precompiler/
Implementing a decorator for thread synchronisation.Graham Dumpleton
Using multithreading in Python applications? Interested in complex use cases for decorators and context managers? This talk will describe how the Java programming language "synchronized" keyword, for handling synchronisation in multithread applications, can be implemented in Python.
The document defines classes TomEastman and KatieMcLaughlin that return names when the whoami method is called. It explores different ways to check for object identity and type in Python, including using not, ==, is, isinstance(), type(), and __class__. The key learnings are that there are multiple ways to compare objects in Python, and functions like isinstance() and type() must be used carefully to accurately check types.
Data analytics in the cloud with Jupyter notebooks.Graham Dumpleton
Jupyter Notebooks provide an interactive computational environment, in which you can combine Python code, rich text, mathematics, plots and rich media. It provides a convenient way for data analysts to explore, capture and share their research.
Numerous options exist for working with Jupyter Notebooks, including running a Jupyter Notebook instance locally or by using a Jupyter Notebook hosting service.
This talk will provide a quick tour of some of the more well known options available for running Jupyter Notebooks. It will then look at custom options for hosting Jupyter Notebooks yourself using public or private cloud infrastructure.
An in-depth look at how you can run Jupyter Notebooks in OpenShift will be presented. This will cover how you can directly deploy a Jupyter Notebook server image, as well as how you can use Source-to-Image (S2I) to create a custom application for your requirements by combining an existing Jupyter Notebook server image with your own notebooks, additional code and research data.
Specific use cases around Jupyter Notebooks which will be explored will include individual use, team use within an organisation, and class room environments for teaching. Other issues which will be covered include importing of notebooks and data into an environment, storing data using persistent volumes and other forms of centralised storage.
As an example of the possibilities of using Jupyter Notebooks with a cloud, it will be shown how you can easily use OpenShift to set up a distributed parallel computing cluster using ‘ipyparallel’ and use it in conjunction with a Jupyter Notebook.
“warpdrive”, making Python web application deployment magically easy.Graham Dumpleton
Ask a beginner to deploy a Python web application and they will often complain it is too hard. Although we have standards for how a Python web application should interface with a web server, the web servers for Python all work differently, with a myriad of options and being difficult to set up properly.
In this talk you will be given a preview of a project called 'warpdrive', a project being developed to simplify the process of deploying a Python web application.
The 'warpdrive' project makes it easy to run your Python web application on your own system, but it can also create a Docker image for your application, providing you with an easy path to deploying it on a Docker service.
How 'warpdrive' works is also compatible with next generation Platform as a Service (PaaS) offerings such as the latest OpenShift, which has been reimplemented around Docker and Kubernetes.
See how working on and deploying your Python web application could be made so much easier using 'warpdrive'.
Hear no evil, see no evil, patch no evil: Or, how to monkey-patch safely.Graham Dumpleton
Python is a dynamic programming language and has a strong tradition of adhering to a programming style called duck-typing. This means that it is possible to easily modify an application's code while it is running. One might wish to do this for various reasons, including enhancing the functionality of code, correcting errant behaviour, or adding instrumentation or debugging code.
Making such code modifications can be tricky though and not done correctly can potentially interfere with the operation of the original code, through destroying introspection abilities, not honouring the duck-typing mantra or due to being applied at the wrong time.
If you do need to do monkey patching though, the 'wrapt' library is your friend, with its transparent object proxy wrappers and post import hook mechanism, it allows you to safely monkey patch code to modify its behaviour.
Learn about the 'wrapt' library and the joys, but also the dangers, of monkey patching.
OpenShift, Docker, Kubernetes: The next generation of PaaSGraham Dumpleton
The document discusses how platforms like OpenShift, Docker, and Kubernetes have evolved from earlier PaaS technologies to provide next generation platforms that enable automated builds, deployments, orchestration, and security across containers. It notes how these platforms allow applications to be deployed across custom strategies rather than being constrained to a single way of working, and how they integrate with existing CI/CD tools. The document encourages gradually adopting new tooling as it makes sense and provides various resources for trying OpenShift.
PyCon NZ 2013 - Advanced Methods For Creating DecoratorsGraham Dumpleton
Decorators are a simple concept, yet extremely powerful. Implementing decorators which will work in a range of contexts is however non trivial. This talk will walk through various problems which arise with the more common ways of implementing decorators and then describe how to combine a wrapper and a descriptor to build a better decorator.
PyCon US 2013 Making Apache suck less for hosting Python web applicationsGraham Dumpleton
The document provides an overview of Graham Dumpleton's talk on making Apache more suitable for hosting Python web applications. Dumpleton addresses common criticisms of Apache, such as being too hard to configure, using too much memory, and being slow. He explains that in many cases, these issues arise from improper configuration rather than reflect intrinsic flaws in Apache. The talk covers optimizing Apache's installation, choosing an appropriate process model, and properly configuring server parameters like threads per child and maximum requests per child. The goal is to understand Apache better and configure it optimally for Python applications.
PyCon AU 2010 - Getting Started With Apache/mod_wsgi.Graham Dumpleton
Mod_wsgi is an Apache module that allows hosting WSGI applications. It intercepts requests and passes them to the designated WSGI script file. The Apache user needs access permissions to the script file and directories to allow the application to run. Python path needs to be configured to import modules and packages. Static media files also need to be manually mapped to URLs for the Django development server.
This document discusses potential updates to the Web Server Gateway Interface (WSGI) specification and some of the challenges involved. It notes that WSGI 1.0 has limitations for asynchronous systems and middleware. The author explored ideas for WSGI 2.0 like making requests and responses objects and adding context managers for resource management, but concluded it may be too late since so much code relies on the current specification.
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
Monitoring tools record the result of what happened to your web application when a problem arises, but for some classes of problems, monitoring systems are only a starting point. Sometimes it is necessary to take more intrusive steps to plan for the unexpected by embedding mechanisms that will allow you to interact with a live deployed web application and extract even more detailed information.
PyCon US 2012 - Web Server Bottlenecks and Performance TuningGraham Dumpleton
The document discusses web server performance bottlenecks and tuning. It notes that the majority of end-user response time is spent on the frontend. It then examines factors that affect web server performance like memory usage, processes vs threads, client impacts, and application requirements. Specific techniques are suggested for improving performance like using processes over threads, isolating slow clients with Nginx, preloading applications, and monitoring servers.
DjangoCon US 2011 - Monkeying around at New RelicGraham Dumpleton
The document discusses various techniques for instrumenting Python code to collect performance timing data using the New Relic agent. It describes using context managers, decorators, monkey patching, and custom import hooks to trace functions, WSGI applications, and database queries. The goal is to capture metrics like response times, trace function calls, exceptions and other events to provide performance monitoring and debugging information within the New Relic web UI.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
OpenShift, Docker, Kubernetes: The next generation of PaaSGraham Dumpleton
The document discusses how platforms like OpenShift, Docker, and Kubernetes have evolved from earlier PaaS technologies to provide next generation platforms that enable automated builds, deployments, orchestration, and security across containers. It notes how these platforms allow applications to be deployed across custom strategies rather than being constrained to a single way of working, and how they integrate with existing CI/CD tools. The document encourages gradually adopting new tooling as it makes sense and provides various resources for trying OpenShift.
PyCon NZ 2013 - Advanced Methods For Creating DecoratorsGraham Dumpleton
Decorators are a simple concept, yet extremely powerful. Implementing decorators which will work in a range of contexts is however non trivial. This talk will walk through various problems which arise with the more common ways of implementing decorators and then describe how to combine a wrapper and a descriptor to build a better decorator.
PyCon US 2013 Making Apache suck less for hosting Python web applicationsGraham Dumpleton
The document provides an overview of Graham Dumpleton's talk on making Apache more suitable for hosting Python web applications. Dumpleton addresses common criticisms of Apache, such as being too hard to configure, using too much memory, and being slow. He explains that in many cases, these issues arise from improper configuration rather than reflect intrinsic flaws in Apache. The talk covers optimizing Apache's installation, choosing an appropriate process model, and properly configuring server parameters like threads per child and maximum requests per child. The goal is to understand Apache better and configure it optimally for Python applications.
PyCon AU 2010 - Getting Started With Apache/mod_wsgi.Graham Dumpleton
Mod_wsgi is an Apache module that allows hosting WSGI applications. It intercepts requests and passes them to the designated WSGI script file. The Apache user needs access permissions to the script file and directories to allow the application to run. Python path needs to be configured to import modules and packages. Static media files also need to be manually mapped to URLs for the Django development server.
This document discusses potential updates to the Web Server Gateway Interface (WSGI) specification and some of the challenges involved. It notes that WSGI 1.0 has limitations for asynchronous systems and middleware. The author explored ideas for WSGI 2.0 like making requests and responses objects and adding context managers for resource management, but concluded it may be too late since so much code relies on the current specification.
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
Monitoring tools record the result of what happened to your web application when a problem arises, but for some classes of problems, monitoring systems are only a starting point. Sometimes it is necessary to take more intrusive steps to plan for the unexpected by embedding mechanisms that will allow you to interact with a live deployed web application and extract even more detailed information.
PyCon US 2012 - Web Server Bottlenecks and Performance TuningGraham Dumpleton
The document discusses web server performance bottlenecks and tuning. It notes that the majority of end-user response time is spent on the frontend. It then examines factors that affect web server performance like memory usage, processes vs threads, client impacts, and application requirements. Specific techniques are suggested for improving performance like using processes over threads, isolating slow clients with Nginx, preloading applications, and monitoring servers.
DjangoCon US 2011 - Monkeying around at New RelicGraham Dumpleton
The document discusses various techniques for instrumenting Python code to collect performance timing data using the New Relic agent. It describes using context managers, decorators, monkey patching, and custom import hooks to trace functions, WSGI applications, and database queries. The goal is to capture metrics like response times, trace function calls, exceptions and other events to provide performance monitoring and debugging information within the New Relic web UI.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
6. SHORT COMINGS
• Non existent or inadequate concurrency support.
• SSL support non existent or not of production quality.
• Lack of good logging support.
• Inadequate process management.
• No direct static file serving ability.
8. GETTING BETTER
• Don’t provide a full process management solution.
• Still usually require supervisord/monit to manage them.
• No direct static file serving ability.
• Still use Apache/nginx/lighttpd/Cherokee for static files.
• Usually recommended they sit behind traditional server.
10. MIXED BAG
• The gunicorn server best of this crowd.
• Still usually require supervisord/monit to manage it.
• No direct static file serving ability.
• Still use Apache/nginx/lighttpd/Cherokee for static files.
• Usually recommended they sit behind traditional server.
11. FRONT END WEB PROXY
Web Browser File System
(Static Files)
HTTP
Web Browser HTTP Front End Web Server
HTTP
HTTP Back End Web Server
Web Browser
12. PERFORMANCE BENEFITS
• Static file handling speed far superior.
• Can implement caching in the front end web server.
• Isolates dynamic web application from slow clients.
• Removes need for application server to handle keep alive.
14. ALTERNATIVES TO HTTP
Web Browser File System
(Static Files)
HTTP
Web Browser HTTP Front End Web Server
FASTCGI
Back End
HTTP Application Server
Web Browser
15. GOOD POINTS
• Language agnostic, can support more than Python.
• Web server may optionally be able to handle processes.
• If so, no longer need to use supervisord/monit.
• Run as distinct user rather than web server user.
• Request timeouts and controls on rampant processes.
16. BAD POINTS
• Different languages don’t have same resource requirements.
• Generally configured for PHP, which sucks for Python.
• Deployment for Python is more complicated than necessary.
18. HOSTING ADOPTION
• FASTCGI solutions still the incumbent with web hosting.
• Phusion Passenger used because of Ruby popularity.
• uWSGI slowly making headway with multi language support.
• Can’t see the existing PHP hosting world changing at all.
• Better solutions will only come with new hosting providers.
19. ELEPHANT IN THE ROOM
• Apache is still the most popular web server in use.
• System administrators more likely to know Apache.
• Apache is more a platform than just a web server.
• Support for Python in form of mod_python and mod_wsgi.
20. MOD_PYTHON
• Runs Python embedded in Apache child worker processes.
• Officially declared dead by Apache Software Foundation.
• No longer supported and no new releases.
• Will not be ported to Python 3.0+.
• Still suffers memory leaks.
• Bugs if you deviate off the path.
21. MOD_WSGI
• Intended to be a better mod_python.
• Focus on providing a WSGI compatible API.
• Limited abilities for Apache authnz providers.
• Good robust general purpose solution.
• Multiple modes of operation.
22. EMBEDDED MODE
Web Browser File System
(Static Files)
HTTP
Web Browser HTTP Apache Web Server
HTTP Python
Interpreters
Web Browser
23. DAEMON MODE
Web Browser File System
(Static Files)
HTTP
Web Browser HTTP Apache Web Server
Daemon Mode
Processes
HTTP -----------------
Python
Interpreters
Web Browser
24. FRONT END + DAEMON
File
Web Browser System
(Static
Files)
HTTP
Front
Web Browser HTTP End Web
Server
Back Daemon Mode
End Processes
HTTP
Apache -----------------
Web Python
Server Interpreters
Web Browser
25. FRONT END + EMBEDDED
File
Web Browser System
(Static
Files)
HTTP
Front
Web Browser HTTP End Web
Server
Back End
Apache Web Server
HTTP
---------------------
Python
Interpreters
Web Browser
26. SO MANY OPTIONS
• HTTP proxy to gunicorn, • Apache/mod_wsgi
paste server, CherryPy embedded mode.
WSGI server.
• Apache/mod_wsgi daemon
• FASTCGI/SCGI/AJP mode.
• uWSGI, Phusion Passenger, • HTTP
proxy to Apache/
Mongrel mod_wsgi.
27. WHAT SHOULD YOU USE?
• The hosting mechanism is usually never the bottleneck.
• Don’t believe hello world benchmarks.
• Don’t believe what people tell you on IRC channels.
• Use what you have the skills to setup and configure.
• Use what you find has the qualities you need.
• Test the configuration you choose with real applications.
28. MOST POPULAR
• Apache/mod_wsgi (daemon mode).
• nginx HTTP proxy to Apache/mod_wsgi.
• nginx HTTP proxy to gunicorn.
• nginx to uWSGI.
29. DON’T WASTE YOUR TIME
• Concentrate on removing bottlenecks.
• Look at improving your database performance.
• Look at implementing/improving page/data caching.
• Look at improving browser page rendering times.
• Look at monitoring tools such as New Relic and Munin.
• The hosting mechanism is only a small part of the problem.
Many Python web frameworks for building your own however.\n
Most web frameworks bundle in there own web server to make development easier. They often have the ability to perform automatic detection of code changes and will restart automatically. These servers fall into two categories based on how capable they are.\n
The simplest of these are usually based on basic web server functionality provided in the Python standard library. These are definitely only suitable for development and definitely not adequate for production use.\n
Just not up to handling the rigours of a high load production web site, have not been security audited and could just well result in your site blowing up as soon as any one looks at it. \n
Claimed by the developers to be suitable for production usage and do see a lot of use as a result. Reasonably safe option but mileage may vary.\n
Still not a complete solution however. Generally need separate process management to ensure they stay running and definitely not good solutions for static file serving. Will perform better as a result when placed behind a front end web server.\n
Lots of other options. Rather than build new web frameworks, these days the cool thing to do seems to be building new WSGI servers.\n
Gunicorn probably the best standalone WSGI server and is the flavour of the month. Like paste.httpserver, Rocket and cherrypy.wsgiserver still benefits by being placed behind a front end web server.\n
Front end web server handles SSL, virtual hosts and static file serving. All requests for dynamically generated content are proxied through to the back end web server. In this case our Python WGSI server. The idea is here is that no one web server is going to be the best at everything so we start specialising and use a server in front designed to handle static content.\n
In addition to the the benefits we get from improved static file handling, can implement caching and avoid requests getting to Python WSGI server. The architecture of the solution also helps as it isolates the Python WSGI server from slow clients and requests only get to if needed and when ready.\n
Best options for a front end web server are any which are implemented using an asynchronous or event driven system. Use of a threading module is just too heavy weight when dealing with high levels of concurrency. Apache is therefore not a good option for a high volume site, with nginx being arguably the best.\n
Rather than proxy HTTP, then can use FASTCGI. Back end is no longer strictly a web server but an application server using a custom protocol. The WSGI adapter in this case bridges between the FASTCGI wire protocol and the WSGI API rather than the HTTP protocol. If there is little difference with how things work with HTTP however, some argue what is the point.\n
Provides a reasonably robust model when implemented properly. For shared web hosting companies, that it can be used to support multiple languages is very convenient. Web hosting companies don’t want to have to deal with distinct managed processes listening on separate ports. Want a seamless solution that doesn’t need manual setup.\n
Problem with shared web hosting is that the setups are PHP biased and suck for Python. Python needs more memory and processes really need to be persistent. For PHP you can just drop in a .php file, but for Python you can’t just drop in a .wsgi script file and have it work. Deployment experience could be made better quite easily, but no one seems to care.\n
uWSGI started in Python now branching into other languages. Phusion Passenger and Mongrel started in Ruby and now moving into Python. uWSGI has similar architecture to FASTCGI but uses a slight variation on SCGI for wire protocol. Process management is distinct from the web server.\n
Reality is that web hosting companies specialising in PHP will probably never provide a good solution for Python. Some will try to cater for what is popular, but deployment never seamless. Hope comes in the form of new hosting companies with no legacy. DotCloud for multi language and possibly others. For Python, gondor.io, ep.io and djangozoom.\n
Apache is still used in over 60% of web sites. In contrast nginx is used in less than 10%. More collective experience with using Apache than other servers, but it has its detractors. Accusations of being bloated and hard to configure. Python has especially got a raw deal with this because of servers not being set up properly for Python use.\n
It has prime real estate in the name mod_python and is what a lot of people will logically look for when first thinking of Python and Apache. Just don’t go there. The project has been declared dead and best left that way.\n
Learnt from the mistakes of mod_python. Doesn’t try to be a framework in itself but just a bridge to any WSGI application/framework. Can be used in embedded mode or daemon mode.\n
For embedded mode the Python interpreter running the WSGI application is inside of the web server process which are handling static file requests. Not recommended for single threaded prefork MPM where large number of processes as memory requirements much larger. Multi threaded worker MPM preferred. Adequate for most if worker MPM used even though static files handled as well.\n
Effectively the same model as FASTCGI and uWSGI. Being Apache however, you don’t get some of the benefits of using async front end web server. Still the best general purpose configuration for Apache/mod_wsgi when multithreading used as most peoples sites do not see enough traffic to warrant a front end async web server for static files anyway.\n
Popular upgrade path is to put a front end web server in front of Apache/mod_wsgi. Good solution if also using Apache for other purposes such as access control, authentication, authorisation or other languages such as PHP. If Apache only being used for the single Python web application, could instead use embedded mode with worker MPM.\n
Need to ensure that Apache is configured properly for running fat Python web applications. Start all processes up front and don’t allow them to be killed off when idle. Preload WSGI application, don’t allow lazy loading. Should only be used if you know how to configure Apache/mod_wsgi properly. Will be best performing solution when using Apache/mod_wsgi.\n
Bewildering array of options to choose from.\n
Nearly any solution will work for most people because the hosting mechanism is not the bottleneck. Use what you feel comfortable being able to administer. Identify that different servers have different strengths and no one server may be the perfect solution. Custom Python async web server (non WSGI) may be the answer for parts of your application.\n
FASTCGI usually only gets used where people have no choice. Tendency is for people to use Apache/mod_wsgi, gunicorn and uWSGI. Apache/mod_wsgi is acknowledged as very stable and predictable, even if boring, but you may find Apache can be a pain to setup. Still hear occasional questions marks over reliability of uWSGI and to lesser extent gunicorn but they are improving all the time.\n
The hosting mechanism is only a small part of the problem. Don’t prematurely optimise by trying to find what you think is the fastest hosting mechanism. Your application/database overhead will dwarf any benefits one server may have over another. Tuning your application gives benefits for any solution. Use production monitoring to know what is going on.\n