Presentation-Fu (Making Frameworks Suck Less Part 1)

People ask me all the time how I make such awesome conference talks, so I decided to give you the gory step-by-step. Along the way I’ll even include my top-sekret speaker notes which I never share! It’ll give you an idea of the intense mental preparation it takes to be a top conference speaker in the PHP world and general PHP hero.

Rated R again!
“Rated R again!

“Making Frameworks Suck Less”
by Terry Chay
- howto/controverse
- Rated: R (Drama, Sex, Language, Vilence)

I thought I was done with speaking for the year. I have milked my last talk for over a year now and it was time to retired it. Since I had used this talk at the conference last year, that meant skipping ZendCon. In fact, I was a little worried because I hadn’t had a clue what my next talk (to milk) was going to be about so maybe I’ll just sit out next year.

That was because I had forgotten Keith had asked me to give an unconference talk there and I had said Yes. Then, a week before said conference, I get this e-mail asking if I’d be willing to move my slot to a different day.

Doh!

I had better find out what my talk was supposed to be about. When I did, my heart sank, it was a new topic and one I had no clue what to say.

How I didn’t prepare the talk

Making frameworks suck less—Terry Chay
Terry Chay, the original PHP Terrorist, is well known for his criticism and ridicule of the Ruby on Rails framework. He criticizes, mocks, and f-bombs his enemies into surrender. In this discussion, Terry will share his ideas and thoughts on making frameworks better.

I had recently purchased a book about procrastination. It had been procrastinating on my Amazon Wishlist for over a year and I had just finally got around to purchasing it. I had been procrastinating about reading it. But now the prospect of a conference talk I had no time to prepare for… let’s just say it seemed like a good way to procrastinate that by reading a book about procrastination!

In fact, I got to the part of the book where it says the first step to overcoming procrastination was to live your life at least three days at your normal level of procrastination. Great! No need to prepare the talk at all.

This book was already helpful!

Kicking Powerpoint’s ass

“Giving a talk on “making web frameworks suck less” at 2:45 in #zendcon” —tychay

“#zendcon Apparently @tychay is giving a talk at the same time as me (2:45 PM). That can’t be good for attendance. :-)” -shiflett

“missing @tychay’s talk at #zendcon… dammit.” —lightcap

“@shiflett that’s what I was thinking too. When @tychay gives a speech, he is his own conference. #zendcon” —spooons

Luckily, with the other book, on a whim I had purchased a book about communicating through drawings. Now I hadn’t read it—I was reading the Procrastination book, remember?—but from the testimonials on the back jacket of the cover, it seems if you just draw some random stuff with arrows and shit, you’ll kick PowerPoint’s ass, women will rush the stage at your next talk, etc.

Better yet, it sounded like I didn’t need to prepare—just whip out some Napkin-fu on people. I could do that.

This book was already helpful!

How I prepared the talk

“Preparing for @tychay’s talk at 2:45, looking at profanity definitions on wikipedia #zendcon.” —spooons

“#zendcon @tychay just finished his presentation… started heckling @funkatron. woohoo uncon!” —CaseSoftware

The great thing about my “new format” (besides the fact that I could procrastinate on doing it), was, since this my first unconference talk ever, I could say I thought that meant that you are supposed to pull shit out of your ass and such. Besides, if it bombed, I wouldn’t have lost much time which I could spend wisely on avoiding reading books on procrastination.

Of course, I hadn’t read either book, so I just showed up to Ed Finkler’s talk (just before mine), took out a notepad, and started to write shit down as Ed’s words wafted around me like that WhiteNoise app on the iPhone.

I was in the fucking zone or “flow state” or some shit. I don’t know exactly what because, if you remember, I hadn’t yet gotten to that chapter in that procrastination book I was supposedly reading.

After writing two pages of random thoughts, I stopped. I figured two pages of b.s. plus a bunch of tangents might amount to 45 minutes…or perhaps 15 minutes with a 30 minute question and answer. Powerful stuff!

Then, I looked at my pages, circled the legible parts, and write an outline of which of those I could categorize in logical groupings of the talk. Normally I do this in Keynote and start dragging things around, expanding them into slides, and when I can’t finish the slides, collapsing them so that they don’t appear. But I had “gone moleskin” as the kids today like to say and divided my universe into six groupings. Thus the beginnings of an outline…

Outline

“hm. @tychay on web frameworks. now that’s a talk I’m sad to miss” —skoop

“Sitting in the room for Terry Chay’s uncon talk at #zendcon … Room starting to fill already.” —EliW

“@ terry chay’s #zendcon uncon talk. let the swearing commence!” —iBspoof

“wow, @tychay’s uncon is more popular than the 3 regular sessions that are in parallel. people bring in their own chairs from other rooms :)” —ijansch

Here was my outline…

Terry did prepare his talk
Terry did prepare his talk

1. Introduction
2. Challenges and Choices
3. Where Frameworks Rock
4. Where PHP Rocks
5. Examples of good framework design
6. Challenges in PHP

(I actually wrote the outline out on the giant Post-It notepad they had in the room just so people could think that I had been up all night slaving away to come up with a work of organized brilliance, when really I had been up all night wishing I had actually worked on the talk earlier that week.)

After writing the outline, I took out six pages, labelled each with one of the titles from the outline and started to copy ideas from the two pages of random shit into each category, expanding on the stuff and making notes to myself that might remind me of a five minute story here and there to time suck the talk. In the end, I had to add another page for (2), because apparently, I have a lot to say in the topic area about why frameworks suck.

I threw away the first two pages so it wouldn’t get into the hands of my enemies, but I kept the rest.

And because around the same time I bought that procrastination book, I bought a a mobile scanner to magically make my life paperless, I have preserved this stuff for you digitally for all time.

“@tychay can you live stream your talks? I’ve heard a lot about em, haven’t had the pleasure to attend one yet.” —vluther

No, I can’t. But I can write out a transcript of my talk.

So it begins…

The Introduction

“@tychay starting now.” —akrabat

“#zendcon uncon.. @TyChay is starting “Making frameworks suck less”. woot” —CaseySoftware

I didn’t actually come up with the title of this talk—someone else did and I said, “Sure, I’ll give a talk on that.” *laughter*

This is going to be a test run for a possible future talk. I think a number of people here know me for one of two things: either my slides or my cussing *laughter*. I’m sorry I’m going to disappoint you because I haven’t figured where I’m going to cuss. *laughter* and I haven’t prepared the slides yet.

“”I haven’t figured out where I’m going to cuss.” — @tychay” —elazar

Because of this, I appreciate any feedback, by e-mail or whatever saying “That Terry Chay, he’s such a fuck-job or whatever.” *laughter* *snickering*.

“#zendcon @tyChay’s f-bomb count: 1” —CaseySoftware

“And he just dropped F-bomb number one. #zendcon #tcfc” —elazar

I’m okay with that…as long as you mention my name! *laughter*

The second thing in the Introduction is where I’m coming from. I work on large consumer facing websites. They involve online transaction processing—not OLAP—typically data-bound or database-bound applications. That’s important to note because there are a lot of applications out there—not just in the web “space” but beyond that aren’t related to that and I’m gathering things from my experiences.

But from those experiences, I’d like to relate a small story…

At the last ZendCon, I was sitting down for a snack or some sort of meal to get something in my stomach before another bout of drinking *laughter* and there were three people sitting next to me: one of them was the core developers of Cake, another was a core developer of Symfony, and a third person was a core developer of Zend Framework. And I don’t know if you know what my reputation is about frameworks, but I told them that, “What are you doing talking to each other—you should be talking to me!” *laughter* Because if they can get me to advocate one of those frameworks, it’d be like Nixon going to China. *laughter*

“”me advocating a framework would be like nixon going to china” – tychay” —auroraeosrose

“It sounds like the regular sessions at #zendcon can’t compete with @tychay.” —jeremyprivett

So what that means is that this talk isn’t going to be about making frameworks suck less, so much as me ranting about why frameworks suck. *laughter*

In the process I hope to mention some things about good framework design. I know that this is ironic, but I like to think of this talk about being an “Unframework” for an “Unconference.”

The last point I’m going to mention (in the introduction) is that I will be bringing up a lot of questions I ask when interviewing candidates. Don’t expect to answer them—or know the answer—but if you do, that’s great! All I know is apparently I’m the worst interviewer in the world: every time I interview a candidate, they complain to their headhunter about some guy who is asking too-tough questions and things like that. Hopefully, after this talk, you’ll see why I ask those questions—what I’m trying to gather. I don’t expect them to answer them all correctly; I don’t expect them to answer even half of them correctly. But I do like to know where they break so-to-speak so that I know where their strengths and weaknesses are. After this talk, maybe you’ll be able to answer these questions and kick butt if I have to interview you.

"Making Frameworks Suck Less" 1

I’ll continue in a future blog post. Stay tuned

10 thoughts on “Presentation-Fu (Making Frameworks Suck Less Part 1)

  1. Rob...

    It was a good talk – needs a little more polish though :)

    Specifically, I would have been interested for you to have expanded the section about PHP’s challenges as that’s an area that no-one (with a clue) actually talks about.

    Rob…

    Reply
  2. Keith Casey

    I had already marked you “controversy”, so I had to mess with you a bit more. ;)

    The more disturbing thing was when I added the “Rated: R” part, someone nearby said “Oh, rated R! Is it because of the language, violence, or sex?” The (male) voice almost sounded eager…

    Reply
  3. Pingback: Making frameworks suck less - SF PHP Meetup Nov 2008 | Grep My Mind

  4. Pingback: The Woodwork » Blog Archive » Challenges and Choices (Making Frameworks Suck Less Part 2)

  5. Pingback: Ed’s Tech Blog » (micro)Scaling A Legacy Web App

  6. Michael

    Terry makes an excellent point regarding implementing a website design. Bottom line, you gotta do what works, and server-side frameworks are early leverage, like drinking coffee in the morning. Terry explains the price of that boost very well. I wish more had been said about client-side frameworks, which seem to be very different. He touched on them in the Q&A but glossed over the distinction. Web site design should embody the value of the business, like a personality. Terry’s hand-crafted presentations are the personification of the value of a unique website personality, which usually doesn’t come from a server-side framework. However, client frameworks are like clothes, you rarely ever make your own. While it is important to choose wisely and carefully combine them, if you try to make everything you wear, you probably won’t get out much.

    Reply
  7. Pingback: The Woodwork » Blog Archive » EPIC Phails

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>