I am Concerned about my Presentation Tomorrow
I have to be honest, I’m a little concerned that my presentation at 12:30 tomorrow. My new CFC framework/methodology/method (whatever you call it) is just too simple. I’m concerned that it won’t confuse enough people tomorrow.
I mean, this conference is about frameworks, the attendees are the smartest of the smart people in the CF community. They’re going to understand 99% of everything I say and probably finish my sentences for me. My idea for how an application should be built using CFCs is just too easy.
I need help thinking up something really confusing that I can talk about. Any suggestions?

Give your entire presentation in binary. That will help.
Comment by Raymond Camden — January 31, 2007 @ 12:00 am
010001110110111101101111011001000010000001101001011001000110010101100001
http://students.washington.edu/cwei/tools/binary.shtml#bin
Comment by Steve Nelson — January 31, 2007 @ 12:00 am
0100010101110111011101110111011100101110001011100010111001011001011011110111010100100000011101010111001101100101001000000100100101000101001011100010000000100000010100110110010101100011011011110110111001100100001000000110111101100110001000000110000101101100011011000010110000100000011001100111001001101111011011010010000001110111011010000110000101110100001000000100100100100111011101100110010100100000011100110110010101100101011011100010000001100110011100100110111101101101001000000111100101101111011101010111001000100000010011010100010001000011010001100101010101000111001000000111000001110010011001010111001101100101011011100111010001100001011101000110100101101111011011100010110000100000011110010110111101110101001000000111001101101000011011110111010101101100011001000110111000100111011101000010000001100010011001010010000001110011011000110110000101110010011001010110010000101110001000000010000001011001011011110111010100100000011100110110100001101111011101010110110001100100001000000110001001100101001000000110010101101101011000100110000101110010011100100110000101110011011100110110010101100100001011100010000000100000010010100111010101100100011001110110100101101110011001110010000001100110011100100110111101101101001000000111010001101000011001010010000001100011011011110110110101110000011011110111001101101001011101000110100101101111011011100010000001101111011001100010000001110100011010000110100101110011001000000010001001100110011100100110000101101101011001010111011101101111011100100110101100101100001000100010000001101001011101000010000001100001011100000111000001100101011000010111001001110011001000000111010001101000011000010111010000100000011110010110111101110101001001110111011001100101001000000110001001100101011001010110111000100000011100110111010001110101011000110110101100100000011010010110111000100000011100110110111101101100011010010111010001100001011100100111100100100000011000110110111101101110011001100110100101101110011001010110110101100101011011100111010000100000011001100110111101110010001000000111010001101000011001010010000001110000011000010111001101110100001000000011010100100000011110010110010101100001011100100111001100101110001011100010111001100001011011100110010000100000011000010110110001101100001000000111100101101111011101010010000001101000011000010110010000100000011101000110111100100000011100100110010101100001011001000010000001101001011100110010000001110100011010000110010100100000011101110110111101100101011001100111010101101100011011000111100100100000011011110111010101110100001011010110111101100110001011010110010001100001011101000110010100100000001111000110000100100000011010000111001001100101011001100011110100100010011010000111010001110100011100000011101000101111001011110111011101110111011101110010111001100001011011010110000101111010011011110110111000101110011000110110111101101101001011110100010001101001011100110110001101101111011101100110010101110010011010010110111001100111001011010100001101000110010000110111001100101101010000110110111101101100011001000100011001110101011100110110100101101111011011100010110101001101010110000010110101000011011011110110110101110000011011110110111001100101011011100111010001110011001011110110010001110000001011110011000000111001001101110011001000110000001101110011100000110110001101000011100100100010001111100100010001101001011100110110001101101111011101100110010101110010011010010110111001100111001000000100001101000110010000110111001100111010001000000100001101101111011011000110010001000110011101010111001101101001011011110110111000100000010011010101100000100000010000110110111101101101011100000110111101101110011001010110111001110100011100110011110000101111011000010011111000101110001000000010000001010100011010000110010100100000010011010100010001000011010001100101010101000111001000000111000001110010011001010111001101100101011011100111010001100001011101000110100101101111011011100010000001101101011000010111010001100101011100100110100101100001011011000111001100100000011000010111000001110000011001010110000101110010001000000110110001101001011010110110010100100000011000110110111101101100011011000110010101100011011101000110100101101111011011100010000001101111011001100010000001110111011011110111001001110011011101000010110101110000011100100110000101100011011101000110100101100011011001010111001100100000011011010110000101110011011100010111010101100101011100100110000101100100011010010110111001100111001000000110000101110011001000000110001001100101011100110111010000101101011100000111001001100001011000110111010001101001011000110110010101110011001011100010000000100000011000110110011001101001011011100110001101101100011101010110010001101001011011100110011100100000011101000110100001100101001000000110001001101111011001000111100100100000011011110110011000100000011001100111010101101110011000110111010001101001011011110110111001110011001011000010000001101110011011110111010000100000011011000110111101100011011000010110110001101100011110010010000001110011011000110110111101110000011010010110111001100111001000000111011001100001011100100110100101100001011000100110110001100101011100110010110000100000011000110110011001101100011011110110001101100001011101000110100101101111011011100111001100100000011010010110111000100000010000110100011001000011011100110010110000100000011100100110010101100110011001010111001001100101011011100110001101101001011011100110011100100000011000010111000001110000011011000110100101100011011000010111010001101001011011110110111000100000011100110110001101101111011100000110010100100000011010010110111001110011011010010110010001100101001000000110110101100101011101000110100001101111011001000111001100101100001000000110111001101111011101000010000001110011011000110110111101110000011010010110111001100111001000000111011001100001011100100110100101100001011000100110110001100101011100110010000001110000011100100110111101110000011001010111001001101100011110010010110000100000011000100110110001101001011011100110010001101100011110010010000001100001011011000110110001101111011101110110100101101110011001110010000001100011011011110110110101110000011011110110111001100101011011100111010001110011001000000110000101101110011001000010000001101101011001010111010001101000011011110110010001110011001000000111010001101111001000000110001001100101001000000110001101100001011011000110110001100101011001000010000001100110011100100110111101101101001000000111010001101000011001010010000001010101010100100100110000101100001000000110001101110010011001010110000101110100011010010110111001100111001000000110000101101110001000000110000101110010011001110111010101101101011001010110111001110100011100110010000001110011011101000111001001110101011000110111010000100000011010010110111000100000011101000110100001100101001000000111011001100001011100100110100101100001011000100110110001100101011100110010000001110011011000110110111101110000011001010011111100111111001111110010000000100000010101000110100001100101001000000111011101101000011011110110110001100101001000000111010001101000011010010110111001100111001000000110100101110011001000000110000100100000011100110111010001101001011011100110101101101001011011100110011100100000011011010110010101110011011100110010111000100000001000000100110001100101011101000010000001101001011101000010000001100100011010010110010100101110
Comment by 01010000011000010111010101101100 — January 31, 2007 @ 12:00 am
010110010110111101110101001001110111001001100101001000000110101001110101011100110111010000100000011010100110010101100001011011000110111101110101011100110010000001100010011001010110001101100001011101010111001101100101001000000110100100100111011011010010000001100010011001010110000101110101011101000110100101100110011101010110110000100000011000010110111001100100001000000111100101101111011101010010000001110011011011010110010101101100011011000010000001101100011010010110101101100101001000000110010101100111011001110111001100101110
Comment by 01010011011101000110010101110110011001010010000001 — January 31, 2007 @ 12:00 am
I’m certainly looking forward to the presentation. If the concept is simple, knock it out quick, show some real world (not car and driver) code samples, and then open it up for the million questions that’ll arise. I think th Q&A might be as good as the talk!
I’m certainly interested in your approach. My framework heavily uses base classes. I mean, ArticleController.List() is probably pretty similar to UserController.List, so why not have an object driven base controller with list (and add, edit, delete, approve, import, export, etc.) methods to get free scaffolding for the basic cases using dynamic generalized programming? Same for a BaseService, BaseDAO and even BaseObject so I get most of my scaffolding for free and just have to paramterize the business object data appropriately.
I DO see a place for core files in terms of base classes. I also have validation and transformation libraries, code for generating and handling lists (both static and object based – if you want a drop down list of categories displayed as an indented tree or a list of statuses for radio buttons) and I also have some default code to handle pages that have to be https, putting form and URL scope into a smart transient business object with dynamic getters and setters and the ability to overload by saying things like CategoryID = numeric (so it’ll regex whatevere.categoryID if it exists and then replace with a 0 if len < 1 to save all the boilerplate manual coding) so I do find that I have core files. I also have my LightWire DI engine for injecting dependencies and I can’t imagine a complex project without some kind of DI engine for runtime and mocking. I’m also adding AOP for cross cutting concerns and again think that is a useful thing to have and have a bunch of ORM features in the DAOs.
Oh and a psuedo page controller that’ll get page data from the db so it can automatically have the data to call the right controller for the sidbars and pods as well as the main content areas based on manually manageable business rules.
So, I do actually like core files, but I make each one work hard and save me LOTS of time for my (relatively simple) use cases (my DI engine is under 300 lines including lots of spacing and some commenting).
Real beatuy of all that is I can just use declaritive parameters to deliver 90% of my apps ad have code only the edge cases so I can do thing like generate a fairly custom commerce engine in an hour or two.
That said, looking forward to your presentation to see if there’s anything I’m missing – always nice to hear another approach!
Comment by Peter Bell — February 1, 2007 @ 12:00 am
Steve,
Please, please, please post a screencast or powerpoint slides from your presentation. Probably the only reason I was trying to get to the conference was to see this.
Comment by Tony Petruzzi — February 1, 2007 @ 12:00 am
Tony – I’m going to post a full application (its probably a little buggy here and there, but whatever) along with a 5 page walk through of line by line whats going on. I have a few viewlets (screencasts) from another app. I may redo them with this sample app. Finally, Liz is going to release podcasts of the presentations. So yeah, I’ll make this stuff available.
Peter, my presentation is 90% code. I only have 10 Powerpoint slides because I think you’ll all get a lot more from looking at the code than hearing another sales pitch for yet another way to write software. I agree with you that the discussion will be half the fun, I’ll try and keep some free time for that. As far as base classes go, the more I think about them, the more I think they go against basic computer science 101. I had plenty of professors in college yell at me for creating global variables. I didn’t understand why they were problematic at the time, but I’m starting to see base classes as a similar issue as global variables.
Lately I’m trying as hard as I can to only run code that I need right then and there. This can be a pretty big discussion in itself. I’ll throw out these new ideas and we can all argue about them until we go blue in the face.
Comment by Steve Nelson — February 1, 2007 @ 12:00 am
awesome staeve. good luck with the presentation.
Comment by Tony Petruzzi — February 1, 2007 @ 12:00 am
This Article is very useful to me, I dig it into http://www.duyp.net
Comment by ketty — September 18, 2008 @ 12:00 am