SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
Writing Fast Code
PyCon HK 2015
iam@younggun.kim
Younggun, Kim
http://younggun.kim
@scari_net
scari
Badass Alien @ District 9, SMARTSTUDY
http://pengpenghu.com
PyCon Korea Organizer
http://pycon.kr @pyconkr
PyCon APAC 2016 Host (2016/Aug/13-15)
What I Think My Code Run
Movie - The Good The Bad The Weird, 2008
How My Code Really Run
The Killers : All These Things That I’ve Done M/V

https://youtu.be/sZTpLvsYYHw
Objective
1. Understanding
How Computer Works
2. How to use
Profiler
But why?
Say, thousands of people using your
code everyday and if you save 1
second to run it, this means you
could save over 4 days of time
human race wasted per a year.
See How Computer Works
and How Fast Computer
and it s peripherals
I/O >> 4D Wall >> Memory
Morse Code
Modem (2400)
CDMA(2G)
HSPA(3G, DL)
LTE*
USB 2.0
802.11n
USB 3.0
SATA 3.0
Thunderbolt 2
DDR2 1066Mhz
DDR3 1600Mhz
≈ 21 bps
≈ 2400 bps
≈ 153 kbit/s
≈ 13.98 Mbit/s
≈ 100 Mbit/s
≈ 480 Mbit/s
≈ 600 Mbit/s
≈ 3 Gbit/s
≈ 6 Gbit/s
≈ 20 Gbit/s
≈ 64 Gbit/s
≈ 102.4 Gbit/s
https://en.wikipedia.org/wiki/List_of_device_bit_rates
Yes! Memory is
blazing fast! (Really?)
DDR3 1600Mhz
FSB 400 (old Xeon)
PCI Express 3.0 (x16)
QuickPath Interconnect
HyperTransport 3.1
L3 Cache(i7-4790X)
L2 Cache(i7-4790X)
≈ 12.8 GB/s
≈ 12.8 GB/s
≈ 16 GB/s
≈ 38.4 GB/s
≈ 51.2 GB/s
≈ 170 GB/s
≈ 308 GB/s
Nope!
Computer Knows Only 0 and 1
00100000001000100000000101011110
Like This
00100000001000100000000101011110
opcode
addr 1
addr 2
value
MIPS32 Add Immediate instruction (ADDI)
addi $r1, $r2, 350
$r1 = $r2 + 350
Computer Execute These Instruction
per clock basis
Clock (Hz)
1Hz
1Hz
L1 Cache Acces
L2 Cache Access
L3 Cache Access
RAM Access
SSD I/O
HDD I/O
Internet: Tokyo to SF
Run IPython (0.6s)
Reboot (5m)
3s
9s
43s
6m
2-6 days
1-12 months
12 years
63 years
32,000 years!!
Disassemble Python Code To
CPython Bytecode
To Support Analysis
dis module
https://docs.python.org/3/library/dis.html

https://github.com/python/cpython/blob/master/Include/opcode.h
line # of source
op addr / instruction annotations
param
An Empty List Creation
[] vs list()
Dictionary
{} vs dict()
Find an element in a list
using for-loop vs in
A tool for dynamic program analysis
that measure the space or time
complexity of a program.
Profilers
• cProfile (profile)
• hotshot
• line_profiler
• memory_profiler
• yappi
• profiling
• pyinstrument
• plop
• pprofile
cProfile
• built-in profiling tool
• hook into the VM in CPython
• introduces overhead a bit
https://docs.python.org/3.5/library/profile.html
cProfile
python -m cProfile python_code.py
line_profiler
• can profile line-by-line basis
• Uses a decorator to mark the
chosen function (@profile)
• introduces greater overhead
https://github.com/rkern/line_profiler
profiling
• Interactive Python profiler which
inspired from Unity3D Profiler
• Keep the call stack.
• Live Profiling
• Only Support Linux
https://github.com/what-studio/profiling
https://github.com/sublee/pyconkr2015-profiling-resources/blob/master/continuous.gif
fibona
Use profiler with real code
fibona
Korean Fried Chicken Served as one
chicken. (not pieces)
And it’s quite complex to determine
how many chicken would enough for
N people.
fibona
The problem can be solved easily
using fibonacci number.
1 1 2 3 5 8 13 21 34 …
For Nth fibonacci number of people,
N-1 th fibonacci number of chicken
would be perfect.
fibona
Awesome Idea! but how do you get
enough chicken if number of the
people is not an fibonacci number?
fibona
Apply Zeckendorf’s theorem,
which is about the representation of
integers as sum of Fibonacci number
https://en.wikipedia.org/wiki/Zeckendorf's_theorem
KEEP

CALM
AND USE
THE

PROFILER
cProfile
python -m cProfile fibonachicken.py
cProfile
line_profiler
line_profiler
kernprof -l -v fibonachicken.py
line_profiler
line_profiler
line_profiler
line_profiler
Both fib() and is_fibonacci() is the bottleneck.
Should replace these with better one
Hypothesis #1
Improvement of fib() could result
better performance
Binet s Formula
https://en.wikipedia.org/wiki/Jacques_Philippe_Marie_Binet
cProfile
Hypothesis #2
Can we improve is_fibonacci() not to
use fib() at all?
n is a Fibonacci number if and only if 5n*n+4 or
5n*n-4 is a square
Gessel s Formula
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibFormula.html
cProfile
Summary
Consider efficiency of codes,
along with peripherals, and 

circumstances around you
Form a hypothesis and confirm
(using good profilers)
QA
Thanks!

Contenu connexe

Tendances

The state of PyPy
The state of PyPyThe state of PyPy
The state of PyPym_r_e
 
Mp24: Python in gaming industry
Mp24: Python in gaming industryMp24: Python in gaming industry
Mp24: Python in gaming industryMontreal Python
 
Why Python?
Why Python?Why Python?
Why Python?Adam Pah
 
Why is Python slow? Python Nordeste 2013
Why is Python slow? Python Nordeste 2013Why is Python slow? Python Nordeste 2013
Why is Python slow? Python Nordeste 2013Daker Fernandes
 
Python games (pygames)
Python games (pygames)Python games (pygames)
Python games (pygames)Ahmed Alyazji
 
Happy hacking with Plone
Happy hacking with PloneHappy hacking with Plone
Happy hacking with PloneMakina Corpus
 
Wonders of Golang
Wonders of GolangWonders of Golang
Wonders of GolangKartik Sura
 
Python games
Python gamesPython games
Python gamesmolw
 
Harmonic Stack for Speed
Harmonic Stack for SpeedHarmonic Stack for Speed
Harmonic Stack for SpeedYung-Yu Chen
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageAniruddha Chakrabarti
 
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François SaussetFrom Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François SaussetPôle Systematic Paris-Region
 
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
gRPC 프레임워크를 만들며 알아보는 파이썬  - 파이콘2020gRPC 프레임워크를 만들며 알아보는 파이썬  - 파이콘2020
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020재현 신
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기Jeongkyu Shin
 
a quick Introduction to PyPy
a quick Introduction to PyPya quick Introduction to PyPy
a quick Introduction to PyPyKai Aras
 
How to integrate python into a scala stack
How to integrate python into a scala stackHow to integrate python into a scala stack
How to integrate python into a scala stackFliptop
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Jeongkyu Shin
 

Tendances (20)

A Python Tutorial
A Python TutorialA Python Tutorial
A Python Tutorial
 
The state of PyPy
The state of PyPyThe state of PyPy
The state of PyPy
 
Mp24: Python in gaming industry
Mp24: Python in gaming industryMp24: Python in gaming industry
Mp24: Python in gaming industry
 
Why Python?
Why Python?Why Python?
Why Python?
 
Why is Python slow? Python Nordeste 2013
Why is Python slow? Python Nordeste 2013Why is Python slow? Python Nordeste 2013
Why is Python slow? Python Nordeste 2013
 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
 
Python Applications
Python ApplicationsPython Applications
Python Applications
 
Python games (pygames)
Python games (pygames)Python games (pygames)
Python games (pygames)
 
Happy hacking with Plone
Happy hacking with PloneHappy hacking with Plone
Happy hacking with Plone
 
Wonders of Golang
Wonders of GolangWonders of Golang
Wonders of Golang
 
Python games
Python gamesPython games
Python games
 
Harmonic Stack for Speed
Harmonic Stack for SpeedHarmonic Stack for Speed
Harmonic Stack for Speed
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François SaussetFrom Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
 
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
gRPC 프레임워크를 만들며 알아보는 파이썬  - 파이콘2020gRPC 프레임워크를 만들며 알아보는 파이썬  - 파이콘2020
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
 
a quick Introduction to PyPy
a quick Introduction to PyPya quick Introduction to PyPy
a quick Introduction to PyPy
 
An Introduction to PyPy
An Introduction to PyPyAn Introduction to PyPy
An Introduction to PyPy
 
How to integrate python into a scala stack
How to integrate python into a scala stackHow to integrate python into a scala stack
How to integrate python into a scala stack
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19
 

En vedette

Python codelab2
Python codelab2Python codelab2
Python codelab2건희 김
 
Introducation to php for beginners
Introducation to php for beginners Introducation to php for beginners
Introducation to php for beginners musrath mohammad
 
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS Joseaneciencias
 
Short Tech Quiz
Short Tech QuizShort Tech Quiz
Short Tech QuizPranavSB
 
Assessing the impact of SolarPulse on performance of utility scale PV plants
Assessing the impact of SolarPulse on performance of utility scale PV plantsAssessing the impact of SolarPulse on performance of utility scale PV plants
Assessing the impact of SolarPulse on performance of utility scale PV plantsMachinePulse
 
Kertas kerja orkestra traditional ukm
Kertas kerja orkestra traditional ukmKertas kerja orkestra traditional ukm
Kertas kerja orkestra traditional ukmamyloi_9
 
Technology Management Chapter 1 Notes
Technology Management Chapter 1 NotesTechnology Management Chapter 1 Notes
Technology Management Chapter 1 NotesRashna_Chaudhry
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in pythondaesung7kang
 
British Rule in India
British Rule in IndiaBritish Rule in India
British Rule in Indiaisabelchun
 

En vedette (15)

Campaign Execution
Campaign ExecutionCampaign Execution
Campaign Execution
 
GOODREJ 2
GOODREJ 2GOODREJ 2
GOODREJ 2
 
Python codelab2
Python codelab2Python codelab2
Python codelab2
 
Introducation to php for beginners
Introducation to php for beginners Introducation to php for beginners
Introducation to php for beginners
 
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS
EMEF TAJAL ASTRONOMIA JOSEANE CIENCIAS
 
Short Tech Quiz
Short Tech QuizShort Tech Quiz
Short Tech Quiz
 
Assessing the impact of SolarPulse on performance of utility scale PV plants
Assessing the impact of SolarPulse on performance of utility scale PV plantsAssessing the impact of SolarPulse on performance of utility scale PV plants
Assessing the impact of SolarPulse on performance of utility scale PV plants
 
Java PPT
Java PPTJava PPT
Java PPT
 
Python Programming Essentials - M24 - math module
Python Programming Essentials - M24 - math modulePython Programming Essentials - M24 - math module
Python Programming Essentials - M24 - math module
 
Kertas kerja orkestra traditional ukm
Kertas kerja orkestra traditional ukmKertas kerja orkestra traditional ukm
Kertas kerja orkestra traditional ukm
 
Technology Management Chapter 1 Notes
Technology Management Chapter 1 NotesTechnology Management Chapter 1 Notes
Technology Management Chapter 1 Notes
 
C# simplified
C#  simplifiedC#  simplified
C# simplified
 
Oop Presentation
Oop PresentationOop Presentation
Oop Presentation
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in python
 
British Rule in India
British Rule in IndiaBritish Rule in India
British Rule in India
 

Similaire à Writing Fast Code - PyCon HK 2015

Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Younggun Kim
 
Python_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdfPython_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdfVisionAcademyProfSac
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfbhagyashri686896
 
Python_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdfPython_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdfrupaliakhute
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfsannykhopade
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes rajaniraut
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net DeveloperSarah Dutkiewicz
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018Chun-Yu Tseng
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE teachersduniya.com
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Carlos Miguel Ferreira
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptPython_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptVGaneshKarthikeyan
 
Building FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptBuilding FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptTimo Sulg
 
Python for students step by step guidance
Python for students step by step guidancePython for students step by step guidance
Python for students step by step guidanceMantoshKumar79
 

Similaire à Writing Fast Code - PyCon HK 2015 (20)

Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015
 
Python_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdfPython_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdf
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
 
Python_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdfPython_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdf
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
 
Odoo profiler
Odoo profilerOdoo profiler
Odoo profiler
 
05 python.pdf
05 python.pdf05 python.pdf
05 python.pdf
 
Introduction to Google Colaboratory.pdf
Introduction to Google Colaboratory.pdfIntroduction to Google Colaboratory.pdf
Introduction to Google Colaboratory.pdf
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptPython_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
 
Building FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptBuilding FirefoxOS apps with Clojurescript
Building FirefoxOS apps with Clojurescript
 
Ladypy 01
Ladypy 01Ladypy 01
Ladypy 01
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
 
Python for students step by step guidance
Python for students step by step guidancePython for students step by step guidance
Python for students step by step guidance
 

Plus de Younggun Kim

비윈도우즈 환경의 기술 서적 번역 도구 경험 공유
비윈도우즈 환경의 기술 서적 번역 도구 경험 공유비윈도우즈 환경의 기술 서적 번역 도구 경험 공유
비윈도우즈 환경의 기술 서적 번역 도구 경험 공유Younggun Kim
 
Ready, Get set, Run
Ready, Get set, RunReady, Get set, Run
Ready, Get set, RunYounggun Kim
 
Python, PyCon and the PSF
Python, PyCon and the PSFPython, PyCon and the PSF
Python, PyCon and the PSFYounggun Kim
 
ConfConf 2016 - PyCon
ConfConf 2016 - PyConConfConf 2016 - PyCon
ConfConf 2016 - PyConYounggun Kim
 
SOSCON 2016 Keynote
SOSCON 2016 KeynoteSOSCON 2016 Keynote
SOSCON 2016 KeynoteYounggun Kim
 
Contributing to pandas (Korean)
Contributing to pandas (Korean)Contributing to pandas (Korean)
Contributing to pandas (Korean)Younggun Kim
 
파이콘한국2017 - Years with Python
파이콘한국2017 - Years with Python파이콘한국2017 - Years with Python
파이콘한국2017 - Years with PythonYounggun Kim
 
The PSF and our community
The PSF and our communityThe PSF and our community
The PSF and our communityYounggun Kim
 
파이콘 같이 합시다!
파이콘 같이 합시다!파이콘 같이 합시다!
파이콘 같이 합시다!Younggun Kim
 
Writing Fast Code (KR)
Writing Fast Code (KR)Writing Fast Code (KR)
Writing Fast Code (KR)Younggun Kim
 
테크 컨퍼런스에서 사람들과 친해지는 방법
테크 컨퍼런스에서 사람들과 친해지는 방법테크 컨퍼런스에서 사람들과 친해지는 방법
테크 컨퍼런스에서 사람들과 친해지는 방법Younggun Kim
 

Plus de Younggun Kim (11)

비윈도우즈 환경의 기술 서적 번역 도구 경험 공유
비윈도우즈 환경의 기술 서적 번역 도구 경험 공유비윈도우즈 환경의 기술 서적 번역 도구 경험 공유
비윈도우즈 환경의 기술 서적 번역 도구 경험 공유
 
Ready, Get set, Run
Ready, Get set, RunReady, Get set, Run
Ready, Get set, Run
 
Python, PyCon and the PSF
Python, PyCon and the PSFPython, PyCon and the PSF
Python, PyCon and the PSF
 
ConfConf 2016 - PyCon
ConfConf 2016 - PyConConfConf 2016 - PyCon
ConfConf 2016 - PyCon
 
SOSCON 2016 Keynote
SOSCON 2016 KeynoteSOSCON 2016 Keynote
SOSCON 2016 Keynote
 
Contributing to pandas (Korean)
Contributing to pandas (Korean)Contributing to pandas (Korean)
Contributing to pandas (Korean)
 
파이콘한국2017 - Years with Python
파이콘한국2017 - Years with Python파이콘한국2017 - Years with Python
파이콘한국2017 - Years with Python
 
The PSF and our community
The PSF and our communityThe PSF and our community
The PSF and our community
 
파이콘 같이 합시다!
파이콘 같이 합시다!파이콘 같이 합시다!
파이콘 같이 합시다!
 
Writing Fast Code (KR)
Writing Fast Code (KR)Writing Fast Code (KR)
Writing Fast Code (KR)
 
테크 컨퍼런스에서 사람들과 친해지는 방법
테크 컨퍼런스에서 사람들과 친해지는 방법테크 컨퍼런스에서 사람들과 친해지는 방법
테크 컨퍼런스에서 사람들과 친해지는 방법
 

Dernier

CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 

Dernier (20)

CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 

Writing Fast Code - PyCon HK 2015