Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python, DOT, and Visualising Legacy Code The La...
Search
John Chandler
June 03, 2011
Programming
0
17
Python, DOT, and Visualising Legacy Code The Lazy Way
Presentation to the London Python Code dojo in 2011.
John Chandler
June 03, 2011
Tweet
Share
More Decks by John Chandler
See All by John Chandler
Everything I've Learnt from Russel Winder's Talks, in 5 Minutes (A Tribute)
metaljoe
0
11
Snowboarding Saved My Software Career
metaljoe
0
7
Neurodiversity in Tech
metaljoe
0
52
Neurodiversity Lightning Talk
metaljoe
0
10
Tackling a Legacy Codebase with (Micro)Services
metaljoe
0
6
Regular Expressions
metaljoe
0
11
Testing Workshop - Part 1 (PyConUK 2011)
metaljoe
0
17
Testing Workshop - Part 2 (PyConUK 2011)
metaljoe
0
12
Test Driven Development (A Short Introduction)
metaljoe
0
9
Other Decks in Programming
See All in Programming
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
100
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
570
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
140
GraphRAGの仕組みまるわかり
tosuri13
7
480
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
1
310
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.3k
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
310
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
320
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
360
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
510
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
800
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Producing Creativity
orderedlist
PRO
346
40k
Site-Speed That Sticks
csswizardry
10
660
Docker and Python
trallard
44
3.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
KATA
mclloyd
29
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
Python, DOT and Visualising Legacy Code The Lazy Way (C)
John Chandler 2011
Legacy PHP Code! Noooooooooooooo!!!!
Deep Breaths. Visualise the Code.
Laziness Part 1: Use Python to Analyse Dependencies
Write a PHP Parser in Python? Or use a regular
expression... (include|require)(?:_once)?[ (]["']([^"']+)["']
Laziness Part 2: Use Graphviz to Draw The Diagram
Graphviz supports DOT. DOT is a graphing mini-language
digraph foo { node1 [label=“Node 1”]; node2 [label=”Node 2”]; node1
-> node2; }
$ dot -Tpng -O foo.dot
WTF. Looks like some refactoring to do
Source is available under GPL v3 from: http://www.bitbucket.org/metaljoe/qadpid