SlideShare a Scribd company logo
1 of 47
Download to read offline
1
• Why Ruby Matters
• Community
• Obligatory History
• IRB & Rails
• Resources
2
Why Ruby Matters?
why learn ruby?
• it’s empowering!
• solve problems
• build stuff
• shape the world
why learn ruby over other
languages?
• It’s easy
• object-oriented
• mimics real life
• It’s a great first language to learn
Rapid prototyping
• Ruby is great for quickly building robust
applications
Ample Opportunities
• high demand for ruby
developers
• lots of jobs
• lots of encouragement from the
community
• attend conferences all over the
world
“Ruby believes in empowering its programmers,
giving them flexibility, freedom and power. But
most of all, it believes in making programming fun
for its creator”
-Matz, Creator of Ruby
Steve Wosniak
It’s not just for geniuses!
Learn to program quickly
• After two months at gSchool, we’re already
building CRUD applications
• most apps on the web are crud apps.
• CRUD - Create, Read, Update, Destroy
• Ruby makes it easy to display, manipulate and
interact with data
Apps made in Ruby
!
!
• One of the most popular places to watch your favorite
TV shows, movies and Internet videos.
!
!
• Share your slide shows with the world to educate, inform
and even market your company, products or anything
!
!
• One of the most popular places to watch your favorite TV
shows, movies and Internet videos.
!
!
• Share your slide shows with the world to educate, inform
and even market your company, products or anything else.
!
!
• The project management site that started the Ruby on Rails
phenomenon.
!
!
• Collaborative social coding hub for to better organize
teams.
if you’re interested in learning more, ruby has a
very supportive community that can help you…
Community
16
How people start.
17
Gain knowledge and
friends
18
Terence LeeChad Fowler
$ rspec
$ rerun rackup
$ roman numerals
19
20
Obligatory:
History of Ruby Slides
21
Yukihiro Matsumoto
"Matz"
22
I really wanted a genuine object-oriented,
easy-to-use scripting language. I looked, but
couldn't find one. So I decided to make it.
!
-Matz 1999
23
This is Matz
If you ever meet him give him a hug.
24
Ruby is a powerful object
oriented language.
25
Server side language
26
So, what’s rails?
27
We haven’t officially
learned rails yet
28
BUT
29
Rails is a super mega
awesome tool that basically
makes twitter with three clicks.
30
But Really
31
Rails is a framework to
quickly startup a web
application
32
Matz is still working on
Ruby full-time.
33
Open Source
34
Ruby Core Team is
mostly volunteer based
35
Rails is 10 years old
already and going strong
36
37
Brad, IRB
38
Resources
39
Ready to start?
• Why’s (poignant) Guide to
Ruby written by Why the
lucky stiff
• Introductory book with
comics and eclectic humor
40
• Beginning Ruby by Peter
Cooper
• In-depth overview of the
foundations of Ruby
building towards building a
full Ruby application
• Learn to Program by Chris
Pine
• A book that covers
programming basics with
many exercises
41
• Practicing Ruby by Gregory
Brown
• https://practicingruby.com/
• An online journal that gives an
in-depth analysis of variety of
topics
• Learn Ruby the Hard Way Program
by Zed A. Shaw
• http://ruby.learncodethehardway.org/
• A book that assumes no prior
coding knowledge and provides
extensive exercises to practice
coding
42
• http://stackoverflow.com/
• An online platform for
users to ask and answer
questions and to vote
answers up or down
• http://www.tutorialspoint.com/
ruby/
• Online tutorials on Ruby from
basic concepts to advanced
43
• https://rubymonk.com/
• Free interactive ruby
lessons for beginner to
advanced
!
• http://www.codecademy.com/
• An online interactive website
that offers free coding classes
44
• http://www.codewars.com/
• Fun website where you can
solve crowd-sourced “katas”
using code,
• http://confreaks.com/
• Website that provides videos of
talks from some of the best Ruby
and Ruby on Rails conferences
45
Staying connected
• Ruby5 by the EnvyLabs crew
• http://ruby5.envylabs.com/
• Podcast usually in the length
of about 6 minutes that covers
current topics, new ruby gems
or interesting blog posts
• Ruby Weekly by Jeremy Clarkson
& Peter Cooper
• http://rubyweekly.com/
• Weekly newsletter that covers
everything from tutorials, blog
articles relating to Ruby, online
training, new gems to the job
offers
46
Fin
Mi Ji Kim @mijikim2
Jess Owens @treetopyogi
Brad Scharmann @bscharm
Alex McRitchie @mcritchiealex
Graham McBain @grahammcbain
47

More Related Content

Similar to Ruby for Beginner

Ruby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source CommunityRuby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source CommunityJim Myhrberg
 
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Marylene Sawyer
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijateljiOto Brglez
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby worldOrest Ivasiv
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to CodeMattan Griffel
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsNataly Tkachuk
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
Ruby and rails around the web fun, informative sites for new and experienced...
Ruby and rails around the web  fun, informative sites for new and experienced...Ruby and rails around the web  fun, informative sites for new and experienced...
Ruby and rails around the web fun, informative sites for new and experienced...Durga Prasad Tumu
 
RailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop IntroRailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop Introreneedv
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails DeveloperJohn McCaffrey
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Gozhubert
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open SourceAmol A. Sale
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorialknoppix
 
Becoming a more Productive Rails Developer
Becoming a more Productive Rails DeveloperBecoming a more Productive Rails Developer
Becoming a more Productive Rails DeveloperJohn McCaffrey
 

Similar to Ruby for Beginner (20)

Ruby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source CommunityRuby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source Community
 
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijatelji
 
Why ruby
Why rubyWhy ruby
Why ruby
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
 
CC Salon Seoul
CC Salon SeoulCC Salon Seoul
CC Salon Seoul
 
Ruby+rails
Ruby+railsRuby+rails
Ruby+rails
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to Code
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
Ruby and rails around the web fun, informative sites for new and experienced...
Ruby and rails around the web  fun, informative sites for new and experienced...Ruby and rails around the web  fun, informative sites for new and experienced...
Ruby and rails around the web fun, informative sites for new and experienced...
 
RailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop IntroRailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop Intro
 
TXJS 2013 in 10 minutes
TXJS 2013 in 10 minutesTXJS 2013 in 10 minutes
TXJS 2013 in 10 minutes
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails Developer
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Why ruby?
Why ruby?Why ruby?
Why ruby?
 
Cucumber in Practice(en)
Cucumber in Practice(en)Cucumber in Practice(en)
Cucumber in Practice(en)
 
Becoming a more Productive Rails Developer
Becoming a more Productive Rails DeveloperBecoming a more Productive Rails Developer
Becoming a more Productive Rails Developer
 

Recently uploaded

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxnuruddin69
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...Health
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 

Recently uploaded (20)

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 

Ruby for Beginner

  • 1. 1
  • 2. • Why Ruby Matters • Community • Obligatory History • IRB & Rails • Resources 2
  • 4. why learn ruby? • it’s empowering! • solve problems • build stuff • shape the world
  • 5. why learn ruby over other languages? • It’s easy • object-oriented • mimics real life • It’s a great first language to learn
  • 6. Rapid prototyping • Ruby is great for quickly building robust applications
  • 7. Ample Opportunities • high demand for ruby developers • lots of jobs • lots of encouragement from the community • attend conferences all over the world
  • 8. “Ruby believes in empowering its programmers, giving them flexibility, freedom and power. But most of all, it believes in making programming fun for its creator” -Matz, Creator of Ruby
  • 9.
  • 10. Steve Wosniak It’s not just for geniuses!
  • 11. Learn to program quickly • After two months at gSchool, we’re already building CRUD applications • most apps on the web are crud apps. • CRUD - Create, Read, Update, Destroy • Ruby makes it easy to display, manipulate and interact with data
  • 12. Apps made in Ruby ! ! • One of the most popular places to watch your favorite TV shows, movies and Internet videos. ! ! • Share your slide shows with the world to educate, inform and even market your company, products or anything
  • 13. ! ! • One of the most popular places to watch your favorite TV shows, movies and Internet videos. ! ! • Share your slide shows with the world to educate, inform and even market your company, products or anything else.
  • 14. ! ! • The project management site that started the Ruby on Rails phenomenon. ! ! • Collaborative social coding hub for to better organize teams.
  • 15. if you’re interested in learning more, ruby has a very supportive community that can help you…
  • 19. $ rspec $ rerun rackup $ roman numerals 19
  • 20. 20
  • 23. I really wanted a genuine object-oriented, easy-to-use scripting language. I looked, but couldn't find one. So I decided to make it. ! -Matz 1999 23
  • 24. This is Matz If you ever meet him give him a hug. 24
  • 25. Ruby is a powerful object oriented language. 25
  • 30. Rails is a super mega awesome tool that basically makes twitter with three clicks. 30
  • 32. Rails is a framework to quickly startup a web application 32
  • 33. Matz is still working on Ruby full-time. 33
  • 35. Ruby Core Team is mostly volunteer based 35
  • 36. Rails is 10 years old already and going strong 36
  • 37. 37
  • 40. Ready to start? • Why’s (poignant) Guide to Ruby written by Why the lucky stiff • Introductory book with comics and eclectic humor 40
  • 41. • Beginning Ruby by Peter Cooper • In-depth overview of the foundations of Ruby building towards building a full Ruby application • Learn to Program by Chris Pine • A book that covers programming basics with many exercises 41
  • 42. • Practicing Ruby by Gregory Brown • https://practicingruby.com/ • An online journal that gives an in-depth analysis of variety of topics • Learn Ruby the Hard Way Program by Zed A. Shaw • http://ruby.learncodethehardway.org/ • A book that assumes no prior coding knowledge and provides extensive exercises to practice coding 42
  • 43. • http://stackoverflow.com/ • An online platform for users to ask and answer questions and to vote answers up or down • http://www.tutorialspoint.com/ ruby/ • Online tutorials on Ruby from basic concepts to advanced 43
  • 44. • https://rubymonk.com/ • Free interactive ruby lessons for beginner to advanced ! • http://www.codecademy.com/ • An online interactive website that offers free coding classes 44
  • 45. • http://www.codewars.com/ • Fun website where you can solve crowd-sourced “katas” using code, • http://confreaks.com/ • Website that provides videos of talks from some of the best Ruby and Ruby on Rails conferences 45
  • 46. Staying connected • Ruby5 by the EnvyLabs crew • http://ruby5.envylabs.com/ • Podcast usually in the length of about 6 minutes that covers current topics, new ruby gems or interesting blog posts • Ruby Weekly by Jeremy Clarkson & Peter Cooper • http://rubyweekly.com/ • Weekly newsletter that covers everything from tutorials, blog articles relating to Ruby, online training, new gems to the job offers 46
  • 47. Fin Mi Ji Kim @mijikim2 Jess Owens @treetopyogi Brad Scharmann @bscharm Alex McRitchie @mcritchiealex Graham McBain @grahammcbain 47