Download - Future of Ruby on the Web
![Page 1: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/1.jpg)
Spoiler Alert!
![Page 2: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/2.jpg)
![Page 3: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/3.jpg)
Dumbledore Dies!
![Page 4: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/4.jpg)
Welcome to Future Insights Live!!!
![Page 5: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/5.jpg)
Las Vegas
![Page 6: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/6.jpg)
"The Vegas"
![Page 7: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/7.jpg)
![Page 8: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/8.jpg)
![Page 9: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/9.jpg)
I am not always right.
![Page 10: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/10.jpg)
Future Insights Live
![Page 11: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/11.jpg)
Future Insights Live
![Page 12: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/12.jpg)
Future!Insights Live
![Page 13: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/13.jpg)
Future!Insights Live
![Page 14: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/14.jpg)
Future!Insights!Live
Hopefully?
![Page 15: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/15.jpg)
Future ofRubyRailsWeb
![Page 16: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/16.jpg)
I am not a Fortune Teller
![Page 17: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/17.jpg)
Agile Web Developer
![Page 18: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/18.jpg)
![Page 19: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/19.jpg)
Progress Is a Line
![Page 20: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/20.jpg)
Start At The Beginning
![Page 21: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/21.jpg)
Aaron Patterson
![Page 22: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/22.jpg)
@tenderlove
![Page 23: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/23.jpg)
Ruby Core Team
![Page 24: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/24.jpg)
Rails Core Team
![Page 25: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/25.jpg)
OMG!
INTERNET!
POINTS
![Page 26: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/26.jpg)
![Page 27: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/27.jpg)
![Page 28: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/28.jpg)
![Page 29: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/29.jpg)
FULL STACK ENGINEER
![Page 30: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/30.jpg)
AT&T, AT&T logo and all AT&T related marks are trademarks of AT&T Intellectual Property and/or AT&T affiliated companies.
![Page 31: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/31.jpg)
☑AdequateEverything. Adequately.
![Page 32: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/32.jpg)
Two Cats
![Page 33: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/33.jpg)
Gorbachev!Puff Puff!
Thunderhorse
![Page 34: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/34.jpg)
Sea-Tac!Facebook!YouTube
![Page 35: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/35.jpg)
![Page 36: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/36.jpg)
Extremely Shy
![Page 37: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/37.jpg)
Constant Failyour
![Page 38: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/38.jpg)
WWFMD?
![Page 39: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/39.jpg)
![Page 40: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/40.jpg)
Language Background
![Page 41: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/41.jpg)
School: C / C++
![Page 42: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/42.jpg)
![Page 43: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/43.jpg)
First OSS in 2002
![Page 44: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/44.jpg)
Lingua::EN::NameCase
![Page 45: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/45.jpg)
![Page 46: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/46.jpg)
SomethingFactoryFactoryFactoryBuilder
![Page 47: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/47.jpg)
SomethingFactoryFactoryFactoryBuilder
![Page 48: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/48.jpg)
No OSS in Java.
![Page 49: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/49.jpg)
I’ve never written Java for fun.
![Page 50: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/50.jpg)
![Page 51: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/51.jpg)
![Page 52: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/52.jpg)
My Birthday, in 2003
![Page 53: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/53.jpg)
Lesson: Use someone else’s credit card
![Page 54: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/54.jpg)
I was hooked.
![Page 55: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/55.jpg)
![Page 56: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/56.jpg)
High Productivity
![Page 57: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/57.jpg)
Startup World
![Page 58: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/58.jpg)
OSS Increased
![Page 59: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/59.jpg)
Corporate World
![Page 60: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/60.jpg)
AT&T, AT&T logo and all AT&T related marks are trademarks of AT&T Intellectual Property and/or AT&T affiliated companies.
![Page 61: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/61.jpg)
High Productivity
![Page 62: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/62.jpg)
Employment as OSS Developer
![Page 63: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/63.jpg)
Expense Reporting
![Page 64: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/64.jpg)
Expense Report Infinite Loop
![Page 65: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/65.jpg)
ConcurPDF
![Page 66: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/66.jpg)
"5 pages sent to …"
![Page 67: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/67.jpg)
Concur
Fax
![Page 68: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/68.jpg)
High Productivity?
![Page 69: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/69.jpg)
I love my job.
![Page 70: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/70.jpg)
People Seek High Productivity
![Page 71: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/71.jpg)
Back to Future Predictions…
![Page 72: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/72.jpg)
![Page 73: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/73.jpg)
Future of Programming Languages
![Page 74: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/74.jpg)
Machine Code
[ op | rs | rt | rd |shamt| funct] 0 1 2 6 0 32 decimal 000000 00001 00010 00110 00000 100000 binary
![Page 75: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/75.jpg)
Assembly Language .arch msp430g2553 .cpu 430 .mpy none ! .section .init9,"ax",@progbits .p2align 1,0 .global main .type main,@function /*********************** * Function `main' ***********************/ main: mov.b #0, &__P1OUT mov.b &__CALBC1_1MHZ, &__BCSCTL1 mov.b &__CALDCO_1MHZ, &__DCOCTL bis.b #1, &__P1DIR bis.b #1, &__P1OUT mov #1, r15 .Lfe1: .size main,.Lfe1-main ;; End of function
![Page 76: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/76.jpg)
Freed us from binary
![Page 77: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/77.jpg)
Cvoid loop(void) { green(); dht * fridge = malloc(sizeof(dht)); read = dhtRead(fridge); ! if(DHT_OK == read) { WRITE_TEMP(fridge->rhIntegral, fridge->rhDecimal, fridge->tIntegral, fridge->tDecimal); } else { red(); WRITE_TEMP(99, 99, 99, 99); } delaySeconds(2); }
![Page 78: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/78.jpg)
Freed us from the instructions
![Page 79: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/79.jpg)
Javapublic IRubyObject start_document(ThreadContext context, IRubyObject version, IRubyObject tags, IRubyObject implicit) { boolean implicitBool = implicit.isTrue(); Map<String, String> tagsMap = null; ! RubyArray tagsAry = tags.convertToArray(); if (tagsAry.size() > 0) { tagsMap = new HashMap<String, String>(tagsAry.size()); for (int i = 0; i < tagsAry.size(); i++) { RubyArray tagsTuple = tagsAry.eltInternal(i).convertToArray(); if (tagsTuple.size() != 2) { throw context.runtime.newRuntimeError("tags tuple must be of length 2"); } IRubyObject key = tagsTuple.eltInternal(0); IRubyObject value = tagsTuple.eltInternal(1); tagsMap.put(key.asJavaString(), value.asJavaString()); } } ! return this; }
![Page 80: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/80.jpg)
Freed us from memory management.
![Page 81: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/81.jpg)
Rubydef start_document(context, version, tags, implicit) tagsMap = nil; ! tagsAry = Array(tags) if (tagsAry.size > 0) tagsMap = {} tagsAry.size.times do |i| tagsTuple = tagsAry.eltInternal(i) if (tagsTuple.size != 2) raise RuntimeError, "tags tuple must be of length 2" end key = tagsTuple.eltInternal(0); value = tagsTuple.eltInternal(1); tagsMap[key] = value end end end
![Page 82: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/82.jpg)
Freed us from Types
![Page 83: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/83.jpg)
We’ve eliminated
• Specific machine code • Particular CPU instructions • Memory management • Object Types
![Page 84: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/84.jpg)
What’s next?
![Page 85: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/85.jpg)
![Page 86: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/86.jpg)
Concurrency
![Page 87: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/87.jpg)
CPUs aren’t getting faster
![Page 88: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/88.jpg)
We’re getting more cores
![Page 89: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/89.jpg)
Today
lock.synchronize { # Manipulate some data }
![Page 90: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/90.jpg)
Today
pool = ThreadPool.new NUMBER_OF_CPU
![Page 91: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/91.jpg)
Thinking about this is a waste of time!
![Page 92: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/92.jpg)
Dealing with concurrency is CODE NOISE
![Page 93: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/93.jpg)
The computer should solve these problems FOR US!
![Page 94: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/94.jpg)
Distributed Systems
![Page 95: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/95.jpg)
Concurrency tomorrow will be like memory management today
![Page 96: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/96.jpg)
Future of Ruby
![Page 97: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/97.jpg)
Ruby will ADAPT.
![Page 98: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/98.jpg)
By STEALING
![Page 99: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/99.jpg)
Clojure, Haskell, Go
![Page 100: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/100.jpg)
GC was invented in 1959.
![Page 101: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/101.jpg)
GC was invented in 1959.
![Page 102: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/102.jpg)
1959!!!!!
![Page 103: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/103.jpg)
Java’s First Release: 1995
WTF?
![Page 104: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/104.jpg)
We can do better than 36 years!
![Page 105: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/105.jpg)
Ruby Will Adapt Ruby Will Change
![Page 106: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/106.jpg)
Future of Rails
![Page 107: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/107.jpg)
Freedom of Rails
![Page 108: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/108.jpg)
Where does a model go?
![Page 109: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/109.jpg)
How does it talk to the controller?
![Page 110: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/110.jpg)
What are our table names?
![Page 111: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/111.jpg)
What is the primary key name?
![Page 112: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/112.jpg)
![Page 113: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/113.jpg)
Convention over Configuration
![Page 114: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/114.jpg)
High Productivity
![Page 115: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/115.jpg)
The Web is Changing
![Page 116: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/116.jpg)
Computations are changing
![Page 117: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/117.jpg)
Ember.js / AngularJS
![Page 118: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/118.jpg)
btw, Ember.js is way better
![Page 119: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/119.jpg)
I have no idea what I’m talking about.
![Page 120: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/120.jpg)
The pendulum is done.
![Page 121: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/121.jpg)
Why is multi-core different than distributed computing?
![Page 122: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/122.jpg)
Why is distributed computing different than client/server?
![Page 123: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/123.jpg)
Practical Terms
![Page 124: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/124.jpg)
Better API support
![Page 125: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/125.jpg)
High Productivity
![Page 126: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/126.jpg)
Future of Web
![Page 127: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/127.jpg)
World’s Most Advanced Animated Gif Delivery System
![Page 128: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/128.jpg)
Future of the Web IS HERE!
![Page 129: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/129.jpg)
Future Favors High Productivity
![Page 130: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/130.jpg)
Higher Productivity for Languages
![Page 131: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/131.jpg)
Higher Productivity for Frameworks
![Page 132: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/132.jpg)
Higher Productivity for The Web
![Page 133: Future of Ruby on the Web](https://reader033.vdocuments.site/reader033/viewer/2022052822/554ba168b4c905ae618b4a8f/html5/thumbnails/133.jpg)
Thank You!!💛💙💜💚❤️💗💛💙💜💚❤️💗