| |
Posted on: 2006-04-24 15:26:26
Previous: Silicon Valley Ruby Conference - Day 1 Next: Now With RSS!
More Notes from the Silicon Valley Ruby Conference
As for Day 1, I'm leaving the actual details to other people, and just including as many clever or interesting remarks as I can.
Day 2 had more stable wi-fi, and the room wasn't as stuffy. Presentations were still good and covered a wide range of topics and styles - although a drinking game built around the phrases 'domain-specific language', 'metaprogramming', and 'Saphir-Worf hypothesis' would have been pretty successful. Interestingly, while one presenter had a speaking style and tone that reminded me a lot of Joss Whedon, another presenter looked and acted a whole lot like Wash, the pilot from Whedon's Firefly series.
In his opening comments, Mike Slinn showed how people can do pair-programming remotely with VNC or even just the 'screen' command in UNIX. I work freelance and so don't get to work with other programmers much - so if anybody wants to try this, send me a note at my email address listed above.
I managed to get a seat near a power-bar, so I was able to take notes on my PowerBook, but quotes here are still loosely paraphrased and, as before, any misrepresentations or errors are entirely my fault.
Generally overheard
- 'Self' is the Scheme of object-oriented languages.
- Sites have to adjust themselves to different cultural assumptions in China. People in China don't like asynchronous communication. When you search for something in China, the top of the results gives you a chat room on the topic, so you can talk to other people about it.
Mike Slinn: Opening Comments
- I'm a full-time Expert Witness these days.
- There's a full interactive Ruby user's guide at zamples.com
Steve Baker - Behaviour Driven Development
- Behaviour Driven Development is Test Driven Development if you do Test Driven Development very well.
- The word 'Test' is very misleading - especially for new developers.
- 'TEST' is a four-letter word.
- ... his examples were in Smalltalk, and I'm not cool enough to know Smalltalk.
- We set up RSpec in one night.
- Bacon.new.should.be.chunky
- '?' is the 'eh?' operator. chunky? -> 'chunky, eh?' [If you couldn't tell from the 'u' in 'behaviour', Steve is Canadian]
- RSpec is functionally complete in 1200 lines of code.
- [About the 1-to-1 mapping between models and tests] I know Ryan doesn't agree with me. We'll fight about that later. In Seattle.
- We have an integrated mocking framework. [I just like how that sounds completely out of context - AB]
- Misunderstanding mocks is ... unfortunate.
Jason Hoffman - Scale With Rails
- I'm not going to tell you anything special in terms of special sauce. It's basically like we were doing with Perl a decade ago, when FastCGI was hot hot hot.
- I'm going to start with a 5 minute story with too many slides about how I started at Medical School and came to stand here before you.
- It's amazing how many medical people are in this business. The guy who invented CGI is an ACTUAL DOCTOR.
- Port Upgrade is a beautiful, beautiful piece of software.
- We host the Pragmatic Programmers, but I still have to pay for the books. [Jason just emailed me to let me know that he insists on paying for the books.]
- Ruby on Rails, TurboGears, are all hosted by us. That's fine - but then they all started making these 50 meg 'Screencast' videos. One day all of them were linked in the same paragraph on Slashdot. We started pushing 150 - 200 Mb/s for a week and a half. You think open source is free? They just used $16000 worth of bandwidth!
- Well, what is a 'large scale' application? I mean, do many of us really have one? I mean a BIG ONE? Everybody *thinks* they have a big one. But really?
- A 4 million dollar Wiki written in Java that took a year to deploy. *That's* Enterprise!
- Craigslist does 110 million page views a day with apache, mod_perl, lots of caching, and a crazy system. They only have 4 programmers/admins working on the site.
- We've been doing this for years with Perl, PHP, Python, and Java. Does the language really really matter to the System folks?
- The key is good system folks. People often say 'System Folks? Who are these System Folks of which you speak?' Really, success is about more than just having your designers learn 'The Rails'.
- We 'Myers-Briggs'ed our staff: ENTP, INTP, INFP (support), ENTJ (executive) - No 'S' at all.
- People ask me what language they should learn - I say 'does white space matter to you? No? Then use Ruby. Is proper indentation important? Then use Python.'
- Scaling: will your app run on a phone? Scaling is also about scaling *down*.
- One Solaris box can push 60% of a gigabit connection. BSD can't.
- When the blog post 'Web 3.0' came out, we had a big hit. We cached it with 10 lighttpds with 5 rails-FCGI each - we stayed on with one 3.2 GHz P4 with 4GB of RAM.
- Fiber-attached EMC storage. That was a mistake - a leftover from my Enterprise days.
- You want to use any filesystem other than ZFS? I say 'FSCK YOU'
- Selling processors faster than 3.0 GHz is a big scam. Our CPUs are mostly idle - it's all about RAM RAM RAM RAM RAM.
- The Sun T1000 Ultrasparc T1 machine is the best match between actual CPU and RAM usage. It's also the cheapest.
- [About their previous setup] It's a great setup - as long as you have a lot of money to spend on it.
- That's right: we by Ethernet cables from Dell - not servers.
- I talked to a guy from Google the other day - he said 'all we negotiate these days is power contracts'.
- Many shared hosting companies just buy old refurbished gear and use it to death.
- Why do we use Solaris? They made it for free - and Linux is not a modern operating system. You need to do a lot of fancy stuff to access more than 4GB of RAM.
- Solaris started out as a system for a 64 chip box and they scaled it *down*.
- Rails isn't a framework that somebodoy put together to be a geek - it's a framework that was built to run a business.
Joe O'Brien - Create Your Own Tools: Building DSLs With Ruby
- So you can say 'Smothered, Covered, and Scattered'. Oh. I guess you're not from the South. If you've been to the Waffle House, you'd know what I'm talking about. I guess the California version would be 'Large, Tall, or Venti'.
- Sorry, my colours are really bothering me right now.
- You've got one of the ultimate rites of passage in the UNIX world, which was figuring out LEX and YACC.
- [He didn't like some of the design decisions of RSpec. Steve from the back of the room: 'Thank you for hating us because we're clean!', Joe: 'I liked the bad code better'.]
- One of my favorite features about Ruby is that it's never too late to do anything.
- CODE is DATA. This is where it starts boggling the mind. I like watching the Lisp guys, and they're always leaning back and saying 'yeah, we can do that.' Well *we* couldn't before!
- 'Napkin-Driven Development'
- Jim Weirich on creating Rake in a few half hour bursts: 'I'm really really sorry - I did this by accident'
- JetBrains, the brains behind IntelliJ - no pun intended.
- [To the back of the audience after some off-colour comments] 'Once again, Steven, there's that line, and you're just wandering across it.'
- If you follow the DRY principle enough, you'll end up with a Domain-Specific Language soon enough.
Alex Chaffee - Anatomy of an Agile Web 2.0 App
- Raise your hand if you're doing Ruby? Rails? If you're being paid for it? [From the crowd: If you're being paid for it but your payee doesn't know it?]
- I'm a Java recovery expert - it's a lifelong process.
- The rule is every slide takes three minutes - this is an hour long talk, and I have 60 slides. So there are three potential talks. [From the crowd: Do all three - just talk fast!] I guess I'll talk even faster!
- Back in the 80s was client-server and that was a disaster and the web came along with a thin client and that was a disaster, and now we have AJAX and we're back to client/server again. It's always a disaster.
- This is sad. Our developers learned Ruby and joined a rails shop - and they spend all of their time working on JavaScript.
- I spent the last two months becoming a JavaScript expert - something I said I would *never* do. But you have to make sacrifices.
- Kent Beck supposedly said "I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby." - I asked if he actually said that and he said "I don't recall saying that, but it's the kind of thing I would say".
- I see a lot of method_missing abuse.
- On an agile team, if you go away for two weeks and come back, you don't know anything anymore, since they've refactored everything.
- I don't know who said it - it might have been me - but every code comment is a lie waiting to happen.
- If you have people who don't know what they're doing, they still won't know what they're doing in Ruby. Bad Java looks like C; bad Ruby looks like Perl.
- Rails is the best webapp framework I didn't design myself.
- Rails grew up rather than growing down.
- The optimist says the glass is half full, the pessimist says the glass is half empty, the engineer says it's the wrong size glass. That's one of my three jokes.
- [In a discussion about dependency injection] I think we violently agree.
- [Comment from the audience: YAML isn't a DSL, it's a serialization description] - I't s floor wax AND a dessert topping.
- JavaScript is tragically flawed. There's something in it that could have been so great, but it went terribly wrong. It's like a Greek Tragedy. I don't know what the flaw is, but it may have something to do with the fact that they were really proud it only took them a weekend.
- [JavaScript:] Any language where globals are accessed by default - Lisp notwithstanding - is a bad language.
- JavaScript has power, but it's more like a super-villain than a super-hero. It's like the guy from X-Men 2 - actually, JavaScript is a mutant.
- [Audience member asks if it would be good if Ruby was the browser scripting language rather than JavaScript] That would make my head explode with joy!
- Almost everything is designed in Firefox these days, but then you have that annoying phase where you find out what breaks in Internet Explorer.
- CSS is so baffling - it's a great language in certain ways - but it's like they shipped it before they used it.
- I'm seeing a lot of fear on the faces of a whole lot of language nerds [Including myself - AB] 'I just want to stay on the server side!'
- I'm going to spend five minutes on my final rant of the day, then I'll open up the floor, and open up the door so you can go and have a nap.
- AJAX In Action - not to be confused with AJAX Inaction, which is what a lot of people get when they start learning.
- [About AJAX+JS] It just makes me uncomfortable [Audience: That's not an a priori definition of bad!]
Joel VenderWerf - Mixing Ruby and C for High Performance Hybrid System Simulation
- My boss asked me why I did this in Ruby. I replied 'It's okay - it's just a prototpye'
- Has anybody heard of hybrid systems at all in this room? A few? Well, that's better than most rooms.
- Okay, so this simulation was built in Tk - don't all pelt me with rocks!
- [On screen: 'A mature system that's been in use for 5 years'] I don't know - that's B.S. - I don't know if it's really that mature. It's not mature in human years.
- I know I promised robots - I'll come up with Robots for the next talk.
Previous: Silicon Valley Ruby Conference - Day 1 Next: Now With RSS!
|
Other Blog Posts:
- Quick Advice on Canadian Indie Music - My Favourite Roadside Sign - Well That Explains a Lot... - Poland: Gear from the Army Museum - Poland: Warsaw's Palace of Culture and the University Library - Poland: Warsaw - Poland: Winged Hussars - Poland - What's awesome about Toronto - Possibly the best sentence in the English language - QUOTE: We Shouldn't Have Music Anxiety - Now *that's* Santa Cruz - Small Town Newspaper Headline Dada - Great Quote from Seth Godin - McSweeney's: My Pet Peeves - Shindig! - Dresden Dolls / Die Mannequin / Friendly Rich at the Phoenix - In Store for 2008: Wailing and Gnashing of Teeth?! - Coffee Updates: Urbana and Far Coast - Canadian: Walking to Tim Horton's Through a Blizzard - Lighting as language - TSOT Ruby/Rails Project Night - IE is pants, pure and simple - Passport Canada's Secure Enterprise Software - DemoCampToronto16 - Faulty By Design - Buynlarge.com - brilliant! - Joey Starts at TSOT and Jeff goes 37Signals - How To Doom Your Own Industry - It's Sigmoidal, Stupid! - Quick Update on Secured OS X Mail - Alpha Geeks and Jedi Hooligans - Now Fake Steve is Getting Close To Home - Nice Rant on the Sanctity of Farming - They Must Have Been Reading This Blog - Well, so much for Reddit - Zipcar: My Other Car is a Mini Convertible Named Munster - XKCD Job Interview - John C. Dvorak Misses It - Protecting Your OS X Mail With Encrypted Volumes - Fake Steve Jobs hits it - My Favorite Bit From Herodotus - Enterprise Software - like on the spaceship, right? - So why, again, are you taking so long? - That sounds about right for Oberlin - Music, With Occasional City - How to do Google Maps-Style Scrolling Windows with JavaScript and DHTML - The Young Gods Play Kurt Weill - Want a Rails Job? - Quote of the Day - Witty and Vibrant, Sensitive and Cranky - Facebook, already - geez - The Bolivarian Republic of Wednesday and Pudge - Here are the real links for the previous post - Venezuela: How To Have A Good Party - It's a PHONE that runs UNIX! - Congratulations Pat & Chris! - About Venezuela: Traffic - Venezuela Stuff Coming Later - But While I'm Recovering... - My most popular posts are un-published! - ... that creepy ass botox-phenomenon - Prototype Library and JavaScript - Godin LG Hmb - my new guitar - Safari For Windows - What Apple Missed - Joel Corrects Himself In Mid-Post - Yorkville's Summer of Love with Gucci - Update: Coffee - RJS / AJAX Highlight Colouring in Rails - Looking Real Good! - Post-something Post on Big Bags - Disclaimer - Analgesic Code: Backtrack - Baby Steps With EMACS - Back in Santa Cruz - You know, I agree that we should worry about Global Warming... - Life Tip: Digitize Your Documents - Nifty OS X Finder Enhancement With Little AppleScripts - Toronto DemoCamp 12 - Wednesday and Pudge - Rails Pub Nite - HAML Cake! - BAAX! - With a Good Search You Can Be Organized - Something people seem to have missed in the Steve Jobs Keynote today... - Analgesic Code: Rails Test Progress - New Year's Greeting 2006 - My investment finesse - I *thought* the USA was getting a bit more authoritarian... - The Big and the Small at DemoCamp 10 - Interesting facts about eBay's infrastructure - Sassafrass Burning - Sony shoots itself in the foot. Again. - McSweeney's does Coffee Shops - New! Improved! With Formatting! - Farewell to Santa Cruz - The Microsoft Strategy Wins Again - This Time in Gaming - Why Toronto is Cool - Things that make you feel safe at the airport... - TIBCO General Interface: Web 2.0 is the new Visual Basic - More On Avoiding SQL Disasters - Three ways to avoid disaster with manual SQL statements
All Blog Entries
RSS Feed
|