3. We were trying to do:
* more choice
* more modularity
* more performance
* toolkit for building other
Merb
stuff (SproutCore)
These things sound counter to
Rails’ philosophy... goes to
show that seemingly
oppositional OSS ideas may
not, in fact, be oppositional.
Solving problems given
competing constraints is the
truly hard problem in OSS.
Friday, April 16, 2010
16. “For the past ve days I have
been struggling with a bug in
the route code in rails 1.2.3. I
nally monkey patched
url_for to essentially force it to
do the obvious”
Friday, April 16, 2010
17. One of the worst things
you can do is ask your
users to individually
bear the cost of an
optimization
(modularity, perf)
“Evil”?
Optimizing for these
things at an early stage
is essentially doing
battle with your users
(see: bundler)
Friday, April 16, 2010
19. Users stress-test your
application in ways
that you would not
have thought of,
making it more robust
Friday, April 16, 2010
20. Users help drive the
needed feature-set...
the faster you get real
users, the sooner you’re
basing your project on
reality. It’s not easy to
reverse course later.
Friday, April 16, 2010
21. Business Is
Good for the
Ecosystem
Friday, April 16, 2010
23. the growth of the Rails ecosystem
has been staggering. There are so
many shops out there offering
Rails consulting and training. I
believe part of that proliferation is
due to the fact that there's no core-
group monopoly that can
dominate the market
Friday, April 16, 2010
24. We have a tendency to
underestimate the
net work effect.
Reducing the friction
for users and
businesses to interact
results in a net work
effect.
Stifling it, therefore,
stifles the net work
effect.
Friday, April 16, 2010
25. The company I work
for, Engine Yard, exists
because DHH
encouraged businesses
to help build the
ecosystem.
Not everything we do is
OSS, but our existence
increases the amount
of OSS in the world.
Friday, April 16, 2010
32. Issue is that has_one associations
don't cache nils, whereas
has_many do cache the empty
array... This results in lots of
unnecessary and unexpected
queries for all those
people that don't have things
Note that this post is
in 2006
Friday, April 16, 2010
33. Yes, please do investigate
something better. I
believe it was done
simply because it was
easy at the time
Friday, April 16, 2010
34. @obie: Gawd, it's lame
that unobtrusive
javascript helpers
have dropped off the
Rails 3.0 roadmap
Friday, April 16, 2010
35. @obie Re: Unobtrusive JS.
We had someone
volunteering to do the work,
but they dropped out. If you
have someone willing and
able, PDI!
Friday, April 16, 2010
37. These programmers share a
similar weltanschauung, but
they don't need to care only
about the things that I care
about. In fact, the system works
much better if they care about
different things than I do
Friday, April 16, 2010
38. My core philosophy
about open source is that
we should all be working
on the things that we
Sharing a worldview,
personally use and care
and waiting a bit for
something coherent
before opening the
about. doors wide, mitigates
against scary shit
Friday, April 16, 2010
39. These
programmers
share a similar
weltanschauung
Friday, April 16, 2010
49. (it will be
One of the wins of the
obvious)
15 minute demo was
that it got into quite
a bit of nitty gritty.
There’s some code
generation, but you
can easily see that
the techniques scale
Friday, April 16, 2010
50. Cheating also
results in
confused users
Friday, April 16, 2010
52. Don’t Try to
Explain
Prospective users will
Everything
give you 15 minutes;
you’ll lose a ton of
people if you ask them
to spend days on it.
Up Front
Show them the quick
win.
Friday, April 16, 2010
54. Today, we have barely
written PHP code but we
have a working web module
for the job model, ready to
be tweaked and customized.
Remember, no PHP code
also means no bugs!
Day 3
Friday, April 16, 2010
60. And the Terms
on Which They
Are Fought
Friday, April 16, 2010
61. “Ruby is Slow”
We’ve gotten better
at this... this section
is more about what
we’ve learned than us
getting it right the
first time.
Friday, April 16, 2010
62. OK:
Productivity
is More
Because when it
comes down to it,
Important
everything in
business *is* a
tradeoff... velocity
always matters
Friday, April 16, 2010
63. Better: HTTP
Overhead
Makes This
Moot
Friday, April 16, 2010
64. Best: Actually
Win Some
Benchmarks
Challenge the FUD
head-on... in this
case, Rails has
basically *never*
been slower than PHP
frameworks
Friday, April 16, 2010
65. Avoid
Stockholm’s
Syndrome
Friday, April 16, 2010
78. “We started Engine Yard in early
2006 to meet a genuine need:
customers were developing
business-critical Rails applications,
but they didn’t want to worry
about application deployment,
management and scaling”
Friday, April 16, 2010
81. Getting businesses
invested means that the
money is there without
huge companies like Sun...
We can fund important
projects, but financial
interests keep us grounded
Friday, April 16, 2010
82. “Rails is Too
Hard to
Deploy”
Friday, April 16, 2010
84. It’s useful to know
exactly what the target
is.
At some point, the Rails
community ended up with
stockholm syndrome
about this and didn’t
notice the problem was
solved
Friday, April 16, 2010
85. The FTP strategy only
takes you so far...
Friday, April 16, 2010
98. Debate is OK
The OSS community But if you’re going to
alternates from ridiculous debate, you have to know
to “why are we arguing” what you’re talking about.
A good vigorous debate,
even if it sometimes gets
loud, is absolutely OK
Friday, April 16, 2010
99. ActiveRecord
comes from
PPoEA
Friday, April 16, 2010
100. “Enterprise
Architecture”
Does that sound like Rails
to you?
The bottom line is that
conflicting philosophies
can have good ideas.
Friday, April 16, 2010
105. Experiments?
Given the “convention”
philosophy, you might
expect Rails to
experiment very little
Friday, April 16, 2010
106. Dynlang +
Vibrant Plugin
Ecosystem
But actually, Rails people
are some of the most
Clojure? Erlang? Evented
Programming? Node.JS?
bleeding-edge people
around
Friday, April 16, 2010
107. Pull in Best
Practices
But a good plugin
ecosystem means you
can be fairly
conser vative.
Friday, April 16, 2010
108. Make Sure
Defaults Still
Make Sense
There will always be people tugging Rails 3 solution (in
on the defaults. The strength of general)
conventions is in avoiding the tug.
Friday, April 16, 2010