Dave Thomas Keynote
Posted by kev Fri, 23 Jun 2006 14:37:00 GMT
What a year
- 21 million hits on Google
- Sidebar (how google makes their money) Advertising
- Hosting
- Training
- Consulting
- Custom project work
- 65% of the No Fluf speakers are doing Rails work
- Commercial IDEs for Rails
- Most significant, ALTERNATIVES to Ruby on Rails
- Rubyforge Downloads
- Rails - 536,835 downloads
- Ratings
- Google Trends
- Constantly increasing graph
- In comparison to Websphere which is declining and evening out
- Similar situation with jboss
- We’ve passed Tapestry
- We passed the “spring framework” a long time ago
- We’ve passed zend
- Google Trends
- Thanks core!
- Thanks Matz!
- Everything is Perfect! BUT
- Some work still needs doing
- Hilbert, a mathmetician, gave a keynote analyzing the 23 most important unsolved problems in mathematics, setting the stage for the next century
23 Unsolved Problems Ran for about 7.5 hours, so…
3 Problems
- PDI - Please Do Investigate
- A bit rude
- BUT, they’re right. There’s only 12 of them.
- We’re all programmers. Try to implement it. It’s open.
- The responsibility to make Rails the way we want is up to us.
Data Integration
- Better use of schema - use schema constraints
- Validation based on the schema (staying DRY)
- Work with database foreign keys
- It will help with enterprise integration
- Make it easy to define in migrations
- Add belongs_to if FK detected
- Generally make folks feel we care
- Primary keys
- Better support for non-integer keys
- Particularly in migrations
- Better support for non-integer keys
- Add support for composite primary keys
- Support distributed transactions
- Standardized attribute-based finders
- Non-database models (including JMS/MQ)
Real-world CRUD
- The Irony - Scaffolding brings people to Rails BUT it’s the worst of Web 1.0
- We need something that really handles the database
- Support for table relationships
- Configurability
- In browser validation
- AJAX!
- Cross application skinning
- What We’re Doing
- Bring the simplicity of Active Record to Views and Controllers
Deployment
- What do you do on the server?
- Lightty, Mongrel, Apache, handling zombies?
- Capistrano
- Best deployment system there is
- Lets make it better
- Push model
- Application contains all of the configuration information
- What, where, how and when of deployment
- Great when you own the entire development
- BUT, in the real world responsibilities are split
- Developers know what to deploy
- Server administrators know where when and how
- Capistrano II
- Cooperative development
- Decouple application requirements and server environments
- Application Config
- Where to find files
- Where to put files
- Pre and post development hooks
- Library and environment prereqs
- Server Config
- Nominate server roles
- Where files go on the server
- User names/permissions/security
- Including database passwords etc
- Deployment
- Set up server once
- Set up individual applications as needed
cap --deploy-on cap://server.com- Sends application config to server
- Server checks dependencies, etc
- Stages application to server(s)
- Installs (or not)
- Then..
- ISPs set up standard environment
- Developers and users deploy:
svn co http://typosphere.org/typocd typocap --deploy-on cap://my.isp.com/dave- No more cron jobs for dead processes
- Packaging
- One step further…
- Deploy from GEMS
- Rails equivalent of WAR files
- Deploy from GEM using:
gem deploy name --on cap://my.isp.comgem update name --on cap://my.isp.com
Why?
- We feel sorry for them
- I couldn’t do Java development anymore
- Rails and Ruby have corrupted me
- It’s really hard to go back after Rails
- I’d like the Rails community to embrace these people
- Meet them halfway
- Support what they need for the transition
- All developers deserve to be happy

