Too Cool for Internet Explorer

Monday, December 31, 2007

Ruby x COBOL, the final... combat ?

Again and again. Recently this InfoWorld article, sparks some Ruby x Java flames again.

I try to find some references about the author, but now I realize: it don’t matter, I think there is a pattern. People simply HAVE to write something. And they really do…

Regards the article's title, it again put RoR x Java, trying to convince us that: first COBOL is dead. It is ? It really is ? Java / J2EE, DB2, COBOL CICS integration is the recursive task that I work TODAY. And Second RoR is forcing Java programmers to invest in new skills. What I can say about that ? at least ridiculous ?

On the first paragraph we have this pearl: “Java is losing ground to Ruby on Rails, PHP, AJAX and other cool new languages”.

New languages ? Ruby is a language, RoR is not, and if we consider the first public release date, Ruby, PHP AJAX (read, JavaScript + XML) and Java it self are ALL born in 1995.

Next, another good one “Simply put, developers are saying that Java slows them down”.

Hehey… with these new “auto everything, super smart” IDEs, there is no excuses like “that language slows me down”. That is the crucial point. So many people are confusing and mixing languages with platforms and / or frameworks (may be Sun is partial guilt to don't clearly put the language and platform apart, commercial interests ?).

I really don’t waste my time comparing languages performance, and that is the point where I really agree with Matz: “machines are not important, people are important”. So, the language you choose must be the one that gives you more fun. OK, there are some practical issues that must be considered, but that is the spirit.

You run a performance test, You have a point. The same program runs faster on one language then the other, but witch language will give you the best software ? It will be the one which your programming team feels better.

And what is really slowing us down ? I think, the platform is guilt, it is really a mess trying to configure ALL the “possibilities”, because we can do anything anywhere "Write once, run anywhere" remember ? We just have to “configure”, or in other words, tie those “compatible” pieces together.

There is a Java vs Ruby (Gregg Pollack and Jason Seifer) video that illustrates this situation, if you don't know, take a look. In fact, these videos are becoming a hype on RoR community.

Now the best: “CEOs of Twiki.net, and Sendori states that Java platform (J2EE in this case) is becoming more and more complicated … and RoR on a shopping cart for an e-commerce site...” is the heaven ? Dahaha. Just a simple matter of “convention over configuration” baby.

And it continues… “Another area of (Java) weakness is the development of mobile applications …and no wonder Google is creating its own version (Android)”

And what is this Android ? "Android as it is currently defined is a fork of the Java ME, it is similar to the Java ME, but it's a (open source), non-conformant implementation, In fact, it's not really Java".

The real problem here is the fact that JavaME is a proprietary copyrighted solution. This new open source platform is a mutch better aproach. Android supports Java (the language) now, but could support Ruby in a near future. And again, we are talking about platforms, not languages.

And the grand finale "developers and analysts agree that Java is alive and well for internally developed enterprise apps. On the back end, there is still a substantial amount of infrastructure available that makes Java a very strong contender, says Zephyr's Shah. (CEO of software testing provider Zephyr)". Haha, another CEO "de facto" statement…

Gonna have to really disagree, I'm experiencing J2EE slowing me down every major change or upgrade needed by the application. A recent practical example:. this new resource adaptor was needed by a recent implemented Java / J2EE application. We spent two weeks to the support team install and configure it, two weeks for "configurations" and tests with a sample application and just two days to change and test the application. Who is the guilt? Java language? I don't think so.

Let's try another formula ? May be COBOL vs Ruby !

On the blue corner we have: the first, the oooonly and all procedural oriented: COOOOOBOOOL.

On the red corner we have: the neeeew, the funniest and totally object oriented: RUUUUUUBYYYY.

Sorry. I feel it will never ends…

Saturday, December 22, 2007

Ruby Christmas and New Year best wishes

From: Me

To: You

Cc: All

We can find hope on unexpected places…

We just need to want to.

And here is my last code of the year:

Sunday, December 16, 2007

Rails, Rails and my Ruby weekend after

Rio on Rails is over, but was a great event.

Yeah, that was a good one. Well organized, all presentations on time, a participative audience. A great event, on all aspects.

Congratulations to everyone involved.


And Fabio Akita’s “The First Rails 2.0 Screen Cast” is making waves on the net.

Rio on Rails 2008. I want to be there !

Yesterday, another event “Rails for Kids”:

A charity Rails presentations marathon, we could follow at home with “TreinaTOM” web interface.

That was amazing!

I count 50-60 average audience following it along the day (almost from Brazil, but at least two from US).

And those presentations confirm my “Rio on Rails” feedback: I need to open my mind to some practices I don’t used to be familiar with.

Followed Google with just a few points:

  • Test Driven Development or Behavior Driven Development (the newest euphemism) with Ruby.
  • Domain Specific Languages and how to use .
  • Agile Development Techniques.

Thanks to: Danilo Sato, Ronaldo Ferraz and Vinicius M Teles / Marcos Tapajos, respectively to open my mind on that subjects.

Those last events are all about Rails, but I will not start with Rails yet.

So I have to find a way to practice the first two items with Ruby only.

About Unit Testing with Ruby, I started With Satish Talin.

By the way, on my research about TDD and DSL, I find a useful place to MetaProgramming, and keeping me DRY on “Ruby thinking way”.

OK, OK, I have to start with Rails ASAP...

That is Cool!

Sunday, December 9, 2007

My personal Ruby project

After working with java for a while, a problem came up to me.

Here at work we have an architecture checklist for all pre-production applications.

My recurrent problem is: lack of more descriptive comments on Javadoc for generated getters and setters on Database field’s value objects.

Unfortunately we access DB directly here no Hibernate, just some regular SQL on DAO, and associated VOs.

Here is an actual VO sample:

/**

* @return the cdNAT

*/

public java.math.BigDecimal getCdNAT() {

return cdNAT;

}

/**

* @return the cdSUCDESTPAG

*/

public java.math.BigDecimal getCdSUCDESTPAG() {

return cdSUCDESTPAG;

}

And here is a desired one:

/**

* @return the event’s nature from the payed indemnizations

*/

public java.math.BigDecimal getCdNAT() {

return cdNAT;

}

/**

* @return the office’s code from the payed indemnizations

*/

public java.math.BigDecimal getCdSUCDESTPAG() {

return cdSUCDESTPAG;

}

We have comments on all tables (and columns), on data base.

So my project is: create a Ruby application that will gather comments from database, join the terms: “return the” with the column comment and “from the” with the table comment, and create a really descriptive comment on Java source.

On the first version, will have to pass the java file and the table name.

On further versions, will try to do a deep analysis on corresponding DAO class, taking all table names, locating the child VOs and do the work there.

Current status:

  • I have all the SQL needed to the job tested using tiny Ruby programs;
  • I’m studying “active records” to use it on my Ruby programs;
  • Made some practical tests, and experiences to select a Ruby GUI, to get it done.

The future:

  • Extend this functionality to Ruby / Rails.
  • Try an open source project on that subject, or include this functionality on an open source project that already exists.
Any Help, suggestion, tip or reference Welcome

Sunday, December 2, 2007

Rails, a lightweight and unobtrusive framework


May Rails be the first “love at never sight” case in history?

That is true, I never sight Rails deeply before, just some articles and podcasts now and then.

But there is a good conductor on it.


Like Ruby, one thing that really catches me up. PRINCIPLES!

A basic one is the “convention over configuration”.

The way I get to Java / J2EE world is a bit weird.

I came into that to keep myself on IT market, but that assort of configuration work needed to accomplish a Java application, bothers me a lot.

Another one is the “non Switzerland approach”.

That is: not to stand neutral about something, just make a decision (a good one) about anything involved on a web application.

We know that we have to use “active record” when dealing with databases, and now with Rails 2.0, we know will use REST pattern to tie the application pieces all around.

That is cool, since I will not be dealing with configurations and decisions that have nothing to do with a developer principal concern: the application itself.

More details? You can find here, where David Heinemeier Hansson, explains why Rails 2.0 isn't going to be a unicorn.


Friday, November 30, 2007

Ruby, modulus operator and POLS


Since I started my Ruby learning process, one of the most basic and important things I consider, is the POLS (Principle of the Least Surprise).

This week, a new question about “string pattern formatting”, came up on the forum.

Considering this code:

'%0.2f' % ((f.to_f - 32) / 9 * 5)

Which is the meaning of the second “%” ?

After some research, I found two options on that “formatting” subject.

  1. You can format your data immediately, using the printf method.

f = -123.12345

puts sprintf('%0.3f', f)

  1. You can create a template, and interpolate data with it later.

template = '%s, has always been in %s with %s.'

puts template % ['Oceania', 'war', 'Eurasia']

puts template % ['Luke Skywalker', 'love', 'Leia Organa']

OK, there is a nice functionality, but about POLS ?

For sure I have little experience with Ruby, but the fact, you can use the modulus operator over strings, really surprises-me.

I deal with a great assort of programming languages over 2 decades now, and never ever, applied the modulus operator over strings.

Think about this code:

puts 'abc' % 'def' # <= 'abc'

puts 'abc' % 10 # <= 'abc'

And there is another point. Negative numbers:

Witch should be the -5 % 3 result ? 2 ? -2 ?

In fact in Ruby, -5 % 3 = 1

Why ?

Some programming languages adopt the C89 standard about that subject. That is the way Ruby does:

remainder = a % n

is the same of:

remainder = a - n * floor_funtion(a / n)

where floor_function from a decimal value, returns the highest integer, less than or equal to it.

So, in Ruby this is the formula for modulus remainder result:

r = ((a) - ((n) * ((a) / (n))))

* Extra parenthesis, to put negative values easily and clear.

Ahh, take a look at those SuperRubyBoy's operators !

Sunday, November 25, 2007

Ruby, double colon !


May someone call the right phrase: “Ruby period!”

I spent at least two weeks to understand this :: operator. But why ?

If you, have no C++ or C# strong background like me, certainly the :: operator will cost you more time to learn.

First of all :: appears all around Ruby programs, and this could be a little tricky…

You have to consider just one thing:

The :: is a unary operator that allows: constants, instance methods and class methods defined within a class or module, to be accessed from anywhere outside the class or module.

Remember: in Ruby, classes and methods may be considered constants too.

You need just to prefix the ::Const_name with an expression that returns the appropriate class or module object.

If no prefix expression is used, the main Object class is used by default.

So, the operator syntax is:

ClassModule::Constant

You can see samples here.

Hope it helps You not to waste time on this subject.

Friday, November 23, 2007

Rails for Kids in Brazil

Hi there, you all speaking Portuguese around the world. Razz

There is a chance to see most of Brazil recent Rails events presentations from your home, and help some people at the same time Exclamation

Rails for Kids, is an online presentations marathon, where all the income goes to help an special kids charity institution in MS - Brazil. Cool

You can subscribe until december, 14.

Don't miss this chance.

Take a look here:

http://www.egenial.com.br/railsforkids

_________________________________________________


Olá, todos vocês falando Português ao redor do mundo.

Existe uma chance de ver a maioria das apresentações dos mais recentes eventos de Rails no Brasil, de sua casa, e ao mesmo tempo ajudar algumas pessoas.

O "Rails for Kids", é uma maratona de apresentações online, onde toda a receita, vai para uma instituição de caridade que cuida de crianças com necessidades especiais no MS.

Você pode se inscrever até 14 de dezembro.

Não perca esta chance !

Veja aqui:

http://www.egenial.com.br/railsforkids

Tuesday, November 20, 2007

Multiple inheritance, mixins and blog resources.

Last week, I was dealing with the use of “mixins” and its impact on method overwriting and overloading.

Some research after, could summarize on this:

  1. Multiple inheritance IS NOT supported in Ruby.
  2. Ruby supports SINGLE inheritance AND “mixins”.
  3. IF you know how (that is the question) "mixins could do almost everything multiple inheritance do, without the associated drawbacks" (Matz words).
  4. Overriding or overwriting methods, for programming purposes, means the same: Change or redefine a method that already exists in the given context.
  5. In Ruby classes are always open so, methods may be added or changed.
  6. Overloading comes from languages other than Ruby. Where you can define methods with the same name but with different argument types and quantities (signatures).
  7. Ruby is an all OOP language, for example the "+" operator is a method of the "Object" class.
  8. If you overwrite a mixed-in "+" method, you could use such modified/overwritten method on the main-object (Object class).
  9. Remember: everything in Ruby is an object.

At that point, the next step was show some code examples about that, but there is a problem. It’s not easy to put code (on a presentable way) on blogs.

On most popular blogs, there are some kinds of work to do before you can put your code there.

So, I decide not to waste time on that subject, and will select a more specialized resource to put my code and reference it here.

Suggestions welcome!

Sunday, November 18, 2007

Brazil is definitely going into Rails

Now there is no other way to go, in less then a month the three bigger cities here, will have a regional Rails event.

  1. This weekend we had RejectConf SP’07 at São Paulo.
  2. December first we will have Minas on Rails 07 at Belo Horizonte.
  3. December eight we will have Rio on Rails 2007.

Three regional events in a row!

Ruby on Rails is growing fast here.

About São Paulo and Rio events I have posted already, and you can review those.

Thanks to %w(Akita on Rails) * 2.0, we have a “day after report” in english.

Now is time to post about the Belo Horizonte event.

You can find the official site on the logo below.



Saturday, November 17, 2007

Ruby and Rails Doc that really works.

I really like this guy work at Noobkit.

If you are a Ruby newbie like me, spent some time trying to use the “official” Ruby.doc page, and find it a bit confusing and hard to deal with, I definitely agree.

So, stop suffering, and try this one.

Noobkit

I think it is a nice work and strongly encourage you to use and SUPPORT it.

Sunday, November 11, 2007

Ruby book for non-programmers


If you are not a programmer, and like to learn Ruby, I recommend Chris Pine's "Learn to Program" book.

It is a simple, concise and precise peace. With 156 pages, it is easy to read. Full of examples and "Things to Try".




Here is a summary:

After an introduction to programming, and some install tips on the first Chapter, it goes on with:

2 Numbers

3 Letters

4 Variables and Assignment

5 Mixing It Up

6 More about Methods

7 Flow Control

8 Arrays and Iterators

9 Writing Your Own Methods

On chapter 10 it goes beyond, in recursion and sorting, and keep on track with:

11 Reading and Writing, Saving and Loading, Yin and Something Else.

12 New Classes of Objects

13 Creating New Classes, Changing Existing Ones

14 Blocks and Procs

On the final chapter it recommends further reading, introduce the use of irb and some useful thoughts.

I think it is a really good source for non-programmers.

Thursday, November 8, 2007

Rio on Rails 2007

A new site for the first regional Rails event in Rio !

Just click the logo.

Sunday, November 4, 2007

Ruby, a programming language that don’t hurt

Thanks to Thiago Arrais and his original post about the fact that “your brain hurts when you try to learn a different thinking line”.

Most of my professional experience, more then two decades now, I deal with procedural or event driven programming languages, Structured Systems Analysis, etc.

There are the 80s and 90s… Good years, when I start to hear and read about OOP.

When 2K years came, I could't avoid OOP anymore, and my brain starts to hurt. I started with Smalltalk (big mistake), new thinking line and totally different language syntax. My brain was in constant pain.

At that point I get the OOP basic concepts, but practices those concepts with that language was not easy to me.

After that, I try Java by myself. And achieve some steps further in OOP, but need BlueJ (hiding some language specific aspects) in the beginning, to do that.

Now I’m not a newbie in OOP and programming logic, but I think if I have Ruby on the first 2K years, my brain doesn’t hurt so much.

I don’t necessary agree with Alan J. Perlis’s 19th epigram “A language that doesn't affect the way you think about programming, is not worth knowing”. For the record, I'm a big fan of the ALGOL language. It definitively affects the way I think.

But if you have to learn one, that really affects the way you think, it could be done without any hurt.

With Ruby, all the OOP concepts can be used on a very intuitive away (my viewpoint).

On my first steps using Ruby, two months by now, I have tried a lot. And most of the time I hit on the first shot.


Friday, November 2, 2007

New logo or old logo, that is my question

Finally, my Ruby language presentation is almost finished.

I used some "old Ruby language logo" images there.

Now a new Ruby language logo came up.

My first thought is to keep the old one, but will have to consider the "official logo", regardless of my opinion about it.

I will try to polling around about that, to take a decision.

Monday, October 29, 2007

New Ruby language logo on the block

I'm NOT proud to annouce: the new Ruby language logo contest has a winner.

Here it is:Now, for sure, I will stay with the old one:


Or a variant:

I really don't get the point.

There is an ugliest, washed out, with three different font styles version, of the old logo ?!?!

Sunday, October 28, 2007

Rails regional events in Brazil

Two of the most important cities here will have Regional Rails events.

First: RejectConf SP’07 ( november 17 ) at São Paulo.

Second: Rio on Rails ( december 8 ) at Rio de Janeiro.

Informations in portuguese only.

But here are the logos:


Saturday, October 20, 2007

Takahashi method

It has to be mentioned...

Very important on my presentations assembly method is the "Takahashi method".

When I go from the Storyboard to presentation software, I use his method to represent each idea, in just one word.

Then on the next steps I develop all the necessary text / images and other slides, to express the idea behind that word.

It is a fundamental tool on the process.

You can find more about the "Takahashi method" here .

Thanks to Masayoshi Takahashi.

Monday, October 15, 2007

Presentation recipe 2nd release

The Ruby presentation work keeps going.

And I change “my modern presentation recipe” a bit.

No more slides quantity pattern, but ideas pattern.

For example, I keep the Acts concept, and distribute some slides on those Acts.

I think it is not the way (at least for me) anymore.

OK, we have to impose some kind of limit there, or we can face a two or more hour presentation, and we know that is not good.

But if we state 10 slides on that Act, 5 on that one, there is an unfair rule.

Some people speak 30 minutes with 10 slides, some less then 10 minutes with the same 10 slides.

So I think the idea pattern is a better choice.

You will have a 30 to 45 minutes presentation (I think it is a good average).

You follow my recipe, you have a 5 Acts pattern.

You have to express the whole thing in the first five minutes of your presentation.
So I suggest 5 topics (IDEAS) here (1rst Act).

Next you have 3 slots (7 to 10 minutes each) to develop your story.
Here, I suggest 7 to 10 topics (IDEAS) on each of those Acts (2nd, 3rd and 4th)

At the end you have another five minutes slot to finish the presentation, and once more I suggest a 5 topics (IDEAS) here (5th Act)

That is it ! You have a 30 to 45 minutes Hollywood style presentation.

No matter how many slides you use.

The point is: how many ideas per time slot (Act) you will show.

Sunday, October 7, 2007

My Ruby presentation on the road

Hard work, on my Ruby language presentation, last weeks.

First of all, I defined “my actual recipe” to modern presentations.

It is something like using Syd Fields’s 4 acts format and a simplified composition, of Joseph Campbell’s (The hero with a thousand faces), ideas.

Hugh research, lots of sites, documents and videos after, I have a 5 Acts template to my presentation, thanks to Christopher Vogler (The Writer's Journey), proposals.

I think it will be useful to someone else in the future.

With the template done, I fill it with the Ruby language data (that is called “data dump phase”), and after that, start to adapt my presentation to the Lawrence Lessig’s presentation format.

That was a hard work on finding images to express the ideas, since each slide contains just a few words (most of then just one), the number of slides and pictures involved grow up a lot.

Since Lessig’s stile is much like a photomontage movie, that is a consequence.

If you really want to know what I mean, have to see all the material here, and a fresh approach to his ideas here.

Those presentations are most of the time “one way presentations”, the speaker talks and the audience listens to him.

The above Lessig’s sample is a 31’40 minutes presentation with 243 slides…

My case is different, I pretend to interact with the audience (you have to consider, our audience in general is smaller then Lessig’s), I have to convince each one in the audience that he/she is the “hero” on my story. In fact they are part of the story.

If you take the common 1 slide per minute format, you loose a lot on visual impact, and instinctively go to the boring “bullet presentation” format.
On the other hand, if you choose the Lessig’s original format, you loose the audience interaction.

So my choice is: instead of 1 slide per minute format, a sequence of short photomontage movies and interactions per minute, in my mind this way we have the benefits of both patterns.

Saturday, September 29, 2007

Information on Presentations

This week little progress with Ruby learning at work and lots of research about modern presentation techniques at home.

I select some usefull sites about it.

The big point now are the movies scripting models, used on modern presentations.

The Syd Field 4 Acts, and the Christopher Vogler Hero's Journey aproaches are top on the list.

If You are dealing with presentations, take a look !

Saturday, September 22, 2007

Back to presentations

Ten years from now (1987-1997), I was involved with presentations...

Creating and presenting them.

I do presentations all around the Country (most at the northeast area).

That time I was working for IBM, and most of that presentations are about SQL/DS, DB2, REXX, OS/2 (this was an amazing OS)

Now I have to do a Ruby language presentation. So I googled over "modern presentations techniques" and...

What a shock ! They are using storyboarding techniques now. Just like the movies !

Most I've learned about presentations at that time are past tense now.

That way I have to split my time between two urgent tasks:
1 - Keep my Ruby learning process going.
2 - Create a modern Ruby language presentation.

From now on I will try to do more of task one at work, and more of task two at home.

Lets Go !

Sunday, September 16, 2007

Now start using it !

OK that is time to begin to use Ruby on more serious applications...

This weekend I finished the "Challenge", complete the remaining stepts on the "Project" and advance to the "Ruby / Tk" item on my rubylearning.com study group.

So, I think could start some serious mini applications at work.

There is a lot of day by day actvities there, and I think they could become Ruby desktop applications.

I will search a bit more about Ruby GUIs and start the process !

3 hours later, my search is done ! there are some options:
1 - Tcl/Tk - Is the default option, tons of docs...
2 - FXRuby - Good graphics !
3 - wxRuby - A havier good graphics one !

And I will try this too:
1 - Shoes
2 - FLTK

Monday, September 10, 2007

Today I have launched a seed ! (or a gem ?)

Today I went to Rio's SENAC (National Service of Commercial Learning), and propose some Ruby language presentations.

SENAC is a Brazilian open learning center carried by the CNC (National Commercial Confederation) founded in 1946, with offices all over the country.

My intention is to turn on, more and more Ruby programmers here.

In the near future, it might for example be possible to turn those presentations in regular courses.

Time will tell.

Sunday, September 9, 2007

Ruby Rails IDE choice upgrade ?!

Thanks to "tn" (anonimous)

I take a try on NetBeans Ruby IDE (Hudson). It really looks faster and lighter, but I made some memory tests with all the other IDEs yesterday and compared with NetBeans 6.0, this one uses near 100K more memory ?!?!

It loads faster and the overall behavior appears to be faster too.

Any way, I will postpone more detailed evaluation to when I go deep into Rails...

For now with Ruby, SciTE is doing the job.

Saturday, September 8, 2007

First steps on Rails

Today I start to make some tests about Ruby/Rails IDEs.

I have some decisive points to choose one.

The most important is: I want some thing that do all (or most of) the configuration for me. I'm a developer, and I like to develop, not dealing with configurations...

I tryed four Rails IDEs today:
- Eclipse (alredy instaled for Java app.)
- Aptana RedRails
- RoRed
- NetBeans (replaced 5.5 by 6.0 with Ruby support)

I think that for each one I will have to create a Rails projet to run a simple program. So...

The firt try was with Eclipse, I installed the Ruby/Rails plugin, but could't achieve a good configuration (Ha, Ha: tell me what I don't already know), and now when I try to Run the Ruby project It Says "Hey your JDK is not there ! But it is ! In fact I have two ! I try both, but I think it don't like my previous configuration. I hope that with Java it still work... (In fact no. Goodbye Java at home)

The second try was with Aptana RedRails. First draw back: it is all like Eclipse to me... I think on first look it will let me open a single ".rb" file ant test it. But was only the first impression. I could't make it work at all. In fact when I try to open an ".rb" file, it starts the SciTE editor ?!?!?!

The third one was the RoRED. Well, I think I miss something here. It only let me to open existing Rails project. Yeah, I have none, so I do nothing with RoRED.

And last but not least, NetBeans 6.0 with Ruby/Rails support.
There are a few negative points: 175 Mb to dowload, some questions during the automatic configuration are not so clear, the debugger and other update screens don't have a percent progress bar, so you never know if it will take a minute 10, 30 or an hour... And most important alert. When you update the debugger to "the newer and faster one" there is a gem's verbose field that you have to interact with, but it is not so clear ! Then I only notice that after 5 minutes of waiting and nothing happens.

Besides that, after the first two or tree reloads and some automatic updates and configurations, every thing works nice !

So Folks by now, that is my choice NetBeans 6.0 check it out !

First two weeks on Ruby

Well,

That is not easy...

Start to lern a new programming language on my age ?

Yeah, that is a chalenge.

I'm tyred today but mission accomplished.

All exercises done (including the chalenge one).

I will rest a little by now. And wait for the new lesson on monday

That is all.

Saturday, September 1, 2007

Start my Ruby trainning

Last weekend I start training Ruby at:

Ruby Study Notes - Best Ruby Tutorial for Learning Ruby

This weekend I finished the basics and have made an overview on the "Advanced Ruby" topics.

Reading now:

SATISH TALIM's Ruby eBook.

To fifty with Ruby !

Now it is time to work hard !

Near fifty years old, back to start.

Learning Ruby since 2007 Aug 22.