# Ruby

> Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. —Yukihiro Matsumoto

### Get started with Ruby

* [Ruby in Twenty Minutes](https://www.ruby-lang.org/en/documentation/quickstart/)
* [Learn to Program](https://pine.fm/LearnToProgram/) by Chris Pine, the best beginner programming book I've read.
* [Codecademy's Learn Ruby](https://www.codecademy.com/learn/learn-ruby)
* [Learn Ruby the Hard Way](https://learnrubythehardway.org/book/) by Zed Shaw
* [Ruby Koans](http://www.rubykoans.com/) - achieve Ruby enlightenment.
* [Ruby Monk](https://rubymonk.com/) - interactive tutorials to help you discover Ruby idioms.
* [Test First](http://testfirst.org/) - learn to program through "Test-First Teaching".
* [Ruby Kickstart](https://github.com/JoshCheek/ruby-kickstart) - an interactive guide to learning the Ruby.
* [I Want To Learn Ruby](http://iwanttolearnruby.com/)

### Ruby guides

* [The Definitive Ruby Tutorial For Complete Beginners](https://www.rubyguides.com/ruby-tutorial/)
* [Ruby User's Guide](http://www.rubyist.net/~slagell/ruby/)
* [Ruby Hacking Guide](https://ruby-hacking-guide.github.io/)
* [Just Enough Ruby to Get By](http://jasonkim.ca/projects/just_enough_ruby_to_get_by/) by Jason Kim
* [Ruby Tutorial](http://rubylearning.com/satishtalim/tutorial.html) by Satish Talim
* [The Unofficial Ruby Usage Guide](http://www.caliban.org/ruby/rubyguide.shtml) (at Google) - Ian Macdonald
* [PLEAC-Ruby](http://pleac.sourceforge.net/pleac_ruby/index.html#AEN4) - an implementation of the Solutions of the Perl Cookbook in the Ruby language.

### Ruby Books (free)

* [Why's (Poignant) Guide to Ruby](https://poignant.guide/) by by Why The Lucky Stiff
* [The Bastards Book of Ruby](http://ruby.bastardsbook.com/) by Dan Nguyen
* [Programming Ruby](http://ruby-doc.com/docs/ProgrammingRuby/) by Dave Thomas, Chad Fowler and Andy Hunt
* [Rubyfu](https://rubyfu.net/) - a great collection of ideas, tricks, and skills that could be useful for Hackers.
* [Introduction to Programming with Ruby](https://launchschool.com/books/ruby) and [Object Oriented Programming with Ruby](https://launchschool.com/books/oo_ruby) by Launch School
* [I Love Ruby](https://i-love-ruby.gitlab.io) by Karthikeyan A K
* [Ruby Web Dev: The Other Way](https://leanpub.com/rwdtow/read) by Yevhen Kuzminov
* [Developing Games With Ruby](https://leanpub.com/developing-games-with-ruby/read) by Tomas Varaneckas

## Links

* Style guides: [Ruby style guide](https://github.com/rubocop-hq/ruby-style-guide), [Ruby Style Guide](https://github.com/airbnb/ruby)
* [Lean Code Ruby](lhttps://github.com/uohzxela/clean-code-ruby#readme) - Clean Code concepts adapted for Ruby.
* [Notes From "Practical Object-Oriented Design In Ruby" by Sandi Metz](https://gist.github.com/speric/31ae0987d21eac1d4f87)
* [Practicing Ruby](https://github.com/elm-city-craftworks/practicing-ruby-manuscripts) by Gregory Brown
* [The Philosophy of Ruby: A Conversation with Yukihiro Matsumoto](https://www.artima.com/intv/ruby.html)
* [My 10 Favorite Things About the Ruby Language](https://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/) by Yehuda Katz
* [Using Ruby in 2019](https://jasoncharnes.com/using-ruby-in-2019/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.stojanow.com/programming/ruby.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
