Can you help RubyLearning with your suggestions?

by Satish Talim on November 15, 2008 · 64 comments

New Course Offerings

We’re rapidly expanding our course offerings here at RubyLearning, trying to keep up with the enormous and ever-growing interest in Ruby. But we need your YOUR help because, as you know, Ruby is a big subject, and we’d like to be sure to focus in on the areas of most interest to you.

A Note regarding the courses mentioned in the poll below:

  • Ruby Testing and TDD: (starting from the concepts of testing in general, Test::Unit and other tools are discussed. RSpec is not discussed. Suited for people trying to code test code.)
  • Ruby GUI: (GUI programming. Which library do you recommend - Shoes, FXRuby?)
  • Ruby: Git and GitHub: (A short course where you study Git and GitHub. Basic operations are discussed. Publishing a gem using GitHub.)
  • Ruby & SQLite3 database: (Learn SQLite3 using Ruby. Beneficial for those who already know another database and for those are relatively new to database itself.)
  • JRuby: This course is already available, but wanted to check whether you want it.
  • Merb: This is becoming very popular in the community.

Please take a moment to complete a brief poll about the new course offerings we’re considering. Also, please post your suggestions as comments to this blog post. It won’t take more than a minute or two.

THE POLL IS NOW CLOSED

Technorati Tags: , , ,

Posted by Satish Talim

Follow me on Twitter to communicate and stay connected

{ 3 trackbacks }

Carlan+Calazans » Blog Archive » Ruby Learning novos cursos
11.18.08 at 6:56 am
Introduction to Merb: A New Course | RubyLearning Blog
12.06.08 at 7:58 am
Matt Aimonetti: Why on earth would you ignore Merb? | RubyLearning Blog
12.18.08 at 6:45 pm

{ 61 comments… read them below or add one }

1 V. Goff 11.15.08 at 11:11 am

This is an excellent idea! I have chosen two of the 6 that I feel most strongly about. I realize that each has its place.

Thanks, Satish!

2 takaaki 11.15.08 at 11:35 am

There are many people who can’t write test code. People are trying, but it’s hard. Especially for those who don’t have experience with Java and C#, it seems quite difficult to understand. Most of the books on testing are using Java and C#. This holds true with books on advanced topics such as design patterns and refactoring (though we have one “Design Patterns” book and an upcoming refactoring book).

Lack of resources is one reason. PeepCode episode on testing is rather obsolete as I understand RSpec episodes are still applicable to current Rails situations. The very first episode on testing is using a very old version of Rails and some test methods are already deprecated. “The Rails Way 2nd edition” spares a lot of pages on testing both (Test::Unit and RSpec). But it’s not a step-by-step tutorial which beginners can follow. “Programming Ruby” has a chapter on testing. But it is also like a reference.

Confusion among learners. The Rails definitions on unit and functional are not strictly correct. What’s the difference between TDD and BDD? A good TDD is BDD? What’s the difference between mocking and stubbing? So is mocking in Rails actually stubbing? What’s testing in Ruby itself? How does Rails expend the idea? All the questions are puzzling to users.

I think understanding the very basic concepts on testing and xDD with bare Ruby (i.e., not with Rails or RSpec) gives a great start for programmers. Once people understand some concepts and Test::Unit, it will not be very difficult to start learning other tools like RSpec.

I hope that RubyLearning will fill the gap and help Ruby programmers.

3 ed 11.15.08 at 12:32 pm

What takaaki said and a +1 for shoes

4 George Thompson 11.15.08 at 12:38 pm

As long as time allows I’m interested in just about any thing related to Ruby. I’m very interested in TDD and Merb.

TDD because it’s important yet seems to be just out of the reach of people starting Ruby/Rails development.

Merb is an important piece of Ruby’s future for web development.

5 Satish Talim 11.15.08 at 12:44 pm

Ed we already have an existing course “Ruby and Shoes“.

6 softmind 11.15.08 at 12:55 pm

Hi,

It would nice if you can consider offering tutorials on ” Merb ” from scratch.

Merb will turn out to be a fastest moving and growing framework very soon.

Since there is not enough documentation available for Merb, this tutorial is right in time, when someone has to start.

Thanks

7 Gaveen 11.15.08 at 1:08 pm

I’ve yet to start TDD/BDD as a practice. I know I should. :) So if I’d enrol that’s what I’d go for.

It’s been great if RSpec was there too. But anyway, interested in Test::Unit too. It’s been seeing some attention again lately.

8 takaaki 11.15.08 at 1:29 pm

Gaveen: The reason why RSpec is not introduced here is that this course will have too many contents. If we make the testing course successful, I would love to see the next testing course that covers RSpec. Understanding Test::Unit will give you a better start for learning RSpec, in my view. There are a lot of online resources available for RSpec, but some of them assume that readers have knowledge and skills of Test::Unit.

9 William Nelson 11.15.08 at 2:26 pm

Use it or lose it. I think all these course offerings are excellent. The more ways you can learn how to incorporate,test, interface, connect, and manifest Ruby the better.

10 Nabin 11.15.08 at 3:04 pm

I have choosen 2, of the six, which i would like to continue, Ruby Testing, Ruby GUI with Shoes. I fully agree with takaaki that “I think understanding the very basic concepts on testing and xDD with bare Ruby (i.e., not with Rails or RSpec) gives a great start for programmers. Once people understand some concepts and Test::Unit, it will not be very difficult to start learning other tools like RSpec.”.

One more thing of my self interest. How about network/socket programming in Ruby. Is there any possibility to include this topic. Hope to see some one interested!!!

11 Satish Talim 11.15.08 at 3:26 pm

Nabin we have a Network/Socket programming in Ruby course ready. Not sure what the response to this course would be though.

12 Raecoo 11.15.08 at 3:32 pm

I would like to see more information on the TDD and Merb courses

13 Manjoor Abdulla 11.15.08 at 3:41 pm

I chose ruby and sqlite3. I feel for hobbyist noobs like me, I should learn the basics very well to have a good foundation for further additiional and advanced learning. I would have also chosen Ruby GUI as a second choice as I feel it is important to learn GUI for bringing user friendly experience to the programs.

14 Manik 11.15.08 at 4:28 pm

I choose Ruby Testing and TDD. I have a certain affinity towards testing.
If I had another choice, I would have chose Merb.

15 takaaki 11.15.08 at 4:51 pm

Regarding the Testing course, we plan to introduce the concepts on testing first. Understanding why we need to write test code and having a common ground on some of the terminologies are important. Different levels of testing: unit testing, functional testing, integration testing and so on. The concepts of TDD and BDD and how they relate to each other are important. After sharing the knowledge, we can move to actually writing test code using Test::Unit. Familiarizing yourself with Test::Unit is vital. We will also introduce other useful tools for testing such as ZenTest, spec/unit, test/spec, rubydoctest, flog, reek, heckle and flay. We are not sure if we can introduce mocking and stubbing. So most likely there will be no mocha or FlexMock.

We are currently thinking about a 2 or 3-week course. The biggest goal is a) to break your mental block about testing, b) to understand why xDD is encouraged and c) to be used to writing test with Test::Unit and d) get to know other tools to help testing.

We expect participants to have a good discussion on the concepts. As is true with the Ruby Core course, the discussion is a crucial aspect. We don’t give material for you to memorize. Instead we provide materials and discussion questions to make you think and discuss with the other students.

This is just what we have in mind right now. If we think there’s not enough time to discuss every tool we want to introduce, we will reserve the tools for a more advanced course. With these reasons, we think we don’t have time to introduce RSpec for this course. But it’s not that we hate RSpec. RubyLearning already introduced RSpec in one of the intermediate courses.

16 Abhishek P Shukla 11.15.08 at 4:52 pm

Well I am excited more about TDD, but yes even Git is an interesting topic.

17 José Carlos Monteiro 11.15.08 at 5:04 pm

Tough question. If I was to choose only two, then it would be TDD/BDD and JRuby. But that’s because I’m more concerned on having Ruby in enterprise environments, then on online applications (Rails/Merb) or in personal projects. Ruby has severe caveats and pitfalls for Enterprise acceptance, in my opinion: Unicode, Threads, Database support …

TDD/BDD is a must, in any language. After one learns more and more about those methodologies one wonders why one didn’t learn it before. Same goes for Version Control. How can one code and maintain that code without the “umbrella” of version control? For this, Subversion/Git/Mercurial/darcs/you_name_it are always a plus. One just has to learn about the system and use it.

Last one, but not least, are the GUI and Database courses. These will probably, like Shoes is doing now - in my opinion - for Ruby, will be the “entrance” into everyone’s desktop. First get the desktop, then move onto the enterprise servers. But it’s tricky. GUI concepts are very hard and so are all the issues around coding with non-objected-oriented relational databases - to ORM or not to ORM, that’s the main question.

So, I’d pick each and everyone… although currently I’m not all that interested in Rails or Merb courses. :)

18 Vinicius 11.15.08 at 5:10 pm

I think, as many people have said, that TDD/BDD is essential, and, although I’m used to do it with Java, I’m not familiar with TDD on ruby, so I think that’s very important.
On the other side, I think Git is a very powerful VCS and it’s getting very popular and it is very compatible with Agile methodologies, so I think that would be very interesting.
Also, congratulations for the great work on rubylearning. This is just awesome :)

19 Alexis 11.15.08 at 5:18 pm

Hi Satish
Coming from a non OO PHP background and with 5 months of intensive ruby / rails development, I have most trouble with the OO aspects of ruby. I really need to learn how to have small controllers / fat models and some kind of basic design patterns training. Got the books but I find very difficult to apply the concepts to my application.
Thanks

20 Pratik 11.15.08 at 5:21 pm

Merb is pretty much a Rails clone for most of the part. Why waste all your time to teach something that’s already easy to learn if you know Rails ?

I vote for Ruby GUI. Shooes ! And also Test::Unit. Testing is 100 times more important than the framework you select.

21 koko 11.15.08 at 6:02 pm

I wish more (Basic)Learning programming with Ruby and solid fundamental to learn OOP.
regards
koko

22 takaaki 11.15.08 at 6:17 pm

koko There’s a Ruby Core course that offers Ruby and OOP. Check http://rubylearning.org/

23 Satish Talim 11.15.08 at 6:19 pm

koko we have been running, since 2006, a free online two month course on basic Ruby. The next batch (FORPC101-9C)is scheduled from 6th Dec. 2008. This covers what you mention.

24 Roy Stannard 11.15.08 at 8:02 pm

I’m rather interested to learn about merb. I’m currently well into Rails but a new perspective is no disadvantage. Similarly, i’m happy with mySQL. In fact, I’ve configured my version of Rails 2 to use mySQL rather than SQlite 3 on the grounds of my familiarity with mySQL but again, I’d like to have a look at SQlite.
I know little about testing so some exposure there would be OK.

25 Roy Stannard 11.15.08 at 8:04 pm

BTW i like the nifty avatars - the line drawing ones, are they available anywhere?

26 Rodrigo Rosenfeld Rosas 11.15.08 at 8:14 pm

For Desktop development, I think you should concentrate efforts in Shoes instead of fxRuby or wxRuby, for instance. I’d love to take the Shoes course but I don’t have a Paypal account nor a credit card. It would be much better if I could do a deposit in a Brazilian Bank such as Caixa Econômica or Banco do Brasil.

27 Rodolinux 11.15.08 at 8:15 pm

I think that Git usage is an interesting topic. One question exists something similar to Trac in Ruby? It would be nice to use.
Greets

28 Herminio Torres 11.15.08 at 8:25 pm

Hi, Courses of TDD and BDD and git with Ruby is very important because it not a good portion of people use SVN and CVS. And tests TDD and BDD is very important, since it has almost no equipment and almost never discusses these issues …

29 Radomir 11.15.08 at 8:53 pm

Did you consider using wxruby for GUI development? I like wxWidgets and their portability, and there are a lot of widgets to use. All you need for that is a wxruby gem…

30 Letícia Figueira 11.16.08 at 1:19 am

I borrow Herminio Torres’ words about testing and TDD.

I don’t need to say I’m a fan of Shoes, so I voted it too.

I also think Merb is an important plot, but, if we’re going to start a framework-based course, then I think we should start with Rails.

31 Luke Pearce 11.16.08 at 1:20 am

My votes for some good guides to TDD. I’d love to see some tutorials that create a simple blog or shop site but are written with the test first philosophy.

32 Gaveen 11.16.08 at 1:27 am

@Rodolinux: This is off topic, but since you asked,

You can use Trac with Git. There’s at least one Git plugin for Trac and I’ve seen it been used by several FOSS projects. And my personal experience with it is also good.

However, I tend to much prefer Redmine for this kind of purpose plus more. And better, it’s written with Rails.

33 Bruce 11.16.08 at 1:42 am

It seems like many are like me, interested mostly in TDD and GUI.

I’m an old school programmer, working on a project where TDD is supposed to be used. It’s been explained to me, but I’ve never had any formal TDD training. I find it difficult to change my ways after so many years. I know it’s just a matter of study and practice, study and practice, etc …

And, I know that knowing a GUI package would greatly enhance some of my Ruby programs.

So, these two got my votes. :)

34 takaaki 11.16.08 at 6:32 am

Luke: Even if we plan a course on testing, we don’t include Rails or Merb. So making a blog or shop web app will not be included in the course.

35 Satish Talim 11.16.08 at 9:24 am

Raecoo: Matt Aimonetti (Merb Core Developer) and Yehuda Katz (Merb Maintainer) have suggested the Introductory Merb course contents with inputs from Foy Savas (Author, The Merb Way).

36 Nikhil 11.16.08 at 12:26 pm

I would like to go for Ruby & SQLite3 database
& Ruby Testing and TDD for testing…

37 Bhushan Ahire 11.16.08 at 3:39 pm

Hi All, Its better to have the Test cases details. Like if you have test cases for your code then its very good and you can cover all conditions for testing if tester miss it.

Also Merb is having lots of similar functionalities of Rails, I dont think its better than Rails, except some spacial features.

I like to go for Ruby GUI and TDD

Thanks

38 Willian Molinari 11.16.08 at 6:39 pm

Æ!!

I’m voting for a TDD course, because i’m not familiarized with programming with tests, and i’m learning it now, so, a course will help me so much on it!

Git and GitHub is a good choice too! GitHub makes my code easier to be shared! =)

Cheers,

Willian Molinari

39 Amanda 11.17.08 at 1:55 am

It says “Randomly selected three respondents would be entitled to a free course at RubyLearning, of their choice.” - but I presume that’s not the poll, but the comments? Otherwise how would you know how to contact random poll repliers? :)

I would particularly be interesting in testing as it applies to Rails - I can grasp the concept of testing a general class fairly easily (although a course on the specific syntax etc of Test::Unit would be nice) - but the bigger problem I have is testing controllers, and also deciding what to test and how to do it (testing ‘everything’ is a nice short answer, but not really that helpful! ;) )

Anyway, I’m sure anything would be interesting. More Ruby knowledge in the world is always good. :)

40 Lucas Zawacki 11.17.08 at 4:26 am

I’m really interested, like many others, in testing and GUI. I’ve been programming in Ruby and reading blogs about it for some months now, and a recurring topic is how testing is important so I think this course is a must have. Also I’m trying to learn Rails + Databases on my own, so I think the Ruby + SQLite3 course is very interesting. And that’s why these three got my votes.

41 Satish Talim 11.17.08 at 6:43 am

Amanda you are right about “but I presume that’s not the poll, but the comments” - I shall correct it now.

42 ndogbosok 11.17.08 at 9:02 am

start learning from what i like much :)

43 Raghavendra Kamat 11.17.08 at 9:44 am

I primarily keep intrest in working in rails.But learning Jruby and Merb will add some added advantages for my technical background..!….so I have voted for the same…!…..

44 Ajay Arsud 11.17.08 at 10:41 am

vote for Ruby GUI and TDD :This section provides the sequence of steps to create a Ruby GUI ….!!!
I would love to learn this more…..!!!

45 Palash 11.17.08 at 12:05 pm

Really it’s pe a tough question.
I am voting GUI because I like that section of work…….since I am working in rails I would like merb also, It is also a very good framework of ruby,,,and sqlite is necesaary for every work

46 Michael Uplawski 11.17.08 at 3:26 pm

I want to be a software lumberjack. So I am all for Sockets and all things dry and ‘basic’. In fact, the continuing Web-Application Hype will obstruct people’s view on the infinite range of tasks, the language can cope with. So I try to rather avoid that area completely.

47 Phan Thanh Ha 11.17.08 at 4:14 pm

I am interested in ruby GUI-shoes
it’s good foe everyone

48 Luis Correia 11.17.08 at 4:54 pm

I’d go for the TDD (very important… and in the long run results in a very productive workflow… write code THAT WORKS).. even conceptually I’m totally for the TDD.

GUIs are in my newbie opinion what’s lacking in ruby to make it more appealing in terms of integration/interaction with the user.

Database integration is quintessential for any application (IMO) so its a must, namley to use with active record and the Rails framework where you can work the DB itself from scratch using the migrate and activerecord

Jruby is quite essential for anyone trying to bridge JavaScript and ruby altogether…

Sorry for the short post… and possibly for some false assumptions..

49 Michael Uplawski 11.17.08 at 7:11 pm

@Luis: Just a correction: JRuby is the bridge btw. Java and Ruby.

50 p-daddy 11.17.08 at 7:31 pm

TDD is important the same way that eating your vegetables is important–it’s something I should do more of.

But I think a course in TDD would be helpful in learning various concepts along with tricks of the trade.

glad to see it’s #1 in the poll so far.

51 G. Kopel 11.17.08 at 7:42 pm

Hi,

I’d go for Git and GitHub as well as Testing/TDD courses mainly because they are strongly related with Rails framework and this is what I plan to explore a lot.

Gregory.

52 Daniel Kotowski 11.17.08 at 9:34 pm

I’d like to participate above all in two of six courses: JRuby and TDD.

I’ve chosen JRuby because nowadays Java language is considered as really common language. By joining Ruby and Java we are armed with the most powerful tool to develop any kind of application in flexible way.

I’ve also chosen Ruby testing with TDD coz this is the most useful way to developing applications. This kind of coding provides that resultant applications are created with limited amount of bugs. It also help with stretching them with little effort. Our applications are scalable and expandable.

regards
DK

53 Bill Froelich 11.17.08 at 10:40 pm

I think the Testing /TDD course would be the most beneficial. Too many programmers don’t write tests at all or if they do it is always an afterthought. Those same programmers are the ones who typically have the most bugs in their code as well. Can’t say for sure there is a correlation but more tests is never a bad thing if they can be run automated.

54 Atif 11.18.08 at 3:29 am

I like ‘em all but my first choice would be testing and test-driven development. I would like to follow a structured approach towards learning software development with Ruby. I am not sure if this is already in place, but it would be nice to see a planned program of courses to take. Kind of like what you see on Sun and Microsoft websites for their certification processes.

55 Jason Neely 11.18.08 at 4:20 am

This may sound overly basic and mundane, but I’d like to see a primer on how to grok the API docs.

For example, I installed the rails gem ar_mailer, which spools outgoing email into a table named ‘Email’. But my app already had a table named Email. The ar_mailer API has a solution for that:

Public Class methods

email_class=(klass)
Sets the email class for deliveries.

Some web scouring yields this nugget about email_class:

# File lib/action_mailer/ar_mailer.rb, line 75

def self.email_class
@@email_class
end

Which is nothing more than the source code for @@email_class. That’s all fine and well, but how does that show me where to set @@email_class in my application? As it turns out, the way to do it is to add a line to config/environment.rb

ActionMailer::ARMailer.email_class = NewEmailClassName

Even knowing the API and the solution, I still can’t work backwards to see how one gets from A to B. How does the API point me to setting the new class in environment.rb? Granted this is a rails specific question, but I think it applies to a lot of the docs.

56 Carlan Calazans 11.18.08 at 6:17 am

Ruby Testing and TDD (59%, 220 Votes) until now, did not suprised me, but Ruby Gui at 2nd place? Come on! There is a lot a books/tutorials about this and i do not have to mention the fxruby introduction on POIRPWDC101-1I. BTW, if you understood the concepts about fxruby, it is a big step to GTK.

I am really curious about Merb :)

57 Rimpy 11.19.08 at 5:38 am

Hi,
I voted for Ruby and Testing. Well i went thourgh the basic cource offering by rubylearning.com. But couldn’t continue my practice on ruby because of work load. I want to go for next coming batch for basic ruby.
Thanks to satish for this excellent ruby learning source.

58 Marcos Ricardo 11.19.08 at 5:00 pm

Hi Folks,

I have voted for GUI, Merb and Git / GitHub.

The one I voted and would like to justify:

“GUI” - Shoes is Cool, but we need to run our programs FROM it, and that is not an option for me.

The ones I don’t and would like to justify:

“SQLite” - I don’t think we need a course here, may be an extra lesson on the core Ruby course.

“Testing and TDD” - I think we must focus on applying BDD with Cucumber and implement tests with RSpec.

Regards.

59 Bharath 11.20.08 at 10:31 am

I want to thank Mr. Satish Talim for this nice site on Ruby.
I like all the options but to be specific I want to learn Merb, RUBY Testing. My main intention is to become an expert in RUBY.I hope i will get consistent support from Satish Talim & his Group in fulfilling my intention.

Bharath

60 Matheus Zingarelli 11.20.08 at 7:22 pm

I see testing has already been a big issue in big companies and I really think this is very important in any programming course.

61 Rhyhann 12.02.08 at 1:07 pm

I personally think that version control with Git (including community forks and so) are very important, because it’s the only way to master the code.
Merb should also be taken, because no framework fits all of your needs, and Rails is a framework.
Gui is also good, because although we spend a lot of time in the Internet, we have some other programs in our computer, and then other things to develop. I prefer Shoes, because it’s lightweight and more beautiful than FXRuby, and it also integrates with Merb.
Ruby & SQLite is not very important, because ORMs do that, and TDD is slowly being replaced by BDD.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post: Little Known Ways to Ruby Mastery by Jonathan Conway

Next post: Little Known Ways to Ruby Mastery by Ian Dees