Zed Shaw was nothing short of brilliant. His talk was funny and engaging and also very useful, exactly what you're hoping for every time someone walks up to the stage. To give you an idea of the kind of guy Zed is, he wrote his slides in Factor, a stack based language. His Factor code compiled down to TeX which was run through OpenGL to show the slides. So awesome.
Correction: The presentation was written in Factor using a "TeX-like" DSL that mapped to an OpenGL GUI provided by Factor.

If I had to sum up Zed's talk in a single sentence, it would be: How to work for a big corporation without losing your soul. He started by talked about ACL lists and how terrible they are, stemming from the simple fact that they aren't turing complete. His team re-implemented a massive, near-unmaintainable ACL system consisting of something like (I hope I'm remembering this right) 270 000 ACL business rules with about 4000 lines of Ruby. And not only was the Ruby solution smaller, the non-programming employees could actually read the rules written in Ruby directly and say yeah that's right or no that's not!
The system they had was slow, it wasn't flexible and it couldn't even do some things (because of the lack of turing completeness). You'd think with so many major flaws on one hand and a good, working solution on the other (the Ruby program was already written and worked), the better solution would be picked every time, no?
Of course not. Anyone that's worked for a big company or even just read dilbert knows that efficiency and smart decisions are the least of corporate america's motivations. What motivates business decisions? Steak and strippers.
Zed argued that the average business oriented manager (someone in a company that does not produce software as a product, a company whose money is elsewhere but needs software internally) doesn't understand programmers, doesn't understand their motivations and because of that they fear and despise them. They wish they could get by without them but they can't. They need the software even if they understand nothing about it. They much prefer someone who's trying to actually sell them something because that they understand. Plus, free steak and strippers.
So what can we do about this? Zed gave us many solutions.
First of all, we must get more techies into management positions where they can make a difference. A lot of techies now do this by getting an MBA. DON'T DO THAT! The first step of an MBA is lobotomization. You go in carefully weighing the benefits and options of two positions based on facts and you come out spouting crap like Synergy! We need the software that will create the most Synergy!
We also need to be brutally honest when dealing with managers. This means exposing both the pros AND the cons of any solution. We have to stop trying to be salesmen because we're no good at it. We'll always get beat by the career salesman. You have to short-circuit this sales idea and make it about a real decision, not about sales.
Finally, we need to stop fetishizing the Technology Of The Week. Rails is the best! Erlang solves everything! No. We need real practical decisions based on real value. Something we know will work and not something just because it's cool (to us).
One of the most important take-aways from his talk was the fact that you don't owe the corporation anything more than an honest day's work. Too many people are so happy to simply be employed that they give everything they have to the company and basically allow themselves to be utterly exploited. Unless you have some sort of profit sharing agreement where you actually get some of that extra profit that your extra work generated, you shouldn't be slaving away giving all your best ideas and work to the company.
Instead, be creative. Do work stuff at work and fun stuff at home. Crazy stuff that has nothing to do with anything, stuff that's not the least bit useful, stuff that simply fun. Not only does it make you a better programmer, it's refreshing and just plain fun. The more pointless, the more crazy, the more absurd and useless, the better.
That last idea actually got me thinking about work situations a lot. I've started a little draft on that idea but how I want to convey it isn't entirely crystallized in my mind so I'm going to wait until I'm done my CUSEC series before publishing it. Just the fact that Zed got so many people reflecting on their life, their situation and what you can do about it made the talk a success. What made it amazing was Zed.
I know I couldn't possibly have done it justice with this post. The CUSEC organizers said that they taped everything in HD and promised to make everything available to download so I urge you to watch Zed's video when it comes out. I'll make sure I make another blog post when the videos come out.
To give you a representative idea of the impact Zed made on everyone present, check out this feedback form the organizers gave everyone at the end of the conference. This wasn't even my form either. (The quality isn't great since the pic was taken with a camera phone.)

Yeah. It was that good. There were actually multiple forms that had "Zed Shaw" in every answer.
Zed Shaw won CUSEC.






I can't believe how well you summarized his keynote, it's almost word for word in some places. You either have a fantastic memory or took down some very complete notes!
Either way, here's hoping he comes next year.
I didn't take any notes. For some reason I just have a good memory for that kind of thing. If I pay attention during a lecture I can generally write what the prof said word for word on an exam.
Too bad I almost never pay attention. =/
Actually I think it was only 400 lines of Ruby for the ACL thing!
Hey, that was the back of my head! :-)