This document summarizes Tobias Schlitt's presentation on the Xdebug debugger for PHP. It discusses how Xdebug can enhance PHP development by providing more useful error messages, improved variable dumping, and protection from infinite loops. It also describes Xdebug's features for retrieving stack traces and declared variables. A key part of Xdebug is its ability to trace PHP applications and analyze the control flow, which can help debug issues without needing to add trace statements throughout code.
This document provides an overview of PmcTools, a whole-system performance measurement tool for FreeBSD. PmcTools allows low-overhead profiling of entire systems using hardware performance counters. It includes a kernel module, userspace library, and tools for profiling, measurement, and analysis. The tool aims to answer questions about system behavior and performance bottlenecks in a production environment with low overhead.
Exploring billion states of a program like a pro. How to cook your own fast a...Maksim Shudrak
The main purpose of this talk is to introduce DBI, delve deeper in this topic, demonstrate the power of this technique, and consider typical problems of its application for "industrial" tasks. Audience will get acquainted with DBI in general, will understand in which fields it is successfully applied, what are potential problems of this technique related to implementation of their own tool based on presented frameworks (Intel PIN and DynamoRIO), and see real examples of the technique used for heap-based bug detection in heavyweight programs along with dynamic malware analysis.
A one hour tutorial on daily work enhancements provided by the PHP debugging extension Xdebug.
Attention: This is a pre-release of the raw slides used in the presentation. A condensed version, including screeshots, might follow later.
The document summarizes an ARM mbed workshop agenda that introduces attendees to the mbed platform for rapid prototyping of microcontroller applications. It discusses the mbed online compiler, libraries, and microcontroller board. It then covers two labs - registering for an mbed account and running a "hello world" demo, and prototyping a data logging application to log sensor readings to a file.
With PHP 8.0 recently released and PHP 5.x still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 8.x, but on how to get code ready for the latest version of PHP. In this talk, we'll look at some handy tools and techniques to ease the migration.
This document provides an overview of PmcTools, a whole-system performance measurement tool for FreeBSD. PmcTools allows low-overhead profiling of entire systems using hardware performance counters. It includes a kernel module, userspace library, and tools for profiling, measurement, and analysis. The tool aims to answer questions about system behavior and performance bottlenecks in a production environment with low overhead.
Exploring billion states of a program like a pro. How to cook your own fast a...Maksim Shudrak
The main purpose of this talk is to introduce DBI, delve deeper in this topic, demonstrate the power of this technique, and consider typical problems of its application for "industrial" tasks. Audience will get acquainted with DBI in general, will understand in which fields it is successfully applied, what are potential problems of this technique related to implementation of their own tool based on presented frameworks (Intel PIN and DynamoRIO), and see real examples of the technique used for heap-based bug detection in heavyweight programs along with dynamic malware analysis.
A one hour tutorial on daily work enhancements provided by the PHP debugging extension Xdebug.
Attention: This is a pre-release of the raw slides used in the presentation. A condensed version, including screeshots, might follow later.
The document summarizes an ARM mbed workshop agenda that introduces attendees to the mbed platform for rapid prototyping of microcontroller applications. It discusses the mbed online compiler, libraries, and microcontroller board. It then covers two labs - registering for an mbed account and running a "hello world" demo, and prototyping a data logging application to log sensor readings to a file.
With PHP 8.0 recently released and PHP 5.x still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 8.x, but on how to get code ready for the latest version of PHP. In this talk, we'll look at some handy tools and techniques to ease the migration.
This document provides an overview of OpenFrameworks for Flash developers. It includes:
1. An introduction to OpenFrameworks and how it can be used to create C++ applications with less hassle than traditional methods.
2. A breakdown of the basic structure of an OpenFrameworks application including the main classes and functions.
3. Step-by-step explanations of three example OpenFrameworks projects that create circles, an animation, and particles.
4. Additional resources for learning more about OpenFrameworks, creative coding, and getting involved in the OpenFrameworks community.
This document discusses Python debuggers and how they can be used to step through code, inspect values, and help debug programs. It notes print statements are not sufficient for debugging and debuggers allow pausing execution and stepping line by line. Common debugger commands are described, and it recommends upgrading to ipdb or wdb which have additional features like colors and better interfaces. The document also mentions how to create a custom debugger by extending the bdb module in Python.
The document discusses unit testing and PHPUnit. It introduces unit testing concepts and methods like unit, integration, and regression tests. It provides an overview of PHPUnit functionality for writing and running tests. Advanced scenarios covered include custom testing environments, testing a WebDAV server, and challenges of testing parsers. The presentation encourages the use of unit testing to improve code quality.
This document discusses debugging and profiling PHP applications using Xdebug. It provides instructions for installing Xdebug on different platforms and configuring it for debugging and profiling. It also describes how to trigger debug sessions from PHPStorm, Chrome extensions, and JavaScript bookmarklets. Alternative profiling tools like MCG and XHProf are mentioned as well.
Symfony2 components to the rescue of your PHP projectsXavier Lacot
Symfony2 components can be of a great help when trying to improve the level of existing PHP projects. This presentation explains how PHP and its ecosystem evolved during the last 10 years, and focuses on the successive use of several Symfony2 components, to show how useful they are for the PHP developer.
The presentation gives some migration strategies, and explains component by component the migration plan and the (possible) implications on the historical code.
Talk at PyCon2022 over building binary packages for Python. Covers an overview and an in-depth look into pybind11 for binding, scikit-build for creating the build, and build & cibuildwheel for making the binaries that can be distributed on PyPI.
This document discusses debugging techniques for production environments. It covers using debuggers and symbol files to debug running processes, remote debugging to debug processes on other machines, analyzing core dumps to debug crashed processes postmortem, and snapshot debugging using Application Insights to capture the state of an application during errors. It also introduces the OzCode production debugging platform, which aims to provide a unified experience for debugging applications running in cloud, on-premise, and other complex environments.
With PHP 7.2 recently released and PHP 5.3 and 5.4 still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 7.0 (or preferably 7.1), but on how to get code ready for the latest version of PHP.
Using the version compatibility checker for PHP_CodeSniffer and a few simple step-by-step instructions, upgrading old code to make it compatible with the latest PHP versions becomes actually really easy. In this talk, we'll migrate an old piece of code and get rid of the demons of the past and ready for the present and future.
My talk at the Symfony Online 2023 Conference.
Many developers fail to use a debugger like Xdebug in their day to day activities. In this talk we explain:
- Why you really want to be using a debugger
- How do you install and configure it easily
- How it interacts with your Symfony application
- How you can use it for more than just debugging your application, how you can actually use it to drive your development.
The document provides an introduction and overview of using the Linux desktop environment. It covers basics like navigating the desktop, installing software using package managers, configuring networks and devices, using web browsers and multimedia applications. It also discusses office suites, graphics editors, virtualization, and encourages hands-on experimentation for those new to Linux.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
A very basic, high-level presentation on why one should start learning Python today.
Presented at the Bukidnon State University extension campus at Alubijid National Comprehensive High School, Alubijid, Misamis Oriental, Philippines.
This document discusses calling the Notes C API from LotusScript. It describes the LotusScript eXtension (LSX) toolkit, which allows extending LotusScript with custom C code by building platform-specific libraries. It also covers differences between platforms when calling the Notes C API directly from LotusScript, such as data types and library file names. As an example, it demonstrates calling the simple NSFGetServerLatency() API function from LotusScript to get network latency between servers.
This document provides an overview of the Xdebug PHP debugging tool. It discusses installing Xdebug, enabling error handling and displaying variables, using Xdebug for remote debugging and profiling PHP scripts, and generating function traces. The document also lists Xdebug features and configuration options for profiling, remote debugging, and function traces.
With PHP 7.2 recently released and PHP 5.3 and 5.4 still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 7.0 (or preferably 7.1), but on how to get code ready for the latest version of PHP.
Using the version compatibility checker for PHP_CodeSniffer and a few simple step-by-step instructions, upgrading old code to make it compatible with the latest PHP versions becomes actually really easy. In this talk, we'll migrate an old piece of code and get rid of the demons of the past and ready for the present and future.
The document discusses upgrading from PHP 5.x to PHP 7.x. It begins by explaining why upgrading is important for security, performance and compatibility reasons, as PHP 5.x reaches end of life. It then discusses how to upgrade, including new features in PHP 7.x like scalar type declarations and null coalescing operators, and removed/deprecated functions. It emphasizes automating the process using tools like PHPCompatibility to analyze code for compatibility issues across PHP versions. Upgrading in a staged, tested manner is recommended over postponing upgrades.
The document introduces Protocol Buffers and how to use them on Android. It discusses the benefits of Protocol Buffers such as speed, size, and compatibility. It also provides a demo comparing the performance of Protocol Buffers to GSON, showing that Protocol Buffers are faster and produce smaller data sizes. The document concludes by mentioning some drawbacks of Protocol Buffers and providing references for further information.
What is Computer Programming?
What is Software Development and Its Major Activities
Your First C# Program
Formatting the Program Source Code
The C# Language and .NET Framework
Microsoft Visual Studio: Compiling, Running and Debugging C# Programs
MSDN Library – The Integrated Help System in Visual Studio
Exercises: Creating, Compiling and Running C# Programs
Ron Marshall presents an overview of new features in RHEL 8 beta including Cockpit improvements, package management changes with Application Streams and Flatpak, updated container tools like Podman and Buildah, Composer for building custom images, and system session recording with tlog. The technical introduction also covers where to obtain RHEL 8 beta, new kernel features, and additional topics like TCP BBR and Stratis storage.
RHEL 8 introduces several new technologies including Cockpit improvements, Podman/Buildah/Skopeo for containers, Application Streams for modular package management, Flatpak for desktop applications, and System Recorder (tlog) for centralized user session recording. Other enhancements include Kernel 4.18, TCP BBR congestion control, and tools like Image Builder and Stratis. The presentation provides technical overviews and demonstrations of these new features in RHEL 8.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
This document provides an overview of OpenFrameworks for Flash developers. It includes:
1. An introduction to OpenFrameworks and how it can be used to create C++ applications with less hassle than traditional methods.
2. A breakdown of the basic structure of an OpenFrameworks application including the main classes and functions.
3. Step-by-step explanations of three example OpenFrameworks projects that create circles, an animation, and particles.
4. Additional resources for learning more about OpenFrameworks, creative coding, and getting involved in the OpenFrameworks community.
This document discusses Python debuggers and how they can be used to step through code, inspect values, and help debug programs. It notes print statements are not sufficient for debugging and debuggers allow pausing execution and stepping line by line. Common debugger commands are described, and it recommends upgrading to ipdb or wdb which have additional features like colors and better interfaces. The document also mentions how to create a custom debugger by extending the bdb module in Python.
The document discusses unit testing and PHPUnit. It introduces unit testing concepts and methods like unit, integration, and regression tests. It provides an overview of PHPUnit functionality for writing and running tests. Advanced scenarios covered include custom testing environments, testing a WebDAV server, and challenges of testing parsers. The presentation encourages the use of unit testing to improve code quality.
This document discusses debugging and profiling PHP applications using Xdebug. It provides instructions for installing Xdebug on different platforms and configuring it for debugging and profiling. It also describes how to trigger debug sessions from PHPStorm, Chrome extensions, and JavaScript bookmarklets. Alternative profiling tools like MCG and XHProf are mentioned as well.
Symfony2 components to the rescue of your PHP projectsXavier Lacot
Symfony2 components can be of a great help when trying to improve the level of existing PHP projects. This presentation explains how PHP and its ecosystem evolved during the last 10 years, and focuses on the successive use of several Symfony2 components, to show how useful they are for the PHP developer.
The presentation gives some migration strategies, and explains component by component the migration plan and the (possible) implications on the historical code.
Talk at PyCon2022 over building binary packages for Python. Covers an overview and an in-depth look into pybind11 for binding, scikit-build for creating the build, and build & cibuildwheel for making the binaries that can be distributed on PyPI.
This document discusses debugging techniques for production environments. It covers using debuggers and symbol files to debug running processes, remote debugging to debug processes on other machines, analyzing core dumps to debug crashed processes postmortem, and snapshot debugging using Application Insights to capture the state of an application during errors. It also introduces the OzCode production debugging platform, which aims to provide a unified experience for debugging applications running in cloud, on-premise, and other complex environments.
With PHP 7.2 recently released and PHP 5.3 and 5.4 still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 7.0 (or preferably 7.1), but on how to get code ready for the latest version of PHP.
Using the version compatibility checker for PHP_CodeSniffer and a few simple step-by-step instructions, upgrading old code to make it compatible with the latest PHP versions becomes actually really easy. In this talk, we'll migrate an old piece of code and get rid of the demons of the past and ready for the present and future.
My talk at the Symfony Online 2023 Conference.
Many developers fail to use a debugger like Xdebug in their day to day activities. In this talk we explain:
- Why you really want to be using a debugger
- How do you install and configure it easily
- How it interacts with your Symfony application
- How you can use it for more than just debugging your application, how you can actually use it to drive your development.
The document provides an introduction and overview of using the Linux desktop environment. It covers basics like navigating the desktop, installing software using package managers, configuring networks and devices, using web browsers and multimedia applications. It also discusses office suites, graphics editors, virtualization, and encourages hands-on experimentation for those new to Linux.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
A very basic, high-level presentation on why one should start learning Python today.
Presented at the Bukidnon State University extension campus at Alubijid National Comprehensive High School, Alubijid, Misamis Oriental, Philippines.
This document discusses calling the Notes C API from LotusScript. It describes the LotusScript eXtension (LSX) toolkit, which allows extending LotusScript with custom C code by building platform-specific libraries. It also covers differences between platforms when calling the Notes C API directly from LotusScript, such as data types and library file names. As an example, it demonstrates calling the simple NSFGetServerLatency() API function from LotusScript to get network latency between servers.
This document provides an overview of the Xdebug PHP debugging tool. It discusses installing Xdebug, enabling error handling and displaying variables, using Xdebug for remote debugging and profiling PHP scripts, and generating function traces. The document also lists Xdebug features and configuration options for profiling, remote debugging, and function traces.
With PHP 7.2 recently released and PHP 5.3 and 5.4 still accounting for over 40% of all production environments, it's time to paint a clear picture on not just why everyone should move to 7.0 (or preferably 7.1), but on how to get code ready for the latest version of PHP.
Using the version compatibility checker for PHP_CodeSniffer and a few simple step-by-step instructions, upgrading old code to make it compatible with the latest PHP versions becomes actually really easy. In this talk, we'll migrate an old piece of code and get rid of the demons of the past and ready for the present and future.
The document discusses upgrading from PHP 5.x to PHP 7.x. It begins by explaining why upgrading is important for security, performance and compatibility reasons, as PHP 5.x reaches end of life. It then discusses how to upgrade, including new features in PHP 7.x like scalar type declarations and null coalescing operators, and removed/deprecated functions. It emphasizes automating the process using tools like PHPCompatibility to analyze code for compatibility issues across PHP versions. Upgrading in a staged, tested manner is recommended over postponing upgrades.
The document introduces Protocol Buffers and how to use them on Android. It discusses the benefits of Protocol Buffers such as speed, size, and compatibility. It also provides a demo comparing the performance of Protocol Buffers to GSON, showing that Protocol Buffers are faster and produce smaller data sizes. The document concludes by mentioning some drawbacks of Protocol Buffers and providing references for further information.
What is Computer Programming?
What is Software Development and Its Major Activities
Your First C# Program
Formatting the Program Source Code
The C# Language and .NET Framework
Microsoft Visual Studio: Compiling, Running and Debugging C# Programs
MSDN Library – The Integrated Help System in Visual Studio
Exercises: Creating, Compiling and Running C# Programs
Ron Marshall presents an overview of new features in RHEL 8 beta including Cockpit improvements, package management changes with Application Streams and Flatpak, updated container tools like Podman and Buildah, Composer for building custom images, and system session recording with tlog. The technical introduction also covers where to obtain RHEL 8 beta, new kernel features, and additional topics like TCP BBR and Stratis storage.
RHEL 8 introduces several new technologies including Cockpit improvements, Podman/Buildah/Skopeo for containers, Application Streams for modular package management, Flatpak for desktop applications, and System Recorder (tlog) for centralized user session recording. Other enhancements include Kernel 4.18, TCP BBR congestion control, and tools like Image Builder and Stratis. The presentation provides technical overviews and demonstrations of these new features in RHEL 8.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
1. Xdebug
Alltagshilfe und professioneller Debugger
TobiasSchlitt <toby@php.net>
PHP World Kongress 2009
2009-11-24
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 1 / 41
2. About me
Tobias Schlitt <toby@php.net>
PHP since 2001
Freelancing consultant
Qualified IT Specialist
Studying CS at TU Dortmund
(finishing mid 2010)
OSS addicted
eZ Components
PHPUnit
Various other projects . . .
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 2 / 41
3. Overview
1 About Debugging
2 Installation
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 3 / 41
4. Outline
1 About Debugging
2 Installation
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 4 / 41
5. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
6. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
7. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
8. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
9. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
10. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
11. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
12. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
13. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
14. Why a debugger?
I don’t need a debugger
No bug free code
Living life the easy way . . .
var dump(), print r() and echo
Sometimes, yes
Slow and a lot of work
Using a debugger = using an IDE
No, but you can
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 5 / 41
15. What is Xdebug?
Open Source debugger for PHP
PHP (Zend Engine) extension
Works (at least) on Linux, Mac and Windows
About 5 years old
Current stable version: 2.0.5
Created and maintained by Derick Rethans
http://xdebug.org
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 6 / 41
16. Xdebug features
Enhance daily work with PHP
Trace PHP program runs
Profile PHP applications
Analyze code coverage (e.g. PHPUnit)
Remote-debugging with an external client
Including break-points, stepping, . . .
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 7 / 41
17. Outline
1 About Debugging
2 Installation
Installation
Configuration
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 8 / 41
18. Via PEAR
Easiest way to install
Working PEAR assumed:
$ pear install pecl/xdebug
PEAR Installer performs necessary steps:
1 Download source
2 Compiling module
3 Copying module to destination
After that: Add module to php.ini
Only on *nix systems
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 9 / 41
19. Manual
Compile by hand
Typical PHP module compile process
wget h t t p : / / xdebug . o r g / l i n k . php ? u r l=xdebug205
t a r −x z f xdebug − 2 . 0 . 5 . t g z
cd xdebug − 2 . 0 . 5
phpize
. / c o n f i g u r e −−enable −xdebug
−−w i t h −php−c o n f i g =/ u s r / b i n / php−c o n f i g
make
cp m o d u l e s / xdebug . s o /<m o d u l e p a t h >/xdebug . s o
After that: Add module to php.ini
Only on *nix systems
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 10 / 41
20. Windows
Download binary module from http://xdebug.org
Copy to modules directory
After that: Add module to php.ini
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 11 / 41
21. Add module to php.ini
Not a “normal” extension
Add to php.ini:
zend extension = ”/path/to/xdebug.so”
For threadsafe builds: zend extension ts
For debug builds zend extension debug
Check $ php −v or phpinfo() ;
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 12 / 41
22. Common pitfalls
extension dir directive does not take effect!
Binary modules (Windows) do not work with PHP debug builds
−−enable−versioning prevents loading
Other zend-extensions interfere with Xdebug
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 13 / 41
23. Configuration
Huge variety of options
Many shown later
Overview: http://xdebug.org/docs/all_settings
Most options adjustably with ini set () at runtime, except for
xdebug.extended info
xdebug. profiler ∗
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 14 / 41
24. Outline
1 About Debugging
2 Installation
3 Development goodies
Error messages
Dumping variables
Infinity
Useful functions
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 15 / 41
25. Getting started
Install module
Switch it on
Tweak some settings
Work as usual
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 16 / 41
26. Error messages
PHP error messages not very useful
Sometimes poor error location
Almost no info on affected data
No info on code context
Xdebug enhances that for you!
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 17 / 41
27. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 18 / 41
28. var dump()
Using var dump()
Everyone does it
There is nothing bad about it
var dump() in the browser sucks
Xdebug enhances var dump()
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 19 / 41
29. Infinite loops
Endless recursions
Extremely hard to find
Script just times out . . . or worse!
Xdebug can protect you
Note: Not from endless runs of loops!
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 20 / 41
30. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 21 / 41
31. Useful functions
xdebug [en/dis ] able ()
Manually switch stack traces on or off
xdebug call [ class /function/ file / line ]()
Get the call point of the currently running function
xdebug dump superglobals()
Dump super-globals as specified by INI setting
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 22 / 41
32. Useful functions
xdebug get declared vars ()
Returns an array containing the names of all variables in the current
scope
xdebug get function stack ()
Returns the function stack trace as an array
xdebug get stack depth()
Get the current depth in the function stack
Note: Includes also create a level!
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 22 / 41
33. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 23 / 41
34. Declared vars
Getting declared variables
f u n c t i o n f o o ( $a , $b )
{
g l o b a l $c ;
$d = ’ I am l o c a l ’ ;
var dump ( x d e b u g g e t d e c l a r e d v a r s ( ) ) ;
}
$c = ’ I am g l o b a l ’ ;
f o o ( 2 3 , 42 ) ;
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 24 / 41
35. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 25 / 41
36. Stack depth
Retrieving stack level
echo ”<p r e >” ;
echo ” S t a c k d e p t h i n ” . FILE . ”: ” .
x d e b u g g e t s t a c k d e p t h ( ) . ” nn” ;
function foo ()
{
echo ” S t a c k d e p t h i n ” . FUNCTION . ”: ” .
x d e b u g g e t s t a c k d e p t h ( ) . ” nn” ;
bar () ;
}
i n c l u d e ’ s t a c k d e p t h / d e e p e r s t a c k . php ’ ;
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 26 / 41
37. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 27 / 41
38. Outline
1 About Debugging
2 Installation
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 28 / 41
39. What is tracing?
Check control flow of application
Correct function calls
Correct data
Does input data produce correct workflow?
Traces always depend on input data
Almost impossible to create traces for every possible control flow
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 29 / 41
40. Tracing
Some developers trace like this:
echo ” Here I am ! ! ! ” ;
// . . .
echo ”Now I ’m h e r e ! ! ! Something i s : ” ;
var dump ( $ s o m e t h i n g ) ;
Works well in small scripts
Horror in larger apps / libraries
Debugging like this is a sh**load of work
Almost impossible with 3rd party code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 30 / 41
41. Tracing with Xdebug
By functions:
xdebug start trace ()
xdebug stop trace ()
Automatically (php.ini)
xdebug.auto trace = ”1”
Cannot be set via ini set () !
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 31 / 41
42. Tracing example
A simple trace
f u n c t i o n d o u b l e F a c u l t y ( $num )
{
i f ( $num < 3 )
{
r e t u r n $num ;
}
r e t u r n $num ∗ d o u b l e F a c u l t y ( $num − 2 ) ;
}
x d e b u g s t a r t t r a c e ( ’ t r a c e s /60 s i m p l e t r a c e . x t ’ ) ;
echo d o u b l e F a c u l t y ( 10 ) ;
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 32 / 41
43. Let’s dig into some code
Let’s dig into some code
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 33 / 41
44. Notes on tracing
Never trace in production!
Tracing is extremely slow!
grep & friends help a lot
Tuning configuration makes traces more usable
More information through Xdebug mean
Slower performance
Higher memory consumption
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 34 / 41
45. Outline
1 About Debugging
2 Installation
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 35 / 41
46. Profiling
Which code takes which time?
Find bottle necks in code
Check your database queries and setup first!
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 36 / 41
47. Code coverage
Mostly used in testing
Which code is not covered by a test?
PHPUnit can utilize this
http://www.phpunit.de
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 37 / 41
48. Remote debugging
Integrate Xdebug into your IDE
Komodo IDE
Eclipse
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 38 / 41
49. Outline
1 About Debugging
2 Installation
3 Development goodies
4 Tracing
5 More features...
6 The end
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 39 / 41
51. The end
I hope you enjoyed the session
Slides and material
http://schlitt.info/opensource
http://www.slideshare.net/tobyS
Contact: Tobias Schlitt <toby@php.net>
Tobias Schlitt (PHP World Kongress 2009) Xdebug 2009-11-24 41 / 41