RubyLearning Blog
Ruby in 2012
Ruby is more popular than ever, but it’s also not as trendy as it used to be. rubylearning.com students1 asked a few questions to Matt Aimonetti about his vision of Ruby in 2012 and for the future.
Matt Aimonetti is a well-known Rubyist, technical writer, speaker and active open-source contributor. He currently works as a software architect for LivingSocial. Prior to joining LivingSocial, Matt worked for Sony PlayStation.
How does Ruby fit in with the future, as you see it?Matt Aimonetti: This is a really hard question. If I could predict the future, I would probably already be rich. Ruby is a very powerful and flexible language.
Very much like Python, Ruby is a great glue language, a great language for the web and overall a language that allows you to get a lot done before you hit the language limitations.
The ecosystem also keeps growing and there seems to be more and more people focusing on performance and documentation which are two things Ruby could still improve a lot on.
I think it’s quite obvious that the pendulum is swinging back and server side code is going to be more and more API oriented with smart clients consuming these services. Ruby is great for that because services need to be easy to write, easily to maintain, well documented and flexible. I wrote a DSL to do just that using Ruby and it would have been harder in any other language.
So, to answer the question more directly, I think that Ruby will keep on playing a major role in web development but at the same time, developers will become more and more polyglot and might switch back and forth between languages.
I have talked to people that think that Ruby is falling by the wayside, even to the point where they say that Rails is killing Ruby. What do you think?Matt Aimonetti: I wouldn’t say that Ruby is falling by the wayside, what’s going on is that Ruby outgrew the startup world where it became very popular a few years ago. However, you now find Ruby (and Rails to that matter) in a lot of more established places thanks to its efficiency of development, strong focus on testing, active community and great ecosystem.
When some people say that Rails is hurting Ruby, I think what they mean is that for them Ruby’s fate is directly related to Rails’. If Rails doesn’t manage to stay the web framework of reference, it might hurt the language. This is certainly not entirely wrong. Without Rails, Ruby wouldn’t have been as popular, but at the same time, there is much more to Ruby than Rails and I think that as a community we need to seriously start looking at all the great things we can do with Ruby outside Rails.
What is your opinion on Node.js? Is this the future? Do you think Node.js will beat Ruby in web application development?Matt Aimonetti: This is a question I often get. I personally like node.js, I think it’s fun, easy to get started and with CoffeeScript, writing JavaScript (JS) is almost fun. That said, Node is really young, not very well documented and relies extremely heavily on callbacks which can be quite confusing at times. My experience with Node is limited, but as my personal project started growing, I started struggling to keep my code simple and easy to maintain. Because I already know Ruby quite well and because equivalent tools exist in Ruby land, I don’t see a real need to use Node besides being the new cool framework.
But the project is fast growing, the cross-platform focus is welcomed and I think that for some developers, Node.js can be a great solution, especially when developing simple web APIs.
Will it “beat” Ruby? Well, a framework and a programming language are two different things. Will it beat Rails in popularity, that’s a possibility due to the fact that JavaScript is becoming very popular. However, some of the issues I mentioned earlier might prevent Node.js to become as popular as some people seem to believe. Finally, at the end of the day, if a JS framework becomes a better solution than anything else I use, I will certainly switch. But so far, I don’t see that happening.
Do you think Ruby is the best programming language to be introduced to newbies to get them started in programming?Matt Aimonetti: I do believe Ruby is a great language to learn some of the basis of programming, especially Object Oriented Programming. It allows students to get easily started and to build things quickly. However, different people learn differently and are attracted to other things and parts of Ruby can be quite hairy. To properly learn a language, you also need to have a way to practice and quickly see the fruit of your labor. That’s why If you are a designer, I might suggest you start with JavaScript and then move on to a better designed, high level programming language like Ruby or Python. Finally, you need to look at your motivation being learning a new language.
If you want to learn programming because you want to work in this field, consider starting learning a language which will allow you to easily start working (hint: there are a lot of Rails positions out there waiting for you). But don’t stop there, keep learning new languages and way to solve problems using code.
How to become a better coder? I still feel it’s hard to get involved contributing to OSS, could you give us some advice?Matt Aimonetti: I personally get better when I practice a lot and when overcoming problems I didn’t know how to solve before I started. Open Source contribution is a great way to get feedback and learn from others. I think that with tools such as Git and GitHub, OSS contribution has become much easier than ever. That said, a lot of developers think that their contributions have to be significant, and, that’s in my mind, a mistake. Start by contributing documentation, examples and helping others. File bug reports and try to reduce them to an easier to handle case. That might seem trivial to you, but it’s extremely useful, it will teach you a lot about the project you are involved with, its design, the pros/cons and how an OSS project is run. Doing that will help you debug and diagnose problems faster and when added to the design knowledge and communication skills you would have acquired, you have all the ingredients of a good developer. Another thing I like to do is to pick something that seems absolutely impossible for me to do. If you only know Ruby, memory management and writing code C might seem hard. Give yourself a reasonable time frame and a challenge such as 6 months to have a small C program that will do X, Y and Z. Keep it small and simple and don’t forget to have fun. At first it will be hard, but don’t give up, keep trying until you learned something you thought was impossible. When you will go back to writing Ruby or whatever language you write, you will look at things from a different angle.
Finally, the last thing I would suggest is to never feel too comfortable in your daily programming tasks. If you are to the point where you just execute and aren’t challenged, you might want to consider talking to your supervisor about giving you more challenging tasks.
Are you excited about MobiRuby? Do you think it will become a viable platform for iOS development?Matt Aimonetti: MobiRuby is being developed on top of mruby, the new Ruby implementation written by Matz that’s targeting embedded device and offering an alternate for Lua and to some extent JavaScript. I’m quite excited about mruby and its potential and I wrote about both mruby and MobiRuby a couple days ago. Basically, from my view point MobiRuby is an interesting project but it will have to overcome some serious challenges described in details in my blog post. My hope is that thanks to the Ruby language, MobiRuby will be able to transcend Cocoa/Android API to offer an easier, simpler API making mobile development more fun and more easily accessible.
This is quite a big challenge, but I do believe this is something that can be done and that might change the way mobile development is done.
I hope you found this article useful. What are your thoughts? Feel free to ask questions and do give your opinion in the comments section of this post. Matt would only be too happy to reply. Thanks!
Technorati Tags: Programming, Ruby programming, Ruby
- Thanks to Michael Kohl, Samnang Chhun and Victor Goff. ↩
(Powered by LaunchBit)
Ruby Programming 33rd Batch: Registrations now open
Registrations are now open for RubyLearning’s popular Ruby programming course. This is an intensive, online course for beginners that helps you get started with Ruby programming.
Here is what Sandra Randall (Butler), a participant who just graduated, has to say – “You kindly offered me the opportunity to join your Ruby course. I’m new to development and found the course, even though basic for programmers, a little tricky for me. I managed to complete all of the assessments and really learnt a lot. Thank you very much for the opportunity. It has really given me the push I needed to learn Ruby and I’m currently treading my way through both the pickaxe and Agile Development books and enjoying it. I’ve recently been offered a position as a Junior Systems Developer at a local Software house in South Africa – all thanks to the push you gave me which gave me the motivation and drive to get going.”
What’s Ruby?According to http://www.ruby-lang.org/en/ – “Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Ruby’s elegant syntax is natural to read and easy to write.”
Yukihiro Matsumoto, the creator of Ruby, in an interview says -
I believe people want to express themselves when they program. They don’t want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.
What Will I Learn?In the Ruby programming course, you will learn the essential features of Ruby that you will end up using every day. You will also be introduced to Git, GitHub, HTTP concepts, RubyGems, Rack and Heroku.
Depending on participation levels, we throw a Ruby coding challenge in the mix, appropriate for the level we are at. We have been known to give out a prize or two for the ‘best’ solution.
Who’s It For?A beginner with some knowledge of programming..
You can read what past participants have to say about the course.
MentorsSatish Talim, Michael Kohl, Satoshi Asakawa, Victor Goff III and others from the RubyLearning team.
DatesThe course starts on Saturday, 26th May 2012 and runs for seven weeks.
RubyLearning’s IRC ChannelMost of the mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#rubylearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.
How do I register and pay the course fees?- The course is based on the The Ultimate Guide to Ruby Programming eBook. This book is normally priced at US$ 19.95 and we are discounting it US$ 10.00 by combining it in the Course+eBook option below.
- You can pay either by Paypal or send cash via Western Union Money Transfer or by bank transfer (if you are in India). The fees collected helps RubyLearning maintain the site, this Ruby course, the Ruby eBook, and provide quality content to you.
- Once you pay the fees below, register on the RubyLearning.org site and send us your name and registered email id while creating an account at RubyLearning.org to satish [at] rubylearning [dot] com
- We will enroll you into the course. If you have purchased the eBook at the time of registration, we will personally email you the eBook within 24 hours.
You can pay the Course Fees by selecting one of the three options from the drop-down menu below. Please select your option and then click on the “Add to Cart” button.
Register Ruby eBook $19.95 Ruby Course $59.95 Course+eBook $69.95
At the end of this course you should have all the knowledge to explore the wonderful world of Ruby on your own.
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning Ruby.
Technorati Tags: Ruby course, Ruby, Ruby Training, Programming
(Powered by LaunchBit)
Free Course: An Introduction to JRuby
Introducing an online course for beginners that helps you get started with JRuby programming.
What’s JRuby?According to http://en.wikipedia.org/wiki/JRuby – “JRuby is a Java implementation of the Ruby programming language, being developed by the JRuby team. JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code.”
Charles Nutter says -
Despite all the new alternatives, JRuby on Rails remains one of the fastest, cleanest ways to build JVM-based web applications. JRuby provides the full Ruby ecosystem as well as integration with JVM languages and libraries. Ruby is both a wonderful language and increasingly the best choice for rapid application development. Add to that platforms like Torquebox and the excellent Ruby community, and it’s easy to see why JRuby should be in every Java developer’s toolbox.
What Will I Learn?- What is JRuby?
- Why JRuby?
- Killer app
- What the experts say
- Downloading and Setting-up JRuby
- Getting your hands wet
- JRuby allows Ruby programs to use Java classes
- jruby01a.rb – JVM properties
- jruby01.rb – DateFormat and Date
- jruby02.rb – Internationalization / Localization
- jruby03.rb – Swing library
- Extending Java
- Assignment 1
- jruby04.rb – ActiveRecord and JDBC
- JRuby allows Java programs to use Ruby classes
- JRubyJSR223.java
- JRubyJSR223Ex2.java
- Assignment 2
- Brief look at Ruby on Rails
- Installation
- Install Bundler and Rails
- Creating your app – JRuby on Rails
A beginner but with a working knowledge of Ruby and Java.
This course will not teach you Java or Ruby programming. A basic knowledge of both programming languages is assumed, but most examples will be in Ruby and focus on Ruby development with help from Java. Also, you should have played around with some database. Whether you are a Java hacker who’s new to Ruby or a Rubyist taking your first steps into Java, this course is a great guide to help you navigate the gray area between the new languages.
By the time you have finished the course and worked on the examples and assignments, you will be fairly comfortable with JRuby.
MentorsSatish Talim and others from the RubyLearning team.
DatesThe course starts on Saturday, 12th May 2012 and runs for a week.
How do I register?Register here. Use the Enrollment key: rubylearning. That’s it!
Hurry, registrations have started.
At the end of this course you should have enough working knowledge to explore the wonderful world of JRuby, on your own.
9th April 2012 at 7.45 hrs IST – List of Participant’s Countries
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning JRuby.
Technorati Tags: Introduction to JRuby, JRuby course, JRuby, JRuby Training, Programming, Ruby, Java
(Powered by LaunchBit)
Ruby Programming 32nd Batch: Registrations now open
Registrations are now open for RubyLearning’s popular Ruby programming course. This is an intensive, online course for beginners that helps you get started with Ruby programming.
Here is what Sandra Randall (Butler), a participant who just graduated, has to say – “You kindly offered me the opportunity to join your Ruby course. I’m new to development and found the course, even though basic for programmers, a little tricky for me. I managed to complete all of the assessments and really learnt a lot. Thank you very much for the opportunity. It has really given me the push I needed to learn Ruby and I’m currently treading my way through both the pickaxe and Agile Development books and enjoying it. I’ve recently been offered a position as a Junior Systems Developer at a local Software house in South Africa – all thanks to the push you gave me which gave me the motivation and drive to get going.”
What’s Ruby?According to http://www.ruby-lang.org/en/ – “Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Ruby’s elegant syntax is natural to read and easy to write.”
Yukihiro Matsumoto, the creator of Ruby, in an interview says -
I believe people want to express themselves when they program. They don’t want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.
What Will I Learn?In the Ruby programming course, you will learn the essential features of Ruby that you will end up using every day. You will also be introduced to Git, GitHub, HTTP concepts, RubyGems, Rack and Heroku.
Depending on participation levels, we throw a Ruby coding challenge in the mix, appropriate for the level we are at. We have been known to give out a prize or two for the ‘best’ solution.
Who’s It For?A beginner with some knowledge of programming..
You can read what past participants have to say about the course.
MentorsSatish Talim, Michael Kohl, Satoshi Asakawa, Victor Goff III and others from the RubyLearning team.
DatesThe course starts on Saturday, 14th Apr. 2012 and runs for seven weeks.
RubyLearning’s IRC ChannelMost of the mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#rubylearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.
How do I register and pay the course fees?- The course is based on the The Ultimate Guide to Ruby Programming eBook. This book is normally priced at US$ 19.95 and we are discounting it US$ 10.00 by combining it in the Course+eBook option below.
- You can pay either by Paypal or send cash via Western Union Money Transfer or by bank transfer (if you are in India). The fees collected helps RubyLearning maintain the site, this Ruby course, the Ruby eBook, and provide quality content to you.
- Once you pay the fees below, register on the RubyLearning.org site and send us your name and registered email id while creating an account at RubyLearning.org to satish [at] rubylearning [dot] com
- We will enroll you into the course. If you have purchased the eBook at the time of registration, we will personally email you the eBook within 24 hours.
You can pay the Course Fees by selecting one of the three options from the drop-down menu below. Please select your option and then click on the “Add to Cart” button.
Register Ruby eBook $19.95 Ruby Course $49.95 Course+eBook $59.95
At the end of this course you should have all the knowledge to explore the wonderful world of Ruby on your own.
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning Ruby.
Technorati Tags: Ruby course, Ruby, Ruby Training, Programming
(Powered by LaunchBit)
Ruby Programming 31st Batch: Registrations now open
Registrations are now open for RubyLearning’s popular Ruby programming course. This is an intensive, online course for beginners that helps you get started with Ruby programming.
Here is what Sandra Randall (Butler), a participant who just graduated, has to say – “You kindly offered me the opportunity to join your Ruby course. I’m new to development and found the course, even though basic for programmers, a little tricky for me. I managed to complete all of the assessments and really learnt a lot. Thank you very much for the opportunity. It has really given me the push I needed to learn Ruby and I’m currently treading my way through both the pickaxe and Agile Development books and enjoying it. I’ve recently been offered a position as a Junior Systems Developer at a local Software house in South Africa – all thanks to the push you gave me which gave me the motivation and drive to get going.”
What’s Ruby?According to http://www.ruby-lang.org/en/ – “Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Ruby’s elegant syntax is natural to read and easy to write.”
Yukihiro Matsumoto, the creator of Ruby, in an interview says -
I believe people want to express themselves when they program. They don’t want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.
What Will I Learn?In the Ruby programming course, you will learn the essential features of Ruby that you will end up using every day. You will also be introduced to Git, GitHub, HTTP concepts, RubyGems, Rack and Heroku.
Depending on participation levels, we throw a Ruby coding challenge in the mix, appropriate for the level we are at. We have been known to give out a prize or two for the ‘best’ solution.
Who’s It For?A beginner with some knowledge of programming..
You can read what past participants have to say about the course.
MentorsSatish Talim, Michael Kohl, Satoshi Asakawa, Victor Goff III and others from the RubyLearning team.
DatesThe course starts on Saturday, 3rd Mar. 2012 and runs for seven weeks.
RubyLearning’s IRC ChannelMost of the mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#rubylearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.
How do I register and pay the course fees?- The course is based on the The Ultimate Guide to Ruby Programming eBook. This book is normally priced at US$ 19.95 and we are discounting it US$ 10.00 by combining it in the Course+eBook option below.
- You can pay either by Paypal or send cash via Western Union Money Transfer or by bank transfer (if you are in India). The fees collected helps RubyLearning maintain the site, this Ruby course, the Ruby eBook, and provide quality content to you.
- Once you pay the fees below, register on the RubyLearning.org site and send us your name and registered email id while creating an account at RubyLearning.org to satish [at] rubylearning [dot] com
- We will enroll you into the course. If you have purchased the eBook at the time of registration, we will personally email you the eBook within 24 hours.
You can pay the Course Fees by selecting one of the three options from the drop-down menu below. Please select your option and then click on the “Add to Cart” button.
Register Ruby eBook $19.95 Ruby Course $49.95 Course+eBook $59.95
At the end of this course you should have all the knowledge to explore the wonderful world of Ruby on your own.
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning Ruby.
Technorati Tags: Ruby course, Ruby, Ruby Training, Programming
(Powered by LaunchBit)
FREE Online Course: Programming for the Web with Ruby
Registrations are now open for RubyLearning’s FREE, online course on “Programming for the Web with Ruby“. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies. The course topics would hopefully help those that have some knowledge of Ruby programming to get started with web programming (this does not cover Ruby on Rails).
Who’s It For?Anyone with some knowledge of Ruby programming.
DatesThe course starts on Monday, 20th Feb. 2012 and runs for 2 weeks.
How do I register?Register here. Use the Enrollment key: PFTWWR-4I. That’s it!
Updated (13th Feb. at 6.30 hrs IST): So far we have 1556 registrations.
Course Contents- DAY 1
- Using Git
- What’s Version Control
- What’s Git?
- Downloading and Installing Git
- Create a local folder
- Let us start using Git
- Introduce yourself to Git
- Create your SSH Key
- Using GitHub
- What’s GitHub?
- Set up your GitHub account
- Creating a new repository
- Add your SSH key to GitHub
- What’s GitHub?
- Using RVM (for *nix)
- What is RVM?
- Prerequisites
- Installing RVM
- Loading RVM into your shell
- Reload shell configuration and test
- Install a Ruby interpreter
- Using pik (for Windows)
- What’s pik?
- Installing pik
- Using pik
- Exercise 1
- DAY 2
- Creating a simple webpage using HTML5, CSS and JavaScript
- A Webpage, Step by Step
- Before we begin, Launch a Text Editor
- Step 1: Start with content
- Step 2: Give the document structure
- Step 3: Identify text elements
- Step 4: Add an image
- Step 5: Change the look with a style sheet
- Add some JavaScript
- Store your webpage files on GitHub
- Exercise 2
- DAY 3
- Understanding HTTP concepts
- What’s HTTP?
- Loading a web page
- HTTP request methods (verbs)
- GET
- POST
- PUT
- DELETE
- Using cURL
- HTTP response codes
- net/http library
- Using URI
- Using open-uri
- Using Hpricot
- Using Nokogiri
- Fetching documents from web
- Searching inside HTML documents
- What’s HTTP?
- Exercise 3
- DAY 4
- Creating one’s own Ruby Gem
- What’s a Ruby Gem?
- Let us create a simple Ruby library
- Steps for publishing our gem
- DAY 5 and 6
- Learning Rack
- Revisiting Ruby’s proc object
- my_proc1.rb
- Rack Specification
- A simple Rack app – my_rack_proc
- my_rack_proc.rb
- Rack Documentation
- Rack Source Code
- Installing Rack gem
- my_rack_proc2.rb
- Another Rack app – my_method
- my_rack2.rb
- Using rackup
- my_app.rb
- Using Rack::Request and Rack::Response
- A very basic practical Rack app
- Another practical Rack app
- Rack middleware
- Using Lobster
- Rack::Builder
- Revisiting Ruby’s proc object
- DAY 7
- Deploying Pure Rack Apps to Heroku
- What’s Heroku?
- Create an account on Heroku
- Install Bundle
- Deploy your app to Heroku
- What’s Heroku?
- DAY 8
- Deploying a static webpage to Heroku
- DAY 9
- What’s JSON?
- Using MongoDB with Ruby Mongo driver
- What’s NoSQL?
- What’s MongoDB?
- Setup MongoDB
- MongoDB Core Concepts
- The Basics
- Switch databases
- Insert a document
- Use find()
- Removing all documents
- Query Selectors
- Updating a document
- MongoDB Ruby Driver – mongo
- Installation
- Using the mongo gem
- Making a Connection
- Getting a List Of Collections
- Getting a Collection
- Inserting a Document
- Updating a Document
- MongoHQ the hosted database
- Sign Up
- Create a database
- Accessing the database
- DAY 10
- Sinatra with MongoDB
- What’s Sinatra?
- Create a folder on your hard disk
- Install Sinatra
- Which web server?
- Our trivial Sinatra application
- ERB and View
- ERB
- View
- Handlers and Form parameters
- Work-In-Progress
- References
The course contents is likely to change.
MentorsSatish Talim, Michael Kohl, Victor Goff III and others from the RubyLearning team.
RubyLearning’s IRC ChannelMost of the mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#rubylearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning Ruby.
Acknowledgments- Al Snow for his various suggestions.
- Arvinder Singh Kang for the note on “Using RVM”
- Konstantin Haase for providing us with another practical Rack app.
- Matt Aimonetti for the GET/POST example related to Rack.
- Michael Kohl for proof reading and making relevant corrections to day 1 and 2 material.
- Oto Brglez for the note on “Using Nokogiri”
- Samnang Chhun for suggesting changes in day 1 material.
- Victor Goff for his various suggestions.
- Willian Molinari for creating the GitHub page for this project.
- Zhang Hailong for making relevant corrections in day 2 material.
RubyLearning.org, since 2005, has been helping Ruby Newbies go from zero to awesome!
Technorati Tags: Ruby course, Ruby, Ruby Training, Programming, Web programming
(Powered by LaunchBit)
Migration downtime for RubyLearning
RubyLearning websites and services (http://rubylearning.com/, http://rubylearning.org/ and http://satishtalim.com/) will be down for scheduled maintenance according to this time schedule. We would be offline no longer than 4 hours. During this time, we will be migrating our Slice from the St. Louis (STL) to the Chicago (ORD) datacenter of Slicehost.
Update: The site migration is complete. Thank you for your understanding and patience.
Technorati Tags: Slicehost, Migration
(Powered by LaunchBit)
Ruby Programming 30th Batch: Registrations now open
Registrations are now open for RubyLearning’s popular Ruby programming course. This is an intensive, online course for beginners that helps you get started with Ruby programming.
Here is what Sandra Randall (Butler), a participant who just graduated, has to say – “You kindly offered me the opportunity to join your Ruby course. I’m new to development and found the course, even though basic for programmers, a little tricky for me. I managed to complete all of the assessments and really learnt a lot. Thank you very much for the opportunity. It has really given me the push I needed to learn Ruby and I’m currently treading my way through both the pickaxe and Agile Development books and enjoying it. I’ve recently been offered a position as a Junior Systems Developer at a local Software house in South Africa – all thanks to the push you gave me which gave me the motivation and drive to get going.”
What’s Ruby?According to http://www.ruby-lang.org/en/ – “Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Ruby’s elegant syntax is natural to read and easy to write.”
Yukihiro Matsumoto, the creator of Ruby, in an interview says -
I believe people want to express themselves when they program. They don’t want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.
What Will I Learn?In the Ruby programming course, you will learn the essential features of Ruby that you will end up using every day. You will also be introduced to Git, GitHub, HTTP concepts, RubyGems, Rack and Heroku.
Depending on participation levels, we throw a Ruby coding challenge in the mix, appropriate for the level we are at. We have been known to give out a prize or two for the ‘best’ solution.
Who’s It For?A beginner with some knowledge of programming..
You can read what past participants have to say about the course. Click here.
MentorsSatish Talim, Michael Kohl, Satoshi Asakawa, Victor Goff III and others from the RubyLearning team.
DatesThe course starts on Saturday, 28th Jan. 2012 and runs for seven weeks.
RubyLearning’s IRC ChannelMost of the mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#rubylearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.
How do I register and pay the course fees?- The course is based on the The Ultimate Guide to Ruby Programming eBook. This book is normally priced at US$ 19.95 and we are discounting it US$ 10.00 by combining it in the Course+eBook option below.
- You can pay either by Paypal or send cash via Western Union Money Transfer or by bank transfer (if you are in India). The fees collected helps RubyLearning maintain the site, this Ruby course, the Ruby eBook, and provide quality content to you.
- Once you pay the fees below, register on the RubyLearning.org site and send us your name and registered email id while creating an account at RubyLearning.org to satish [at] rubylearning [dot] com
- We will enroll you into the course. If you have purchased the eBook at the time of registration, we will personally email you the eBook within 24 hours.
You can pay the Course Fees by selecting one of the three options from the drop-down menu below. Please select your option and then click on the “Add to Cart” button.
Register Ruby eBook $19.95 Ruby Course $49.95 Course+eBook $59.95
At the end of this course you should have all the knowledge to explore the wonderful world of Ruby on your own.
Here are some details on how the course works:
Important:Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
Methodology:- The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some extra assignments / food for thought articles / programs
- Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day. - Qs. Is it important for me to take part in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation. - Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task. - Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours. - Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”. - Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
Remember, the idea is to have fun learning Ruby.
Subscribe to the waiting list of the free, online “Intermediate Ruby Course“.
Technorati Tags: Ruby course, Ruby, Ruby Training, Programming
(Powered by LaunchBit)
