Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Python, DOT, and Visualising Legacy Code The La...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
John Chandler
June 03, 2011
Programming
23
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Python, DOT, and Visualising Legacy Code The Lazy Way
Presentation to the London Python Code dojo in 2011.
John Chandler
June 03, 2011
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
17
Snowboarding Saved My Software Career
metaljoe
0
14
Neurodiversity in Tech
metaljoe
0
68
Neurodiversity Lightning Talk
metaljoe
0
18
Tackling a Legacy Codebase with (Micro)Services
metaljoe
0
14
Regular Expressions
metaljoe
0
18
Testing Workshop - Part 1 (PyConUK 2011)
metaljoe
0
24
Testing Workshop - Part 2 (PyConUK 2011)
metaljoe
0
16
Test Driven Development (A Short Introduction)
metaljoe
0
16
Other Decks in Programming
See All in Programming
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
1
110
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
330
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
290
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
230
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
740
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
600
App Intentsのビルドプロセスを支える技術
kntkymt
0
490
mrbgem 三角測量 開発
ogom
0
160
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
310
Designing Experiences People Love
moore
143
24k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
300
Git: the NoSQL Database
bkeepers
PRO
432
67k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
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