The document discusses aliasing in Python programming. It explains that an alias is a second name for a piece of data. It provides examples of how aliasing can cause bugs when working with mutable data like lists, but not with immutable data. It also discusses why Python allows aliasing despite the potential for bugs - for efficiency when working with large data structures and because sometimes in-place updates are desired.
Euro python2011 High Performance PythonIan Ozsvald
I ran this as a 4 hour tutorial at EuroPython 2011 to teach High Performance Python coding.
Techniques covered include bottleneck analysis by profiling, bytecode analysis, converting to C using Cython and ShedSkin, use of the numerical numpy library and numexpr, multi-core and multi-machine parallelisation and using CUDA GPUs.
Write-up with 49 page PDF report: http://ianozsvald.com/2011/06/29/high-performance-python-tutorial-v0-1-from-my-4-hour-tutorial-at-europython-2011/
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5PyNSK
Автор доклада: Александр Сапронов.
Обзорный мини-доклад. В докладе вы найдете причину релиза 2.7.11 и новинки Python 3.5
Доклад сделан на 2 встрече сообщества PyNSK
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
Slides from Advaned Python lectures I gave recently in Haifa Linux club
Advanced python, Part 2:
- Slots vs Dictionaries
- Basic and Advanced Generators
- Async programming
Euro python2011 High Performance PythonIan Ozsvald
I ran this as a 4 hour tutorial at EuroPython 2011 to teach High Performance Python coding.
Techniques covered include bottleneck analysis by profiling, bytecode analysis, converting to C using Cython and ShedSkin, use of the numerical numpy library and numexpr, multi-core and multi-machine parallelisation and using CUDA GPUs.
Write-up with 49 page PDF report: http://ianozsvald.com/2011/06/29/high-performance-python-tutorial-v0-1-from-my-4-hour-tutorial-at-europython-2011/
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5PyNSK
Автор доклада: Александр Сапронов.
Обзорный мини-доклад. В докладе вы найдете причину релиза 2.7.11 и новинки Python 3.5
Доклад сделан на 2 встрече сообщества PyNSK
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
Slides from Advaned Python lectures I gave recently in Haifa Linux club
Advanced python, Part 2:
- Slots vs Dictionaries
- Basic and Advanced Generators
- Async programming
Python 101 language features and functional programmingLukasz Dynowski
Presentation reviles the syntax solution for common encountered programming challenges, gives insight in to python datatypes, and explains core design principles behind the program
MATHEMATICAL MODELING OF COMPLEX REDUNDANT SYSTEM UNDER HEAD-OF-LINE REPAIREditor IJMTER
Suppose a composite system consisting of two subsystems designated as ‘P’ and
‘Q’ connected in series. Subsystem ‘P’ consists of N non-identical units in series, while the
subsystem ‘Q’ consists of three identical components in parallel redundancy.
Some parts of our applications don't need to be asynchronous or interact with the outside world: it's enough that they are stateful, possibly with the ability to handle failure, context, and logging. Although you can use ZIO 2 or monad transformers for this task, both come with drawbacks. In this presentation, Jorge Vásquez will introduce you to ZPure, a data type from ZIO Prelude, which lets you scale back on the power of ZIO 2, but with the same high-performance, type-inference, and ergonomics you expect from ZIO 2 libraries.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
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 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
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
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
2. An alias is a second name for a piece of data
Python Aliasing
3. An alias is a second name for a piece of data
Often easier (and more useful) than making a
sseeccoonndd ccooppyy
Python Aliasing
4. An alias is a second name for a piece of data
Often easier (and more useful) than making a
sseeccoonndd ccooppyy
If the data is immutable, aliases don't matter
Python Aliasing
5. An alias is a second name for a piece of data
Often easier (and more useful) than making a
sseeccoonndd ccooppyy
If the data is immutable, aliases don't matter
Because the data can't change
Python Aliasing
6. An alias is a second name for a piece of data
Often easier (and more useful) than making a
sseeccoonndd ccooppyy
If the data is immutable, aliases don't matter
Because the data can't change
But if data can change, aliases can result in a lot
of hard-to-find bugs
Python Aliasing
8. Aliasing happens whenever one variable's value
is assigned to another variable
first = 'isaac'
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first 'isaac'
Python Aliasing
9. Aliasing happens whenever one variable's value
is assigned to another variable
first = 'isaac'
second = first
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
second
'isaac'
Python Aliasing
10. Aliasing happens whenever one variable's value
is assigned to another variable
first = 'isaac'
second = first
But as we've already seen…
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
second
'isaac'
Python Aliasing
11. Aliasing happens whenever one variable's value
is assigned to another variable
first = 'isaac'
second = first
But as we've already seen…
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first = first + ' newton'
first
second
'isaac'
'isaac newton'
Python Aliasing
13. But lists are mutable
first = ['isaac']
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
'isaac'
Python Aliasing
14. But lists are mutable
first = ['isaac']
second = first
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
second
'isaac'
Python Aliasing
15. But lists are mutable
first = ['isaac']
second = first
first = first.append('newton')
pppprrrriiiinnnntttt first
['isaac', 'newton']
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
second
'isaac' 'newton'
Python Aliasing
16. But lists are mutable
first = ['isaac']
second = first
first = first.append('newton')
pppprrrriiiinnnntttt first
['isaac', 'newton']
pppprrrriiiinnnntttt second
['isaac', 'newton']
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
second
'isaac' 'newton'
Python Aliasing
17. But lists are mutable
first = ['isaac']
second = first
first = first.append('newton')
pppprrrriiiinnnntttt first
['isaac', 'newton']
pppprrrriiiinnnntttt second
['isaac', 'newton']
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
Didn't explicitly
second
'isaac' 'newton'
modify second
Python Aliasing
18. But lists are mutable
first = ['isaac']
second = first
first = first.append('newton')
pppprrrriiiinnnntttt first
['isaac', 'newton']
pppprrrriiiinnnntttt second
['isaac', 'newton']
vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
first
Didn't explicitly
second
'isaac' 'newton'
modify second
A side effect
Python Aliasing
25. # Correct code
grid = []
ffffoooorrrr x iiiinnnn range(N):
temp = []
Outer "spine" of structure
ffffoooorrrr y iiiinnnn range(N):
temp.append(1)
grid.append(temp)
Python Aliasing
26. # Correct code
grid = []
ffffoooorrrr x iiiinnnn range(N):
temp = []
ffffoooorrrr y iiiinnnn range(N):
temp.append(1)
grid.append(temp)
Add N sub-lists to outer list
Python Aliasing
27. # Correct code
grid = []
ffffoooorrrr x iiiinnnn range(N):
temp = []
ffffoooorrrr y iiiinnnn range(N):
temp.append(1)
grid.append(temp)
Create a sublist of N 1's
Python Aliasing
28. # Equivalent code
grid = []
ffffoooorrrr x iiiinnnn range(N):
grid.append([])
ffffoooorrrr y iiiinnnn range(N):
grid[-1].append(1)
Python Aliasing
29. # Equivalent code
grid = []
ffffoooorrrr x iiiinnnn range(N):
grid.append([])
ffffoooorrrr y iiiinnnn range(N):
grid[-1].append(1)
Last element of outer list is the sublist currently
being filled in
Python Aliasing
39. vvvvaaaarrrriiiiaaaabbbblllleeee vvvvaaaalllluuuueeee
grid = []
EMPTY = []
ffffoooorrrr x iiiinnnn range(N):
x
y
1
2
grid.append(EMPTY)
ffffoooorrrr y iiiinnnn range(N):
grid[-1].append(1)
grid
EMPTY
1 1 1
You see the problem...
Python Aliasing
48. If aliasing can cause bugs, why allow it?
1. Some languages don't
Python Aliasing
49. If aliasing can cause bugs, why allow it?
1. Some languages don't
Or at lleeaasstt aappppeeaarr nnoott ttoo
Python Aliasing
50. If aliasing can cause bugs, why allow it?
1. Some languages don't
Or at lleeaasstt aappppeeaarr nnoott ttoo
2. Aliasing a million-element list is more efficient
than copying it
Python Aliasing
51. If aliasing can cause bugs, why allow it?
1. Some languages don't
Or at lleeaasstt aappppeeaarr nnoott ttoo
2. Aliasing a million-element list is more efficient
than copying it
3. Sometimes really do want to update a structure
in place
Python Aliasing