+ All Categories
Home > Internet > Future of Ruby on the Web

Future of Ruby on the Web

Date post: 08-May-2015
Category:
Upload: future-insights
View: 220 times
Download: 1 times
Share this document with a friend
Description:
Aaron Patterson's talk from Future Insights Live 2014 in Las Vegas: "The Web is constantly changing, and technology is constantly evolving. With these ideas in mind, let's look at what Ruby and Rails not only can do, but must do in order to push technology forward on the web." Miss his talk? Join us at a future show: www.futureofwebapps.com. Sign up for our newsletter at futureinsights.com and get 15% off your next conference.
133
Spoiler Alert!
Transcript
Page 1: Future of Ruby on the Web

Spoiler Alert!

Page 2: Future of Ruby on the Web
Page 3: Future of Ruby on the Web

Dumbledore Dies!

Page 4: Future of Ruby on the Web

Welcome to Future Insights Live!!!

Page 5: Future of Ruby on the Web

Las Vegas

Page 6: Future of Ruby on the Web

"The Vegas"

Page 7: Future of Ruby on the Web
Page 8: Future of Ruby on the Web
Page 9: Future of Ruby on the Web

I am not always right.

Page 10: Future of Ruby on the Web

Future Insights Live

Page 11: Future of Ruby on the Web

Future Insights Live

Page 12: Future of Ruby on the Web

Future!Insights Live

Page 13: Future of Ruby on the Web

Future!Insights Live

Page 14: Future of Ruby on the Web

Future!Insights!Live

Hopefully?

Page 15: Future of Ruby on the Web

Future ofRubyRailsWeb

Page 16: Future of Ruby on the Web

I am not a Fortune Teller

Page 17: Future of Ruby on the Web

Agile Web Developer

Page 18: Future of Ruby on the Web
Page 19: Future of Ruby on the Web

Progress Is a Line

Page 20: Future of Ruby on the Web

Start At The Beginning

Page 21: Future of Ruby on the Web

Aaron Patterson

Page 22: Future of Ruby on the Web

@tenderlove

Page 23: Future of Ruby on the Web

Ruby Core Team

Page 24: Future of Ruby on the Web

Rails Core Team

Page 25: Future of Ruby on the Web

OMG!

INTERNET!

POINTS

Page 26: Future of Ruby on the Web
Page 27: Future of Ruby on the Web
Page 28: Future of Ruby on the Web
Page 29: Future of Ruby on the Web

FULL STACK ENGINEER

Page 30: Future of Ruby on the Web

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

☑AdequateEverything. Adequately.

Page 32: Future of Ruby on the Web

Two Cats

Page 33: Future of Ruby on the Web

Gorbachev!Puff Puff!

Thunderhorse

Page 34: Future of Ruby on the Web

Sea-Tac!Facebook!YouTube

Page 35: Future of Ruby on the Web
Page 36: Future of Ruby on the Web

Extremely Shy

Page 37: Future of Ruby on the Web

Constant Failyour

Page 38: Future of Ruby on the Web

WWFMD?

Page 39: Future of Ruby on the Web
Page 40: Future of Ruby on the Web

Language Background

Page 41: Future of Ruby on the Web

School: C / C++

Page 42: Future of Ruby on the Web
Page 43: Future of Ruby on the Web

First OSS in 2002

Page 44: Future of Ruby on the Web

Lingua::EN::NameCase

Page 45: Future of Ruby on the Web
Page 46: Future of Ruby on the Web

SomethingFactoryFactoryFactoryBuilder

Page 47: Future of Ruby on the Web

SomethingFactoryFactoryFactoryBuilder

Page 48: Future of Ruby on the Web

No OSS in Java.

Page 49: Future of Ruby on the Web

I’ve never written Java for fun.

Page 50: Future of Ruby on the Web
Page 51: Future of Ruby on the Web
Page 52: Future of Ruby on the Web

My Birthday, in 2003

Page 53: Future of Ruby on the Web

Lesson: Use someone else’s credit card

Page 54: Future of Ruby on the Web

I was hooked.

Page 55: Future of Ruby on the Web
Page 56: Future of Ruby on the Web

High Productivity

Page 57: Future of Ruby on the Web

Startup World

Page 58: Future of Ruby on the Web

OSS Increased

Page 59: Future of Ruby on the Web

Corporate World

Page 60: Future of Ruby on the Web

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

High Productivity

Page 62: Future of Ruby on the Web

Employment as OSS Developer

Page 63: Future of Ruby on the Web

Expense Reporting

Page 64: Future of Ruby on the Web

Expense Report Infinite Loop

Page 65: Future of Ruby on the Web

ConcurPDF

Page 66: Future of Ruby on the Web

"5 pages sent to …"

Page 67: Future of Ruby on the Web

PDF

Concur

Fax

Email

PDF

Page 68: Future of Ruby on the Web

High Productivity?

Page 69: Future of Ruby on the Web

I love my job.

Page 70: Future of Ruby on the Web

People Seek High Productivity

Page 71: Future of Ruby on the Web

Back to Future Predictions…

Page 72: Future of Ruby on the Web
Page 73: Future of Ruby on the Web

Future of Programming Languages

Page 74: Future of Ruby on the Web

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

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

Freed us from binary

Page 77: Future of Ruby on the Web

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

Freed us from the instructions

Page 79: Future of Ruby on the Web

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

Freed us from memory management.

Page 81: Future of Ruby on the Web

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

Freed us from Types

Page 83: Future of Ruby on the Web

We’ve eliminated

• Specific machine code • Particular CPU instructions • Memory management • Object Types

Page 84: Future of Ruby on the Web

What’s next?

Page 85: Future of Ruby on the Web
Page 86: Future of Ruby on the Web

Concurrency

Page 87: Future of Ruby on the Web

CPUs aren’t getting faster

Page 88: Future of Ruby on the Web

We’re getting more cores

Page 89: Future of Ruby on the Web

Today

lock.synchronize { # Manipulate some data }

Page 90: Future of Ruby on the Web

Today

pool = ThreadPool.new NUMBER_OF_CPU

Page 91: Future of Ruby on the Web

Thinking about this is a waste of time!

Page 92: Future of Ruby on the Web

Dealing with concurrency is CODE NOISE

Page 93: Future of Ruby on the Web

The computer should solve these problems FOR US!

Page 94: Future of Ruby on the Web

Distributed Systems

Page 95: Future of Ruby on the Web

Concurrency tomorrow will be like memory management today

Page 96: Future of Ruby on the Web

Future of Ruby

Page 97: Future of Ruby on the Web

Ruby will ADAPT.

Page 98: Future of Ruby on the Web

By STEALING

Page 99: Future of Ruby on the Web

Clojure, Haskell, Go

Page 100: Future of Ruby on the Web

GC was invented in 1959.

Page 101: Future of Ruby on the Web

GC was invented in 1959.

Page 102: Future of Ruby on the Web

1959!!!!!

Page 103: Future of Ruby on the Web

Java’s First Release: 1995

WTF?

Page 104: Future of Ruby on the Web

We can do better than 36 years!

Page 105: Future of Ruby on the Web

Ruby Will Adapt Ruby Will Change

Page 106: Future of Ruby on the Web

Future of Rails

Page 107: Future of Ruby on the Web

Freedom of Rails

Page 108: Future of Ruby on the Web

Where does a model go?

Page 109: Future of Ruby on the Web

How does it talk to the controller?

Page 110: Future of Ruby on the Web

What are our table names?

Page 111: Future of Ruby on the Web

What is the primary key name?

Page 112: Future of Ruby on the Web
Page 113: Future of Ruby on the Web

Convention over Configuration

Page 114: Future of Ruby on the Web

High Productivity

Page 115: Future of Ruby on the Web

The Web is Changing

Page 116: Future of Ruby on the Web

Computations are changing

Page 117: Future of Ruby on the Web

Ember.js / AngularJS

Page 118: Future of Ruby on the Web

btw, Ember.js is way better

Page 119: Future of Ruby on the Web

I have no idea what I’m talking about.

Page 120: Future of Ruby on the Web

The pendulum is done.

Page 121: Future of Ruby on the Web

Why is multi-core different than distributed computing?

Page 122: Future of Ruby on the Web

Why is distributed computing different than client/server?

Page 123: Future of Ruby on the Web

Practical Terms

Page 124: Future of Ruby on the Web

Better API support

Page 125: Future of Ruby on the Web

High Productivity

Page 126: Future of Ruby on the Web

Future of Web

Page 127: Future of Ruby on the Web

World’s Most Advanced Animated Gif Delivery System

Page 128: Future of Ruby on the Web

Future of the Web IS HERE!

Page 129: Future of Ruby on the Web

Future Favors High Productivity

Page 130: Future of Ruby on the Web

Higher Productivity for Languages

Page 131: Future of Ruby on the Web

Higher Productivity for Frameworks

Page 132: Future of Ruby on the Web

Higher Productivity for The Web

Page 133: Future of Ruby on the Web

Thank You!!💛💙💜💚❤️💗💛💙💜💚❤️💗


Recommended