This document introduces Pipfile as a new standard for declaring and locking dependencies for Python projects. Pipfile aims to improve on the existing tools and workflows for dependency management like requirements.txt. It consists of a Pipfile that declares dependencies and a Pipfile.lock that locks down dependency versions. Pipenv is a tool that combines Pipfile, virtualenv, and Pip to provide a unified workflow for installing, managing, and locking dependencies. The document outlines some of the pros and cons of adopting Pipfile, such as how it locks down dependencies but may be harder to update packages compared to requirements.txt.
Automatic PHP 7 Compatibility Checking Using php7cc (and PHPCompatibility)Mark Niebergall
Running PHP 5 and ready to upgrade to PHP 7 but want to check your code for compatibility? Learn all about using php7cc to automatically check code for PHP 7 compatibility, including installation, syntax, options, and how to run the tool. Discuss the commonly seen incompatible code and see how to fix the code to be compatible with PHP 7. Leave with the tools and knowledge needed to upgrade any PHP 5 project to PHP 7.
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PhpStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into cli, APIs, and SOAP clients to increase the code that can be debugged with ease.
Introduction to php7, its performance improvements, presenting alternative to boost your code if waiting for php7 is not an option, like hhvm, zephir or QB allowing immediate gains using php 5.5+.
Presented at the Istanbul PHP Conference
Automatic PHP 7 Compatibility Checking Using php7cc (and PHPCompatibility)Mark Niebergall
Running PHP 5 and ready to upgrade to PHP 7 but want to check your code for compatibility? Learn all about using php7cc to automatically check code for PHP 7 compatibility, including installation, syntax, options, and how to run the tool. Discuss the commonly seen incompatible code and see how to fix the code to be compatible with PHP 7. Leave with the tools and knowledge needed to upgrade any PHP 5 project to PHP 7.
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PhpStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into cli, APIs, and SOAP clients to increase the code that can be debugged with ease.
Introduction to php7, its performance improvements, presenting alternative to boost your code if waiting for php7 is not an option, like hhvm, zephir or QB allowing immediate gains using php 5.5+.
Presented at the Istanbul PHP Conference
Tracking huge files with Git LFS (GlueCon 2016)Tim Pettersen
These are the slides from Tim Pettersen's (@kannonboy) presentation entitled "Tracking huge files with Git LFS" at GlueCon 2016 in Broomfield, Colorado. The video is available at https://www.youtube.com/watch?v=iJ3hXuEVKAc
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerJohn Anderson
Hello, unfrozen Paleolithic Perl programmers! Welcome to 2015!
First, let’s start with the good news: yes, we’re still programming in Perl5 in 2015 (and yes, we think that’s good news). Indeed, most of the code you wrote in the past, before that unfortunate "Big Giant Hole in Ice" incident, will likely still work just fine on the current release of Perl5 -- even if you originally wrote it against Perl 4 or even Perl 3.
Here’s the bad news: there’s been an incredible amount of innovation in not only Perl5-the-language, but also in Perl5-the-community and what the community considers to be accepted best practices and the right way to do things. It can be very frightening and confusing!
But wait, there’s more good news: if you come to this talk, you’ll get a guided tour of my (reasonably opinionated) views on what the consensus best practices are around issues such as which version of Perl5 to use, system Perl versus non-system Perl, Perl5 installation management packages, new language features and libraries to use, old language features and libraries to avoid, modern tooling, and even more!
Dear Ninja Git Apprentice, your training will be short but it will be dense and fierce. I will teach you how to lock down your master's fortress from tampering and infiltration, how to become invisible and hide data in a repository, how to resist any attacks and recover your committed and uncommitted files, how to be fast as a fox to cover your tracks and resolve conflicts. Save the master!
It is the slides for SITCON[1] 2013 Workshop[2]: "Git - The Version Control System You Must Know".
[1]: http://sitcon.org/
[2]: http://www.openfoundry.org/tw/activities/details/415-the-open-source-way-coder
Working with Git – a simple introduction for those used to working with a VCS like Subversion. Explains concepts and shows examples. Feel free to steal slides for your own purposes.
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet
Continuously Deliver Your Puppet Code with Jenkins, r10k and Git (Intermediate) - Toni Schmidbauer, IT Solutions at Spardat GmbH given at Puppet Camp Düsseldorf 2014
Tracking huge files with Git LFS (GlueCon 2016)Tim Pettersen
These are the slides from Tim Pettersen's (@kannonboy) presentation entitled "Tracking huge files with Git LFS" at GlueCon 2016 in Broomfield, Colorado. The video is available at https://www.youtube.com/watch?v=iJ3hXuEVKAc
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerJohn Anderson
Hello, unfrozen Paleolithic Perl programmers! Welcome to 2015!
First, let’s start with the good news: yes, we’re still programming in Perl5 in 2015 (and yes, we think that’s good news). Indeed, most of the code you wrote in the past, before that unfortunate "Big Giant Hole in Ice" incident, will likely still work just fine on the current release of Perl5 -- even if you originally wrote it against Perl 4 or even Perl 3.
Here’s the bad news: there’s been an incredible amount of innovation in not only Perl5-the-language, but also in Perl5-the-community and what the community considers to be accepted best practices and the right way to do things. It can be very frightening and confusing!
But wait, there’s more good news: if you come to this talk, you’ll get a guided tour of my (reasonably opinionated) views on what the consensus best practices are around issues such as which version of Perl5 to use, system Perl versus non-system Perl, Perl5 installation management packages, new language features and libraries to use, old language features and libraries to avoid, modern tooling, and even more!
Dear Ninja Git Apprentice, your training will be short but it will be dense and fierce. I will teach you how to lock down your master's fortress from tampering and infiltration, how to become invisible and hide data in a repository, how to resist any attacks and recover your committed and uncommitted files, how to be fast as a fox to cover your tracks and resolve conflicts. Save the master!
It is the slides for SITCON[1] 2013 Workshop[2]: "Git - The Version Control System You Must Know".
[1]: http://sitcon.org/
[2]: http://www.openfoundry.org/tw/activities/details/415-the-open-source-way-coder
Working with Git – a simple introduction for those used to working with a VCS like Subversion. Explains concepts and shows examples. Feel free to steal slides for your own purposes.
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet
Continuously Deliver Your Puppet Code with Jenkins, r10k and Git (Intermediate) - Toni Schmidbauer, IT Solutions at Spardat GmbH given at Puppet Camp Düsseldorf 2014
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
This talk will try to cover the most important techniques and best practices used when creating Django web application.
Overview of the topics covered:
- development general principles and goals
- python/django project initial setup - project layout, git&venv&pip&shell, settings
- central project shell command - contains all commands to manage project
- "IDE" - editor & shell
- edit/run/test cycle
- deploy/test-remotely cycle
Disclaimer: techniques and practices presented are current AUTHOR'S optimal choice used for usual django project.
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
Wrapped in a single session, you'll find the concepts and techniques that convert the average Git practitioner into a master of the craft. We'll go from technical topics like "efficient conflict resolution" and "effective code cleanup," to the often-asked "how to handle project dependencies with Git" and "how to manage massive repositories." And much more.
In this talk, we'll discover how Docker comes to the rescue of the Ops Team, while rebuilding from scratch our monitoring infrastructure. We'll start by quickly describing the challenges, to focus on why and how using docker saved the project. From fixing dependencies and isolation issues, implementing rolling upgrades and new features hot addition, to building a completely modular, scalable and resilient infrastructure, we'll talk about why CI/CD workflows, docker tooling and Docker Swarm were the key to success.
Slides from my DockerCon EU 2017 Talk.
Find the abstract below:
"In this talk, we'll discover how Docker comes to the rescue of the Ops Team, while rebuilding from scratch our monitoring infrastructure. We'll start by quickly describing the challenges, to focus on why and how using docker saved the project. From fixing dependencies and isolation issues, implementing rolling upgrades and new features hot addition, to building a completely modular, scalable and resilient infrastructure, we'll talk about why CI/CD workflows, docker tooling and Docker Swarm were the key to success."
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
17. Deps question I
$ cat requirements.txt | wc -l
125
● Are all of deps pinned?
18. Deps question II
$ cat requirements.txt | wc -l
125
● Are all of deps pinned?
● No conflicts in sub-deps?
19. Deps question III
$ cat requirements.txt | wc -l
125
● Are all of deps pinned?
● No conflicts in sub-deps?
● How to view dependency tree?
20. Deps question IV
$ cat requirements.txt | wc -l
125
● Are all of deps pinned?
● No conflicts in sub-deps?
● How to view dependency tree?
● How to divide prod/dev/test deps?
32. Moving to libraries
● We have setuptools
● Which is used in setup.py
● And what if setup.py contains external deps?
33. Moving to libraries
● We have setuptools
● Which is used in setup.py
● And what if setup.py contains external deps?
● Pip will fail to install
34. Pipfile (PEP 518)
● Rationale: give dev ability to specify build system
● Implementation:
○ toml file in root called Pipfile
○ json file for locking Pipfile.lock
○ WIP installation through pip install -p
36. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
37. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
● Python literals (dict) - Cannot be parsed in other
languages
38. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
● Python literals (dict) - Cannot be parsed in other
languages
● YAML
39. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
● Python literals (dict) - Cannot be parsed in other
languages
● YAML
○ Specification == 86 pages (== too difficult)
40. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
● Python literals (dict) - Cannot be parsed in other
languages
● YAML
○ Specification == 86 pages (== too difficult)
○ Is not safe by default (command execution vuln.)
41. Rejected formats (from PEP)
● JSON - human-readable, but not human-editable
● Configparser - Python stdlib, but confusing
● Python literals (dict) - Cannot be parsed in other
languages
● YAML
○ Specification == 86 pages (== too difficult)
○ Is not safe by default (command execution vuln.)
○ Pip will need to vendor PyYAML (~1k LOC Python & C code)
52. What is Pipenv?
● Sacred Marriage of Pipfile, Pip, Pip-tools, & Virtualenv.
● From Kenneth Reitz: requests, autoenv
● Automatically manages
○ Pipfile
○ Pipfile.lock
○ virtualenv
53. Project with requirements.txt
$ cd your/project/dir
$ pipenv install
Requirements.txt found, instead of Pipfile! Converting…
54. Custom pypi fail :(
$ cd your/project/dir
$ pipenv install
Requirements.txt found, instead of Pipfile! Converting…
# but for custom pypi, there will be error on lock :(
$ sed -i s/pypi.python.org/pypi.example.org/g Pipfile
57. How to use with Docker?
$ pipenv lock
# In Dockerfile
WORKDIR /your/dir/
COPY Pipfile Pipfile.lock /your/dir/
RUN pipenv install --system
# to install libs in system folder
60. Summary
Pros
● All your deps are locked
● All your venvs are in .local
● Ability to separate dev/prod
Cons
61. Summary
Pros
● All your deps are locked
● All your venvs are in .local
● Ability to separate dev/prod
● Pip will support this file
Cons
62. Summary
Pros
● All your deps are locked
● All your venvs are in .local
● Ability to separate dev/prod
● Pip will support this file
Cons
● Not mature :(
63. Summary
Pros
● All your deps are locked
● All your venvs are in .local
● Ability to separate dev/prod
● Pip will support this file
Cons
● Not mature :(
● Dockerfile will miss cache
64. Summary
Pros
● All your deps are locked
● All your venvs are in .local
● Ability to separate dev/prod
● Pip will support this file
Cons
● Not mature :(
● Dockerfile will miss cache
● Harder to update package