I'm working on some material for Code Camp 7 (haven't made the reservations yet - but I'm about 70% sure I'm going). Last time (Code Camp 5) I presented "Disassembling for Fun", then I prestented to a couple of user groups slightly different flavors of the same talk. I'm now trying to take that talk to the next level, but still fooling around with ways to do that. The last talk I gave was "Practical Disassebling" or some title like that. So the content went from, more or less, a how to write a disassembler to how to use some of the free disassembler tools out there. Two different target audiences ... so the challenge now is to determine what sort of audience to target.
How to write a .Net disassembler = smaller group of developers interested - but the ones who would attend would really be interested
How to use some of the disassembler tools - larger group of developers interested - but may only have a passing interest in the practical aspects
One of the ways I'm thinking of making the how to talk into something easier to explain is to relate the disassembler's output to a typical report with a relational database as the backend. I haven't quite decided if I'm going to use this approach yet, but it is sort of a fun exercise :)
Here are the tables for an Assembly's Manifest:
One thing I figured out building this diagram is - I'll have to make multiple diagrams showing at most 3-4 tables if I want to use them in a presentation. The manifest diagram is way too busy for a presentation.