Get your own free workspace
View
 

Zed's Keynote

Page history last edited by PBworks 4 years, 8 months ago

19:21:20 -!- zed [~zed@twotone.bybent.com] has joined #lsrc

19:21:20 <zed> ] Zed's keynote will have 756 lines.

19:21:20 <zed> ] Each line shows for 3 seconds.

19:21:30 <zed> ] Is this thing on?

19:21:30 <zed> ] Alright, time to start the show

19:21:32 <zed> ] .....

19:21:34 <zed> ]

19:21:36 <zed> ]

19:21:36 <zed> ] -- MY FIRST KEYNOTE --

19:21:37 <zed> ]

19:21:38 <alexander> zZz

19:21:39 <zed> ] Welcome to LSRC!

19:21:42 <zed> ] Glad to be back in Austin.

19:21:44 <zed> ] Thanks for inviting me.

19:21:45 -!- rob_ [~rob@192.168.100.87] has joined #lsrc

19:21:45 <zed> ] I'm from here.

19:21:46 <zed> ] Born in Texas.

19:21:47 <zed> ] Lived here only briefly so don't ask me where.

19:21:49 <zed> ]

19:21:51 <zed> ]

19:21:51 <zed> ] -- PRESENTED IN IRC VISION --

19:21:52 <zed> ]

19:21:53 <zed> ] This presentation brought to you by ii

19:21:55 <zed> ] http://www.suckless.org/wiki/tools/irc

19:21:55 -!- rick [~rick@192.168.100.248] has joined #lsrc

19:21:58 <zed> ]

19:21:58 <zed> ] The presentation "slides" are actually spewed into the #lsrc channel

19:21:58 <zed> ] http://pastie.caboo.se/private/n3neysmzjemkkkz5xkntw

19:21:59 <zed> ]

19:22:00 <zed> ] They are shown on the screen too

19:22:00 <zed> ] With my laptop

19:22:03 <zed> ] My LINUX laptop

19:22:04 <zed> ] Not a mac

19:22:06 <zed> ] Like you losers

19:22:06 <zed> ] A real man's machine

19:22:07 <zed> ] It eats Rattlesnake

19:22:07 <zed> ] and Kegogi

19:22:08 -!- preagan [~reaganpr@192.168.100.12] has joined #lsrc

19:22:10 <zed> ] to power its CPU

19:22:12 <zed> ] A CPU made of dead orphans

19:22:13 <zed> ] Your machine eats Quiche

19:22:15 <zed> ] To maintain its feminine curves

19:22:17 <zed> ]

19:22:17 <zed> ] -- YES I STILL HATE IRC --

19:22:19 <zed> ]

19:22:19 <zed> ] http://savingtheinternetwithhate.com/

19:22:22 <zed> ]

19:22:22 <zed> ] I just thought it'd be a great

19:22:23 <zed> ] presentation tool.

19:22:25 <zed> ]

19:22:28 <zed> ] -- ALL THIS ... --

19:22:28 <zed> ]

19:22:31 <zed> ] So the world can follow along with me

19:22:32 <zed> ] As I mouth off about

19:22:34 <zed> ] *************************

19:22:35 <zed> ] *** Why Keynotes Suck ***

19:22:37 <zed> ] *************************

19:22:37 <zed> ] None of this is about you.

19:22:39 <zed> ] It's about the people above you.

19:22:41 <zed> ] The people who carry sacred cows

19:22:42 <zed> ] around to make everyone worship them.

19:22:44 <zed> ] I love all y'all.

19:22:46 <zed> ] Well, most of you.

19:22:46 <zed> ] The motivation is, for a community

19:22:48 <zed> ] to evolve from the revolutionary phase

19:22:50 <zed> ] the community must eject the original

19:22:51 <zed> ] leaders.

19:22:53 <zed> ] Just ask Castro.

19:22:55 <zed> ]

19:22:56 <zed> ]

19:22:59 <zed> ] -- IN THE BEGINNING --

19:23:01 <zed> ]

19:23:04 <zed> ] It started with RailsConf 2007 Portland

19:23:06 <zed> ] The conference was great

19:23:07 <zed> ] But I didn't see any talks or keynotes

19:23:08 <zed> ] Apparently nobody else did

19:23:09 <zed> ] Ze Frank's was great

19:23:12 <zed> ] Dave Thomas' was retarded

19:23:14 <zed> ]

19:23:16 <zed> ] -- ZED'S CARGO CULT RULE --

19:23:19 <zed> ]

19:23:22 <zed> ] "Anyone who claims you follow a

19:23:22 <zed> ] cargo cult is only interested in

19:23:24 <zed> ] you following their cult and

19:23:27 <zed> ] probably to take your money."

19:23:28 <zed> ]

19:23:28 <zed> ] -- SURVEY SAYS --

19:23:30 <zed> ]

19:23:31 <zed> ] I asked around, and nobody likes keynotes.

19:23:32 <zed> ] Nobody seems to like most tech presentations.

19:23:33 <zed> ] This isn't for just Ruby but many conferences.

19:23:34 <zed> ] Tech conferences are the worst.

19:23:34 <zed> ] I started to wonder why.

19:23:34 <zed> ]

19:23:36 <zed> ] -- KAHHHHNN!!! --

19:23:38 <zed> ]

19:23:40 <zed> ] Why? Why do keynotes suck.

19:23:40 <zed> ] Some of these guys are getting paid.

19:23:41 <zed> ] You think they'd be great.

19:23:43 <zed> ] Make you tingle.

19:23:44 <zed> ] Wanna become a monk.

19:23:44 <zed> ] Donate all your money.

19:23:46 <zed> ] Nope.

19:23:47 <zed> ]

19:23:48 <zed> ] -- OTHER CONFERENCES? --

19:23:48 <zed> ]

19:23:50 <zed> ] I thought back to other cons.

19:23:51 <zed> ] Yep, I'm pretty sure maybe 1% of keynotes were good.

19:23:53 -!- phillip [~phillip@twotone.bybent.com] has joined #lsrc

19:23:54 <zed> ] Universally, they just suck.

19:23:55 <zed> ] That's the official statistic.

19:23:58 <zed> ] 1%.

19:24:00 <zed> ] I know statistics.

19:24:02 <zed> ] And wrote Mongrel.

19:24:02 <zed> ] So I'm right.

19:24:03 <zed> ] 1%.

19:24:04 <zed> ]

19:24:06 <zed> ] -- TIME FOR A SMILEY --

19:24:08 <zed> ]

19:24:11 <zed> ] :-)

19:24:12 <zed> ]

19:24:13 <zed> ] -- EXHIBIT A: MR. USABILITY --

19:24:14 <zed> ]

19:24:16 <zed> ] QCon had a keynote from a "usability expert"

19:24:18 -!- mirven [~mirven@192.168.100.12] has quit mirven

19:24:18 <zed> ] His presentation was ugly blue text on green

19:24:21 <zed> ] In a squinty nasty font

19:24:21 -!- alfred [~jared@192.168.100.126] has joined #lsrc

19:24:22 <zed> ] With running elephants and sound effects

19:24:23 <zed> ] Really loud sound effects

19:24:23 <zed> ]

19:24:25 <zed> ] It was so usable

19:24:26 <zed> ] SO USABLE

19:24:29 <zed> ] At the end, he shot a fist in the air and screamed,

19:24:30 <zed> ] "Let's do it!"

19:24:32 <zed> ]

19:24:32 <zed> ] -- CONCLUSION? --

19:24:33 <zed> ]

19:24:33 <zed> ] Maybe it's because morons give

19:24:36 <zed> ] Presentations that look like

19:24:38 <zed> ] Feces warmed on a hotplate.

19:24:39 <zed> ] Wait

19:24:39 <zed> ] This presentation looks like

19:24:40 <zed> ] feces warmed up on a hotplate.

19:24:40 <zed> ] Ok, that's not it.

19:24:42 <zed> ]

19:24:43 <zed> ] -- EXHIBIT B: PAUL GRAHAM --

19:24:45 <zed> ]

19:24:45 <zed> ] He stares at paper.

19:24:46 <zed> ] Lifts his head only for laughs.

19:24:48 <zed> ] And when I walk away I think

19:24:50 <zed> ] "Only a LISP fanatic would think

19:24:51 <zed> ] that was good."

19:24:51 <zed> ] I think back, and I can't

19:24:53 <zed> ] remember a single thing he's

19:24:54 <zed> ] ever said.

19:24:57 <zed> ] Well, he only talks to his sheet

19:24:58 <zed> ] of paper.

19:25:00 <zed> ]

19:25:00 -!- marekj [~chatzill@192.168.100.12] has joined #lsrc

19:25:01 <zed> ] -- CONCLUSION? --

19:25:04 <zed> ]

19:25:05 <zed> ] Ah! Maybe it's because they

19:25:06 <zed> ] aren't good public speakers.

19:25:08 <zed> ] Or they're self absorbed pompous

19:25:10 <zed> ] jerks.

19:25:10 <zed> ] Hold on.

19:25:12 <zed> ] I'm a self absorbed pompous

19:25:12 <zed> ] JERK

19:25:15 <zed> ] (just ask

19:25:15 <zed> ] Powerset AKA VaporSet).

19:25:16 <zed> ]

19:25:19 <zed> ] -- EXHIBIT C: DHH --

19:25:20 <zed> ]

19:25:20 <zed> ] Single-handedly changes the

19:25:21 <zed> ] debate about enterprisey away

19:25:22 <zed> ] from intelligent discourse and

19:25:24 <zed> ] puts it squarely on

19:25:25 <zed> ] F-U

19:25:27 <zed> ] (Jim said I can't cuss. :-(

19:25:28 <zed> ]

19:25:29 <zed> ] Nobody talked about Rails.

19:25:30 <zed> ] No manager was interested.

19:25:31 <zed> ] Only lame startups.

19:25:33 <zed> ] With revolutionary ideas.

19:25:34 <zed> ] And hats to match.

19:25:36 <zed> ] Che would be proud.

19:25:37 <zed> ]

19:25:38 <zed> ] One word killed Enterprise Rails

19:25:41 <zed> ] for a year and set us all back.

19:25:41 <zed> ]

19:25:43 <zed> ] -- CONCLUSION? --

19:25:45 <zed> ]

19:25:46 <zed> ] Maybe it's cursing and swearing.

19:25:46 <zed> ] Ahahahahahaha.

19:25:47 <zed> ] Haha.

19:25:49 <zed> ] Oh.

19:25:50 <zed> ] That was good.

19:25:50 <zed> ] No, in this industry

19:25:53 <zed> ] we need more cursing.

19:25:55 <zed> ] Cursing vendors who shove

19:25:57 <zed> ] their nasty products on us

19:25:57 <zed> ] by taking our boss

19:26:00 <zed> ] out for Steak and Strippers.

19:26:02 <zed> ]

19:26:04 <zed> ] If not that then what?

19:26:05 <zed> ]

19:26:07 <zed> ]

19:26:08 <zed> ] -- EXHIBIT D: --

19:26:10 <zed> ]

19:26:12 <zed> ] Dave Thomas then complained

19:26:14 <zed> ] that DHH stole his cheese.

19:26:14 <zed> ] However, directly saying DHH

19:26:15 <zed> ] steals cheeses of all flavors,

19:26:15 <zed> ] especially Java flavored ones,

19:26:17 <zed> ] would cut into book sales.

19:26:18 <zed> ] So we heard instead about how

19:26:19 <zed> ] we should be nice to the

19:26:20 <zed> ] enterprise.

19:26:22 <zed> ] And put up with the sales guys

19:26:23 <zed> ] and their steaks

19:26:24 <zed> ] and strippers

19:26:24 <zed> ] and stupid managers

19:26:25 <zed> ] and help Java people

19:26:27 <zed> ] who LOVE their EJB

19:26:28 <zed> ] by giving them

19:26:29 -!- crazeinc [~pj@192.168.100.12] has quit crazeinc

19:26:29 <zed> ] Enterprise Ruby.

19:26:32 <zed> ]

19:26:32 <zed> ] There's gold in them thar codes.

19:26:33 <zed> ] So profound dave.

19:26:34 <zed> ] Oh so profound.

19:26:35 <zed> ]

19:26:35 <zed> ] -- CONCLUSION? --

19:26:38 <zed> ]

19:26:40 <zed> ] Maybe it's time constraints.

19:26:42 <zed> ] You only have 40-60 minutes.

19:26:43 <zed> ] You have to be profound.

19:26:45 <zed> ] You have to use the Tomato method.

19:26:46 <zed> ] Or whatever it's called.

19:26:48 <zed> ] That's a lot of one word slides.

19:26:51 <zed> ] You can't be profound.

19:26:53 <zed> ] Best you can do is be obnoxious.

19:26:54 <zed> ] And the crowd will eat it up.

19:26:54 <zed> ] Like pre-industrial feudal slaves.

19:26:55 <zed> ]

19:26:57 <zed> ] -- I'M ONTO SOMETHING --

19:26:59 <zed> ]

19:27:01 <zed> ] Hey, what if it's us?

19:27:03 <zed> ] No seriously hear me out.

19:27:05 <zed> ] Dude in the front row,

19:27:07 <zed> ] please put down the knife.

19:27:08 <zed> ] Thanks.

19:27:09 <zed> ] Really, what if the reason

19:27:12 <zed> ] keynotes suck..

19:27:13 <zed> ]

19:27:13 <zed> ] -- IS BECAUSE WE LET THEM --

19:27:13 <zed> ]

19:27:16 <zed> ] If the people giving keynotes

19:27:18 <zed> ] people like me

19:27:18 <zed> ] are the top in the industry

19:27:18 <zed> ] and most keynotes are this bad

19:27:21 <zed> ] then maybe the problem is us.

19:27:23 <zed> ] Maybe none of this will improve

19:27:25 <zed> ] until we all understand how

19:27:25 <zed> ] it is perpetuated and we

19:27:27 <zed> ] start to do something.

19:27:29 <zed> ]

19:27:29 <zed> ] But what?

19:27:32 <zed> ]

19:27:33 <zed> ] -- LEMONS AND REVOLUTION --

19:27:34 <zed> ]

19:27:36 <zed> ] Here's some ideas about us

19:27:37 <zed> ] and the Industrial Revolution

19:27:39 <zed> ] and Lemons.

19:27:42 <zed> ] An attempt at explaining how

19:27:42 <zed> ] it perpetuates over and over.

19:27:43 <zed> ] This cycle of bad technology,

19:27:45 <zed> ] con-artist sales men,

19:27:47 <zed> ] pundit book authors,

19:27:49 <zed> ] and bad programmers.

19:27:50 <zed> ]

19:27:52 <zed> ] I think it's a combination of

19:27:53 <zed> ] a missing industrial revolution

19:27:55 <zed> ] and an existing lemon law

19:27:58 <zed> ] effect.

19:27:58 <zed> ]

19:28:01 <zed> ] -- INDUSTRIAL REVOLUTION? --

19:28:03 <zed> ]

19:28:05 <zed> ] You notice how we pour tech

19:28:08 <zed> ] onto all our problems

19:28:10 <zed> ] like salve on a leper's legs.

19:28:11 <zed> ] Nothing improves.

19:28:13 <zed> ] Nothing.

19:28:14 <zed> ] I still see idiotic code.

19:28:17 <zed> ] I still see horribly designs.

19:28:18 <zed> ] I still deal with complexity.

19:28:20 <zed> ]

19:28:22 <zed> ] Fred Brooks bemoaned that tech

19:28:23 <zed> ] won't help.

19:28:25 <zed> ] That we're doomed.

19:28:26 <zed> ] No single solution will do

19:28:27 <zed> ] anything.

19:28:28 <zed> ] No silver bullet.

19:28:30 <zed> ] NO SILVER BULLET!

19:28:33 <zed> ]

19:28:34 <zed> ] Fred was kind of right but for

19:28:37 <zed> ] the wrong reasons.

19:28:38 <zed> ]

19:28:41 <zed> ] The belief was that the

19:28:42 <zed> ] industrial revolution happened

19:28:45 <zed> ] because of technology.

19:28:45 <zed> ]

19:28:47 <zed> ] Finally we had the Car.

19:28:47 <zed> ] Thank you Ford.

19:28:49 <zed> ] And something about guns.

19:28:49 <zed> ] I forget.

19:28:52 <zed> ] It's been years since I've seen

19:28:55 <zed> ] James Burke's "Connections".

19:28:56 <zed> ] http://en.wikipedia.org/wiki/Connections_(TV_series)

19:28:56 <zed> ]

19:29:00 <zed> ] -- HOW DID THEY LEARN TO DRIVE? --

19:29:00 <zed> ]

19:29:01 <zed> ] Now what if it wasn't the tech?

19:29:03 <zed> ] What if it was changes in the

19:29:05 <zed> ] people?

19:29:06 <zed> ] Bigger brains, more reading,

19:29:09 <zed> ] better food and clothing

19:29:11 <zed> ] and jobs and the introduction of

19:29:12 <zed> ] democracy with public schooling.

19:29:12 <zed> ]

19:29:14 <zed> ] What if, after all that indirect

19:29:15 <zed> ] and direct self improvement.

19:29:17 <zed> ]

19:29:18 <zed> ] People were finally ready for

19:29:19 <zed> ] all this technology.

19:29:19 <zed> ]

19:29:20 <zed> ] -- OUR MALTHUSIAN TRAP --

19:29:20 <zed> ]

19:29:22 <zed> ] This isn't a new idea but

19:29:22 <zed> ] techies love to say they'll save

19:29:23 <zed> ] the world with their toys.

19:29:24 <zed> ] And yet no matter how many toys

19:29:26 <zed> ] they create.

19:29:26 <zed> ] The world for the daily

19:29:27 <zed> ] programmer still blows.

19:29:27 <zed> ]

19:29:28 <zed> ] No matter how much tech we

19:29:29 <zed> ] create, if the people using it

19:29:32 <zed> ] are not smart enough, educated

19:29:33 <zed> ] enough, and creative enough it

19:29:34 <zed> ] won't mean anything.

19:29:35 <zed> ]

19:29:38 <zed> ] The Malthusian Trap/Crisis/Dilemma

19:29:39 <zed> ] is that no matter how much

19:29:41 <zed> ] technology you have, at a

19:29:41 <zed> ] certain level the inefficiency

19:29:42 <zed> ] of production is so great you

19:29:43 <zed> ] can't feed the world.

19:29:46 <zed> ]

19:29:47 <zed> ] Or something like that.

19:29:50 <zed> ]

19:29:51 <zed> ] For us I'm translating it to

19:29:53 <zed> ] mean that no matter how great

19:29:55 <zed> ] your tech, if the people who use

19:29:58 <zed> ] it suck it won't help at all.

19:30:00 <zed> ]

19:30:01 <zed> ] Fred was right that no silver

19:30:01 <zed> ] bullet is available, but that's

19:30:04 <zed> ] because most programmers

19:30:04 <zed> ] wouldn't recognize it if they

19:30:05 <zed> ] were being chased by a gang of

19:30:07 <zed> ] werewolves.

19:30:09 <zed> ]

19:30:09 <zed> ] -- AND KEYNOTES? --

19:30:10 <zed> ]

19:30:11 <zed> ] People who are starving will

19:30:13 <zed> ] search for any way to eat.

19:30:15 <zed> ] Professional keynoters are just

19:30:16 <zed> ] answering this call for more

19:30:18 <zed> ] information.

19:30:21 <zed> ]

19:30:23 <zed> ] Anything to help.

19:30:24 <zed> ] Offer up some patterns, a new

19:30:25 <zed> ] language, some new theory of

19:30:27 <zed> ] eXtreme Ninja Scrum Programming

19:30:29 <zed> ] and you're golden.

19:30:30 <zed> ]

19:30:32 <zed> ] We eat it up because nothing

19:30:33 <zed> ] seems to help us do our jobs

19:30:35 <zed> ] more efficiently.

19:30:37 <zed> ]

19:30:38 <zed> ] Two steps forward one step back.

19:30:39 <zed> ]

19:30:41 <zed> ] We'll be stuck here until

19:30:41 <zed> ] programmers stop looking outside

19:30:44 <zed> ] themselves, and start evaluating

19:30:44 <zed> ] how THEY can be more efficient

19:30:47 <zed> ] with personal introspection and

19:30:47 <zed> ] honest evaluation.

19:30:49 <zed> ]

19:30:50 <zed> ] -- "I'M A GREAT CODER!" --

19:30:51 <zed> ]

19:30:52 <zed> ] Which brings me to the Law of Lemons:

19:30:53 <zed> ] http://en.wikipedia.org/wiki/The_Market_for_Lemons

19:30:53 <zed> ]

19:30:55 <zed> ] You are a product, just like

19:30:57 <zed> ] keynoters are a product.

19:30:59 <zed> ] You manager "buys" you but he

19:31:00 <zed> ] doesn't have the skills to

19:31:01 <zed> ] evaluate you.

19:31:02 <zed> ]

19:31:05 <zed> ] He got an MBA.

19:31:07 <zed> ] That means he can run an

19:31:10 <zed> ] assembly line.

19:31:11 <zed> ]

19:31:12 <zed> ] You are not a widget.

19:31:13 <zed> ]

19:31:14 <zed> ] His education is about 30 years

19:31:16 <zed> ] old, and it isn't improving.

19:31:19 <zed> ]

19:31:22 <zed> ] What's worse, is bad programmers

19:31:23 <zed> ] take advantage of these

19:31:23 <zed> ] "leaders" by making themselves

19:31:25 <zed> ] sound way better than their

19:31:26 <zed> ] skills can support.

19:31:27 <zed> ]

19:31:28 -!- alfred [~jared@192.168.100.126] has quit Ping timeout

19:31:28 <zed> ] These programmers are "lemons".

19:31:31 <zed> ]

19:31:33 <zed> ] Just like a lemon car, you can't

19:31:36 <zed> ] tell the difference until you've

19:31:36 <zed> ] been with them for a while.

19:31:37 <zed> ]

19:31:39 <zed> ] Sometimes months.

19:31:41 <zed> ]

19:31:41 <zed> ] In our industry, it's worse.

19:31:42 <zed> ] Even PROGRAMMERS can't tell if

19:31:43 <zed> ] they're good or not.

19:31:44 <zed> ] They write insane code.

19:31:46 <zed> ] Nasty code.

19:31:49 <zed> ] Horrible code.

19:31:49 <zed> ] And somehow, think it's awesome.

19:31:50 <zed> ]

19:31:51 <zed> ] -- IT'S LIKE THAT EVERYWHERE! --

19:31:53 <zed> ]

19:31:53 <zed> ] No, there's plenty of others.

19:31:56 <zed> ] Movies, Music, News Papers,

19:31:59 <zed> ] Magazines, Fashion Design.

19:32:01 <zed> ]

19:32:03 <zed> ] Take your pick of any creative

19:32:06 <zed> ] discipline and there's someone

19:32:07 <zed> ] who is damn good at managing the

19:32:09 <zed> ] process and product.

19:32:10 <zed> ]

19:32:13 <zed> ] And also very good at evaluating

19:32:14 <zed> ] talent.

19:32:15 <zed> ]

19:32:17 <zed> ] http://www.avrillavigne.com/

19:32:19 <zed> ]

19:32:20 <zed> ] Ok, maybe not that good.

19:32:21 <zed> ]

19:32:23 <zed> ] -- SMILEY TIME PART 2 --

19:32:25 <zed> ]

19:32:27 <zed> ] :^)

19:32:29 <zed> ]

19:32:29 <zed> ] -- LEMONS AND KEYNOTES --

19:32:32 <zed> ]

19:32:34 <zed> ] With keynotes it's the same.

19:32:37 <zed> ] The people evaluating who should

19:32:38 <zed> ] and shouldn't keynote can't

19:32:41 <zed> ] tell if you'll like them.

19:32:42 -!- tbbrown [~lsrc@192.168.100.12] has quit ["Trillian (http://www.ceruleanstudios.com"]

19:32:43 <zed> ] They don't know if they can

19:32:46 <zed> ] speak.

19:32:47 <zed> ] They don't even know if they can

19:32:48 <zed> ] code.

19:32:49 <zed> ] Combine an inability to evaluate

19:32:51 <zed> ] the speakers,

19:32:53 <zed> ] with an inability to

19:32:56 <zed> ] evaluate yourself,

19:32:56 <zed> ] and the Malthusian trap of

19:32:57 <zed> ] desperation born from

19:32:59 <zed> ] stupidity,

19:33:00 <zed> ] and you get bad keynotes.

19:33:02 <zed> ]

19:33:05 <zed> ]

19:33:05 <zed> ] -- AND NOW I TELL YOU SECRETS --

19:33:06 <zed> ]

19:33:07 <zed> ] You're all depressed.

19:33:07 <zed> ] Guy with the knife in the front

19:33:09 <zed> ] row is down.

19:33:10 <zed> ] You in the back, it's all right.

19:33:10 <zed> ] There is hope.

19:33:11 <zed> ] I can't give it to you.

19:33:12 <zed> ] I can tell you what I'm doing to

19:33:14 <zed> ] improve myself though.

19:33:15 <zed> ] Maybe it will help.

19:33:17 <zed> ] Maybe it is total bull.

19:33:17 <zed> ] The point is, find out for

19:33:18 <zed> ] yourself.

19:33:20 <zed> ] Find out if the following advice

19:33:23 <zed> ] helps you, as much as lines in

19:33:25 <zed> ] an IRC channel during a keynote

19:33:26 <zed> ] can.

19:33:27 <zed> ]

19:33:30 <zed> ] -- MY ADVICE --

19:33:30 <zed> ]

19:33:32 <zed> ] Never "believe" in any

19:33:34 <zed> ] programming language. Ever.

19:33:37 <zed> ] They all suck. Believe in your

19:33:39 <zed> ] ability to solve problems

19:33:42 <zed> ] independent of the language.

19:33:42 <zed> ]

19:33:45 <zed> ] Study everything. Computing

19:33:46 <zed> ] will become less about computers

19:33:47 <zed> ] and more about all the other

19:33:48 <zed> ] stuff. I like economics,

19:33:50 <zed> ] sociology, psychology, and music.

19:33:52 <zed> ] Find something you like.

19:33:53 <zed> ]

19:33:55 <zed> ] Connect all the things you know,

19:33:55 <zed> ] even if those

19:33:57 <zed> ] connections are dead

19:33:59 <zed> ] wrong.

19:34:00 <zed> ] You'd be surprised when some

19:34:02 <zed> ] random connection

19:34:04 <zed> ] between your love of

19:34:05 <zed> ] cottage cheese consistency evaluation

19:34:06 <zed> ] and web based file uploads

19:34:06 <zed> ] suddenly matters one day.

19:34:09 <zed> ]

19:34:11 <zed> ] Learn the physical part of your

19:34:12 <zed> ] life as well as the mental

19:34:14 <zed> ] parts, and realize there's no

19:34:17 <zed> ] separation.

19:34:18 <zed> ]

19:34:20 <zed> ] Learn to fight, since some of

19:34:20 <zed> ] the smartest people in the world

19:34:22 <zed> ] were also great warriors.

19:34:24 <zed> ] Learning about the realities of

19:34:26 <zed> ] killing and living will teach

19:34:26 <zed> ] that Duck Typing isn't so bad

19:34:29 <zed> ] after all.

19:34:30 <zed> ]

19:34:32 <zed> ] Eat some damn vegetables.

19:34:34 <zed> ]

19:34:34 <alexander> quack

19:34:35 <zed> ] Learn what other smart people

19:34:35 <zed> ] are saying, but don't believe a

19:34:38 <zed> ] damn thing they tell you without

19:34:39 <zed> ] evidence. That includes me.

19:34:42 <zed> ]

19:34:43 <zed> ] Stop using patterns.

19:34:46 <zed> ] No really, quit using patterns.

19:34:48 <zed> ] They aren't helping.

19:34:50 <zed> ] I have evidence on that BTW.

19:34:51 <zed> ]

19:34:52 <zed> ] If you don't know what a

19:34:52 <zed> ] standard deviation is then take

19:34:53 <zed> ] a statistics course.

19:34:53 <zed> ]

19:34:54 <zed> ] Here's a great language for

19:34:54 <zed> ] statistics:

19:34:57 <zed> ]

19:34:59 <zed> ] http://www.amazon.com/R-Book-Michael-J-Crawley/dp/0470510242/ref=pd_bbs_sr_1/102-7385993-8802517?ie=UTF8&s=books&qid=1189236270&sr=8-1

19:35:00 <zed> ]

19:35:01 <zed> ] Don't use Amazon Style URLs.

19:35:03 <zed> ]

19:35:04 <zed> ] Every if/case or similar branch

19:35:07 <zed> ] has an else with a raise. No

19:35:07 <zed> ] matter what. This one thing

19:35:09 <zed> ] will make your code very robust.

19:35:09 <zed> ]

19:35:12 <zed> ] Start tracking tiny little

19:35:13 <zed> ] metrics about your personal

19:35:14 <zed> ] quality. Compiler errors, bugs,

19:35:15 <zed> ] untested defects, memory

19:35:18 <zed> ] leaks, everything.

19:35:19 <zed> ]

19:35:21 <zed> ] Then find your standard

19:35:21 <zed> ] deviations of your errors.

19:35:24 <zed> ] Try to bring the errors down and

19:35:25 <zed> ] tighten the deviations.

19:35:26 <zed> ] Eventually you will know exactly

19:35:27 <zed> ] why you are bad and what makes

19:35:30 <zed> ] you better.

19:35:30 <zed> ]

19:35:32 <zed> ] Here's mine:

19:35:33 <zed> ]

19:35:36 <zed> ] http://www.zedshaw.com/projects/utu/stats/

19:35:38 <zed> ]

19:35:41 <zed> ] Learn about science and

19:35:42 <zed> ] statistics.

19:35:44 <zed> ]

19:35:46 <zed> ] -- A NEGATIVE EXAMPLE --

19:35:49 <zed> ]

19:35:51 <zed> ] It's too hard to say what you should do.

19:35:52 <zed> ] For everything I recommend,

19:35:52 <zed> ] a thousand people will huff,

19:35:53 <zed> ] "You're an idiot."

19:35:53 <zed> ]

19:35:55 <zed> ] I'll try another approach and tell a story.

19:35:57 <zed> ] A story of what NOT to do.

19:35:58 <zed> ]

19:36:00 <zed> ] -- STI HATRED AND FORMATS --

19:36:01 <zed> ]

19:36:01 <marekj> you are not

19:36:02 <zed> ] I worked with a guy,

19:36:03 <zed> ] who hated STI.

19:36:05 <zed> ] He hated it so much

19:36:06 <zed> ] that he invented his *own*

19:36:08 <zed> ] Class Table Inheritance

19:36:09 <zed> ] using method_missing.

19:36:11 <zed> ] This was for logging.

19:36:14 <zed> ] For every class you needed

19:36:17 <zed> ] to log against named Blah,

19:36:19 <zed> ] he had a BlahLog.

19:36:21 <zed> ] BlahLog then had a ProjectLog,

19:36:22 <zed> ] as a parent.

19:36:24 <zed> ] And, they had mutual method_missing

19:36:25 <zed> ] to implement polymorphism.

19:36:25 <zed> ] However, an analysis showed that all

19:36:28 <zed> ] of these classes only had about 4 fields.

19:36:28 <zed> ] All of these classes shared the same fields,

19:36:31 <zed> ] just with different names.

19:36:31 <zed> ] So the table changed from one STI:

19:36:32 <zed> ] id,type,X,Y,Z,W,V

19:36:33 <zed> ] to 6 tables:

19:36:35 <zed> ] id, X,Y,Z,W,V

19:36:37 <zed> ] Because he hated STI.

19:36:40 <zed> ] Even in the face of a method_missing

19:36:40 -!- JEG2 [~james@192.168.100.3] has joined #lsrc

19:36:41 <zed> ] stack loop, he still hated STI.

19:36:43 <zed> ] Even in the face of 4 developers spending

19:36:44 <zed> ] two weeks to add one field to a log.

19:36:46 <zed> ] He hated STI.

19:36:46 <zed> ] Next there was a need to display this mess.

19:36:47 <zed> ] Of course, format strategy was next.

19:36:49 <zed> ] For each action,

19:36:51 <zed> ] of each object,

19:36:53 <zed> ] on each other object,

19:36:56 <zed> ] there was another class,

19:36:56 <zed> ] that formatted this.

19:36:58 <zed> ] PersonChangesSubjectFormat.

19:36:59 <zed> ] Awesome.

19:37:01 <zed> ] 6*X=an ton of classes.

19:37:04 <zed> ] To print,

19:37:05 <zed> ] 1 line on a screen.

19:37:05 <zed> ] It gets better.

19:37:08 <zed> ] Each format strategy class,

19:37:09 <zed> ] had this:

19:37:10 <zed> ] instance_eval(format)

19:37:12 <zed> ] We freaked, where's format coming from?

19:37:14 <zed> ] Traveling back, from instance_eval,

19:37:15 <zed> ] to the strategy class,

19:37:16 <zed> ] to the log,

19:37:18 <zed> ] to the database table,

19:37:20 <zed> ] to another table,

19:37:20 -!- Dax [~chatzill@192.168.100.95] has joined #lsrc

19:37:23 <zed> ] with all the format strings.

19:37:25 <zed> ] They were running Ruby code

19:37:27 <zed> ] out of the database.

19:37:29 <zed> ] Code like:

19:37:31 <zed> ] instance_eval("`rm -rf /`")

19:37:31 <zed> ] Joy.

19:37:33 <zed> ]

19:37:34 <wwalker> java programmer?

19:37:34 <zed> ] -- THE FIX --

19:37:36 <zed> ]

19:37:38 <zed> ] A single class.

19:37:40 <zed> ] Called LogEntry.

19:37:42 <zed> ] With:

19:37:44 <zed> ] @subject

19:37:44 <zed> ] @object

19:37:47 <zed> ] @verb

19:37:48 <zed> ] @preposition

19:37:49 <zed> ] @indirect_object

19:37:50 <zed> ] Done.

19:37:51 <zed> ] Then methods like:

19:37:51 <zed> ] to_sentence()

19:37:52 <zed> ] object_phrase()

19:37:54 <zed> ] subject_phrase()

19:37:56 <zed> ] prepositional_phrase()

19:37:58 <zed> ] To print it out.

19:38:01 <zed> ] 70 lines total.

19:38:01 <zed> ] Done.

19:38:02 <zed> ]

19:38:03 <zed> ] -- ANOTHER STORY --

19:38:04 <zed> ] I've ran into Damp Tests.

19:38:04 <zed> ] Back in the day someone made

19:38:07 <zed> ] a giant def setup method.

19:38:07 <zed> ] Then, that became a problem in a

19:38:09 <zed> ] test so they banished setup.

19:38:11 <zed> ] Announcing, "YEAH! Damp Tests!"

19:38:12 <zed> ] Because, as you know, if

19:38:12 <zed> ] something doesn't work once,

19:38:13 <zed> ] then you have to use the inverse,

19:38:15 <zed> ] and react to the boolean argument.

19:38:17 <zed> ]

19:38:18 <zed> ] This is why you should learn to

19:38:21 <zed> ] fight.

19:38:22 <zed> ] First, you can beat up these idiots.

19:38:23 <zed> ] Second, you'll learn to panick less.

19:38:25 <zed> ] A few complex setups in your tests

19:38:27 <zed> ] isn't nearly as dangerous as an

19:38:27 <zed> ] angry hobo with a knife and a crack habit.

19:38:29 <zed> ]

19:38:31 <zed> ] Then we had to change some code.

19:38:34 <zed> ] 1 day to change the class.

19:38:36 <zed> ] 6 days to change the tests.

19:38:37 <zed> ] Most of that was changing setup

19:38:39 <zed> ] sprinkled all over.

19:38:42 <zed> ]

19:38:43 <zed> ] Because the test is DAMP.

19:38:45 <zed> ] It's still code.

19:38:47 <zed> ] And DRY code is easier to maintain.

19:38:48 <zed> ]

19:38:49 <zed> ] Don't listen to every idiot with

19:38:52 <zed> ] every idea.

19:38:54 <zed> ]

19:38:55 <zed> ] In this case, why can't you have

19:38:57 <zed> ] test code without complex setups, AND

19:39:00 <zed> ] keep it DRY?

19:39:00 <zed> ]

19:39:01 <zed> ] Why can't you?

19:39:02 <zed> ]

19:39:03 <zed> ] Test::Unit is Ruby after all.

19:39:05 <zed> ] Break that puppy open and

19:39:07 <zed> ] make it work.

19:39:08 <zed> ]

19:39:11 <zed> ] -- THE FIX --

19:39:13 <zed> ]

19:39:16 <zed> ] Quit defining everything in terms of

19:39:16 <zed> ] an if-statement.

19:39:18 <zed> ]

19:39:18 <zed> ] Life isn't boolean.

19:39:21 <zed> ]

19:39:22 <zed> ] In this case, why not different setups?

19:39:24 <zed> ]

19:39:26 <zed> ] No harm in that.

19:39:27 <zed> ]

19:39:28 <zed> ] But, OOP publishing is an industry

19:39:31 <zed> ] of arbitrary distinction.

19:39:31 <zed> ]

19:39:34 <zed> ] Adapter, Bridge, and Connector are

19:39:36 <zed> ] the same.

19:39:38 <zed> ]

19:39:40 <zed> ] DAMP vs. DRY. Stupid.

19:39:42 <zed> ]

19:39:44 <zed> ] These distinctions are arbitrary,

19:39:46 <zed> ] so please try to recognize

19:39:48 <zed> ] when the distinctions

19:39:51 <zed> ]

19:39:53 <zed> ] say the same damn thing.

19:39:53 <zed> ]

19:39:54 <zed> ] -- IN CONCLUSION --

19:39:56 <zed> ]

19:39:56 <zed> ] People are starting to get

19:39:59 <zed> ] dangerous ideas from other "pundits".

19:39:59 <zed> ] They blindly believe what these

19:40:00 <zed> ] book publishers and authors tell them.

19:40:00 <zed> ] They believe guys like me too.

19:40:01 <zed> ] This is dangerous because they

19:40:03 <zed> ] take advantage of your inability

19:40:05 <zed> ] to discern relative quality.

19:40:06 <zed> ]

19:40:07 <zed> ] Please, start finding your own way.

19:40:08 <zed> ] Become the new leaders that evaporate

19:40:11 <zed> ] the original leaders of the revolution.

19:40:12 <zed> ]

19:40:13 <zed> ] Oh, and,

19:40:15 <zed> ] patterns suck. Use algorithms.

19:40:18 <zed> ]

19:40:19 <zed> ] Thank you.

19:40:43 <doppler> <clap clap clap>

Comments (0)

You don't have permission to comment on this page.