Meet Volt, A Promising Ruby Framework For Dynamic Applications

By Amaury Andres Peniche Gonzalez – Software Engineer at Toptal

Amaury Andres Peniche GonzalezAmaury is a systems and production engineer with experience in front and back-end development, computer graphics, and networking. Amaury currently works as a freelance Ruby engineer at Toptal, where he was involved in numerous projects, mainly related to Ruby on Rails.

Ruby and the Volt framework

Volt is a Ruby web framework designed for data rich applications. Both the server and client sides are written in Ruby (which is then compiled to JS using OPAL), so this allows the developer to write very dynamic applications without having to write a single line of Javascript code. If you’re a Ruby fan like me, you’ll love this framework.

In an attempt to make web applications a lot more dynamic, front-end Javascript frameworks like Angular.js, Backbone.js and Ember.js have gained a lot of popularity. However, these frameworks often require a back-end application to be useful, so they are used in conjunction with web frameworks like Ruby on Rails and Django.

On the other hand, Volt is capable of managing the back-end and a dynamic front-end. Since both functionalities are tightly integrated into its core (in fact, Volt is more like an MVVM architecture, leveraging the advantages of data bindings), it enables the developer to build these applications quickly.

A very cool feature that comes out of the box is Volt’s real-time feature. If you ever made real-time applications, you know the process can be challenging – you probably implemented AJAX-polling, web sockets, Server-Sent Events (SSE) or even used external services, adding complexity to the application and even incurring additional costs.

Continue reading “Meet Volt, A Promising Ruby Framework For Dynamic Applications”

RPCFN: Average Arrival Time For A Flight (#2) – Reprint

Note: This article first appeared on 8th Oct. 2009 but the original is not accessible; hence the reprint.

Ruby Programming Challenge For Newbies

RPCFN: Average Arrival Time For A Flight (#2)

By Chris Strom

Thank you for the very encouraging response to the first-everRuby Programming Challenge For Newbies (RPCFN)“. The second Ruby challenge is from Chris Strom.

About Chris Strom

Chris StromChris Strom (twitter / blog) in his day job, is the Director of Software Engineering for mdlogix, a small company in Baltimore, Maryland. They develop software that manages clinical research trials and associated data. They primarily code with Ruby on Rails. His background is in web development, mostly in Perl until ~2005 when he made the switch to Ruby.

Chris has this to say about the challenge:

RPCFN is a good idea as reading books and documentation can only take you so far when

Railsware for premium-quality web applications
RPCFN
Winners
Update

Continue reading “RPCFN: Average Arrival Time For A Flight (#2) – Reprint”

RPCFN: Average Arrival Time For A Flight (#2) – Reprint

Note: This article first appeared on 8th Oct. 2009 but the original is not accessible; hence the reprint.

Ruby Programming Challenge For Newbies

RPCFN: Average Arrival Time For A Flight (#2)

By Chris Strom

Thank you for the very encouraging response to the first-everRuby Programming Challenge For Newbies (RPCFN)“. The second Ruby challenge is from Chris Strom.

About Chris Strom

Chris StromChris Strom (twitter / blog) in his day job, is the Director of Software Engineering for mdlogix, a small company in Baltimore, Maryland. They develop software that manages clinical research trials and associated data. They primarily code with Ruby on Rails. His background is in web development, mostly in Perl until ~2005 when he made the switch to Ruby.

Chris has this to say about the challenge:

RPCFN is a good idea as reading books and documentation can only take you so far when learning a new language. To really learn, you need to use the language. RPCFN provides a fabulous forum for using Ruby in the form of regular, engaging (but not arcanely difficult) challenges. Better yet, it provides feedback on how to use Ruby well, as each fortnight the best solution to a challenge is chosen. RPCFN is a wonderful introduction to the Ruby language and to the Ruby community. Welcome newbies!

Railsware for premium-quality web applications
RPCFN
Winners
Update

Continue reading “RPCFN: Average Arrival Time For A Flight (#2) – Reprint”

RPCFN: Shift Subtitle (#1) – Reprint

Ruby Programming Challenge For Newbies

RPCFN: Shift Subtitle (#1)

By Fabio Akita

Note: This article first appeared on 24th Sept. 2009 but the original is not accessible; hence the reprint.

After a very encouraging response to our poll from YOU, the readers of the RL blog, RL is happy to announce the first-ever fortnightly ( bi-weekly / every 14 days) “Ruby Programming Challenge For Newbies (RPCFN)” in Ruby. Thanks to YOU, the Ruby community, people like Fabio Akita and companies like Locaweb who make all of this possible.

About Fabio Akita

Fabio AkitaFabio Akita is a Brazilian Rails enthusiast, also known online as “AkitaOnRails”. He regularly write posts on his own blog and had published the very first book tailored for the Brazilian audience called “Repensando a Web com Rails”.

He is now a full-time Ruby on Rails developer working as Project Manager at Locaweb, Brazil. He’s also the creator of the “Rails Summit Latin America“, the largest international Rails event in South America.

Fabio has this to say about the challenge:

If you’re learning a new language such as Ruby, it is important that you practice it. And the best way to start is by scratching your own itch. Anything goes. It’s not unusual to start by writing simple command line scripts to help out your everyday routine. That’s why I thought of a very trivial exercise in the first challenge. It should demand that you know the basics for a variety of Ruby subjects such as regular expressions, file manipulation, time calculation and so on.

UK based Passenger Hosting
RPCFN
Click here to lend your support to: Support RubyLearning With Some Love and make a donation at www.pledgie.com !
Winners
Update

Continue reading “RPCFN: Shift Subtitle (#1) – Reprint”

RPCFN: Ruby Programming Challenge For Newbies (Reprint)

RPCFN: Ruby Programming Challenge For Newbies

Note: This article first appeared on 20th Sept. 2009 but the original is not accessible; hence the reprint.

After a very encouraging response to our poll from YOU, the readers of the RL blog, RL is happy to announce the first-ever fortnightly (every 14 days) “Ruby Programming Challenge For Newbies (RPCFN)” that starts on Friday, 25th Sept. 2009.

What Is The RPCFN?

RPCFN

The RPCFN is a fortnightly (every 14 days) programming challenge for Ruby Newbies in the spirit of the Ruby Quiz. A new RPCFN will be posted on this RubyLearning blog every alternate Friday, starting 25th Sept. 2009. The contest is open to individuals only and you are invited to contribute solution(s) and/or discussion(s) as comments to the respective blog post. 13 days after the RPCFN is posted (i.e. on a Thursday), all the solutions will be thrown open for everyone to see and comment upon. The next day i.e. Friday, the cycle begins again. The Ruby working solution(s) should be clear-cut, follow Ruby conventions and still be easy to understand.

Continue reading “RPCFN: Ruby Programming Challenge For Newbies (Reprint)”

Poll: Ruby Problems for Beginners and Prizes (Reprint)

Note: This article first appeared on 13th Sept. 2009 but the original is not accessible; hence the reprint.

Poll: Ruby Problems for Beginners and Prizes

Many RubyLearning participants wrote in asking RubyLearning to start a weekly post containing a problem to be solved using Ruby. A problem will be posted here every week / fortnight and anyone is free to offer their solution (the solution should be clear-cut, follow Ruby conventions and still be easy to understand) as a comment to the blog post. A small panel will evaluate the solutions received and decide the best amongst them all. The person with the best solution will be awarded a token prize which could be a Peepcode or a Pragmatic screencast or something equivalent. Maybe some sponsors could chip in with some prizes!

RPCFN

RubyLearning is open to this idea and will start the same provided there is a good response to this. There’s a single question poll below which please answer and what’s more important is to post your thoughts, suggestions etc. as comments to this blog post.

We do have the Ruby Quiz, a weekly programming challenge for Ruby programmers. What’s also needed is something for programmers starting off with Ruby. Maybe RubyLearning could provide this.

We look forward to your response(s) and thoughts, suggestions (thoughts on the nature of the Ruby problem to be asked, evaluation criteria etc.

Continue reading “Poll: Ruby Problems for Beginners and Prizes (Reprint)”

Interview: Aaron Quint on Sinatra (Reprint)

Note: This article first appeared on 20th March 2009 but the original is not accessible; hence the reprint.

On the eve of the first ever online “Introduction to Sinatra” course, Satish Talim of RubyLearning caught up with Aaron Quint and talked to him on Sinatra, in this interview.

Aaron Quint, USA

Satish Talim>> Welcome, Aaron and thanks for taking out time to share your thoughts. For the benefit of the readers, could you tell us something about your self?

Aaron Quint>> Thanks for having me! I’m a freelance Ruby developer working in Brooklyn, NY. I’ve been doing Ruby and Rails for a little over 3 years now, and full time for the last 2 and a half. Recently I’ve been getting a lot more involved with the open source community. I really love coding in Ruby and at this point I don’t think any other language has such a great community with such smart and interesting people. I blog (as much as I can) at http://quirkey.com/blog/. My other passions are food and design and I work with a friend writing about this at http://thescoutmag.com.

Sinatra’s greatest strength is its flexibility

Sinatra Icon

Continue reading “Interview: Aaron Quint on Sinatra (Reprint)”

Follow 10+ Rubyists using Sinatra on Twitter (Reprint)

Note: This first appeared on 24th June 2009 and is being reprinted as the original is not accessible.

What’s Twitter?

Twitter

The New York Times says:

Twitter is a simple messaging service that you’ve either heard about a lot or not at all. Either way, it’s a fun and useful tool, well worth trying if you want to reach potential and existing customers, employees or employers.

List of Rubyists Using Sinatra

This list of over 10 Rubyists using Sinatra, is in alphabetical order, with a link to their Twitter profile. The following list is not intended to be all-inclusive, but it should give you a great start to following some talented Rubyists using Sinatra.

  1. Aaron Quint – aq
  2. Adeel Ahmad – _adeel
  3. Andre Lewis – alewis
  4. Andrew Neil – nelstrom
  5. Arjun Ram – arjunram
  6. August Lilleaas – augustl
  7. Barry Hess – bjhess
  8. Bill Siggelkow – bsiggelkow
  9. Continue reading “Follow 10+ Rubyists using Sinatra on Twitter (Reprint)”

A “Free” online course on Sinatra – 12th batch

A “Free” online course on Sinatra – 12th batch

RubyLearning announces the twelfth batch of its “Free” online “Sinatra” course starting from Saturday 1st Feb. 2014.

Sinatra – quickly create tiny web apps and services

Is the course really free?

A lot of effort and time goes into building such a course and we would really love that you pay at least US$ 15 for the course. Since this is a “Pay if you Like” course, you are under no obligation to pay and hence the course would be free for you.

For those who contribute US$ 15, we shall email them a copy of the book (.pdf) “Introduction to Sinatra” – the course is based on this book.

How do I register and pay the course fees?

  • First, create an account on the site and then pay the fees of US$ 15 by clicking on the PayPal button Paypal
  • After payment of the fees please send us your name to satish [at] rubylearning [dot] org so that we can send you the eBook, which normally takes place within 48 hours.
  • If you want to take the course for free, please just create an account and send us your name (as mentioned above).

Who’s It For?

Anyone who knows the Ruby programming language can take the “Sinatra” course, and is a starting point for people new to Sinatra and a guide to help learn it as quickly and easily as possible.

Dates

The course starts on Saturday 1st Feb. 2014 and runs for a week.

What’s Sinatra?

Sinatra is a micro-framework for quickly creating tiny web-applications and small services in Ruby. It is not a Model-View-Controller (MVC) based framework.

Please read – Sinatra, a Ruby web framework, and Why it Matters.

Heroku Logo

Thanks to Heroku for providing the facility to create free hosting accounts for all the participants, to host their apps created during the course. Heroku – it’s fast, it’s easy, and it just works!

What Will I Learn?

In this introductory course, you will learn the essential features of Sinatra that you will end up using every day. The course topics are:

  • What is Sinatra?
  • Sinatra Installation and its dependencies
  • Routes
  • set
  • before block
  • pass
  • status
  • Building a trivial Sinatra application
  • Deployment of a Sinatra app to Heroku
  • Views – ERB and HAML
  • Handler
  • Form parameters
  • Layouts
  • Error Handling – 404 and 500
  • Helpers
  • Exercises
    • Hosting a static webpage on Heroku
    • Text String Reversal Service
    • Stock Exchange Quote Service
    • Using Sinatra to access the Google+ API
    • Running a Sinatra app using JRuby
    • A Sorter Web Service in Sinatra
    • Finding Photos on Flickr
    • A Sinatra app to access GEO Info via GeoCoder
    • Sinatra Street View
    • Simple CRUD app with ActiveRecord, SQLite3 and YAML
  • Using Rack Middleware

You can read through the RubyLearning FAQ.

Some Fun Apps

Sinatra Icon

Here are some of the fun apps created by the previous batch participants and deployed to Heroku:

Yes, you too can build all such applications and many more.

Famous Rubyists using Sinatra talked to RubyLearning and gave us their views on:

Also, thanks to Adam Keys, Aaron Quint, and Ryan Tomayko for sharing their expertise on Sinatra with the course participants.

So hurry, registrations have started.

By the end of the course, you can quickly create your own tiny web-applications in Ruby and write lots of small services.

Technorati Tags: , , , , ,


(Powered by LaunchBit)

A “Free” online course on Sinatra

A “Free” online course on Sinatra

RubyLearning announces the eleventh batch of its “Free” online “Sinatra” course starting from Saturday 7th Sept. 2013.

Sinatra – quickly create tiny web apps and services

Is the course really free?

A lot of effort and time goes into building such a course and we would really love that you pay at least US$ 15 for the course. Since this is a “Pay if you Like” course, you are under no obligation to pay and hence the course would be free for you.

For those who contribute US$ 15, we shall email them a copy of the book (.pdf) “Introduction to Sinatra” – the course is based on this book.

How do I register and pay the course fees?

  • First, create an account on the site and then pay the fees of US$ 15 by clicking on the PayPal button Paypal
  • After payment of the fees please send us your name to satish [at] rubylearning [dot] org so that we can send you the eBook, which normally takes place within 48 hours.
  • If you want to take the course for free, please just create an account and send us your name (as mentioned above).

Who’s It For?

Anyone who knows the Ruby programming language can take the “Sinatra” course, and is a starting point for people new to Sinatra and a guide to help learn it as quickly and easily as possible.

Dates

The course starts on Saturday 7th Sept. 2013 and runs for a week.

What’s Sinatra?

Sinatra is a micro-framework for quickly creating tiny web-applications and small services in Ruby. It is not a Model-View-Controller (MVC) based framework.

Please read – Sinatra, a Ruby web framework, and Why it Matters.

Heroku Logo

Thanks to Heroku for providing the facility to create free hosting accounts for all the participants, to host their apps created during the course. Heroku – it’s fast, it’s easy, and it just works!

What Will I Learn?

In this introductory course, you will learn the essential features of Sinatra that you will end up using every day. The course topics are:

  • What is Sinatra?
  • Sinatra Installation and its dependencies
  • Routes
  • set
  • before block
  • pass
  • status
  • Building a trivial Sinatra application
  • Deployment of a Sinatra app to Heroku
  • Views – ERB and HAML
  • Handler
  • Form parameters
  • Layouts
  • Error Handling – 404 and 500
  • Helpers
  • Exercises
    • Hosting a static webpage on Heroku
    • Text String Reversal Service
    • Stock Exchange Quote Service
    • Using Sinatra to access the Google+ API
    • Running a Sinatra app using JRuby
    • A Sorter Web Service in Sinatra
    • Finding Photos on Flickr
    • A Sinatra app to access GEO Info via GeoCoder
    • Sinatra Street View
    • Simple CRUD app with ActiveRecord, SQLite3 and YAML
  • Using Rack Middleware

You can read through the RubyLearning FAQ.

Some Fun Apps

Sinatra Icon

Here are some of the fun apps created by the previous batch participants and deployed to Heroku:

Yes, you too can build all such applications and many more.

Famous Rubyists using Sinatra talked to RubyLearning and gave us their views on:

Also, thanks to Adam Keys, Aaron Quint, and Ryan Tomayko for sharing their expertise on Sinatra with the course participants.

So hurry, registrations have started.

By the end of the course, you can quickly create your own tiny web-applications in Ruby and write lots of small services.

Technorati Tags: , , , , ,


(Powered by LaunchBit)

A “FREE” Ruby Metaprogramming Course – Learn to Think in Ruby

Send to Kindle

A New Ruby Metaprogramming Course

On February 24, 2013, Ruby comes of age and RubyLearning celebrates Ruby’s 20th birthday by offering you this “Free” course.

Happy Birthday Ruby!

After the huge success of the first seven Ruby Metaprogramming batches, RubyLearning now announces the eight batch.

Course dates

The online course starts on Sunday 24th Feb. 2013. It’s a 9 day course.

What’s Ruby Metaprogramming?

Paolo Perrotta has this to say:

As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels – from beginner to expert.

Paolo goes on to say the following in a recent interview:

I realized that metaprogramming sits at the very heart of the language, and when you understand metaprogramming, that’s the moment you start “thinking in Ruby”.

Who’s It For?

You need some background in Ruby programming to make the most out of this course.

Is the course really free?

A lot of effort and time goes into building such a course and we would really love that you pay at least US$ 10 for the course. Since this is a “Pay if you Want” course, you are under no obligation to pay anything at all and hence the course would be free for you.

How do I register?

  • If you want to take the course for free, please create an account at rubylearning.org and send us at satish [at] rubylearning.org – the email address with which you have registered.
  • Those of you who want to help RubyLearning maintain the site, the various courses and provide quality content, you can pay either by Paypal or send cash via Western Union Money Transfer or by bank transfer (if you are in India).
  • 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] org We will enrol you into the course which normally takes place within 48 hours.

After you click the “Pay Now” button below, you will be taken to a webpage as shown below.

Please enter the amount you want to pay for the course in the “Item price” field and click on the “Update” link. You can safely pay via PayPal.

You can now pay the Course Fees by clicking on the “Pay Now” button below.

What Will I Learn?

The brief outline of this course is:

Working on the follwoing exercises will teach you many new methods and techniques used in metaprogramming.

  • Exercise 1: Get the values from outside the class.
  • Exercise 2: Add your code to display ‘I like metaprogramming!’
  • Exercise 3: Show lots of ways to define singleton method.
  • Exercise 4: Glance into Ruby inside with binding method.
  • Exercise 5: Define the class without class and def.
  • Exercise 6: Write Baby Shoes – a very tiny GUI DSL

Course conducted by

  • ashbb from Japan with 24×7 help from the mentors at RubyLearning.

So hurry, registrations have started.

By the end of the course, and to reiterate what Paolo Perrotta said, you will understand metaprogramming and that’s the moment you will start “thinking in Ruby”.

This FAQ would help answer most of your queries.

Technorati Tags: , , , , ,


(Powered by LaunchBit)

A “Free” online course: Sinatra 101

Send to Kindle

A “Free” online course: Sinatra 101

RubyLearning announces the tenth batch of its “Free” online “Sinatra 101” course starting from Saturday 2nd Mar. 2013.

Sinatra – quickly create tiny web apps and services

What’s Sinatra?

Sinatra is a micro-framework for quickly creating tiny web-applications and small services in Ruby. It is not a Model-View-Controller (MVC) based framework.

Please read – Sinatra, a Ruby web framework, and Why it Matters.

Heroku Logo

Thanks to Heroku for providing the facility to create free hosting accounts for all the participants, to host their apps created during the course. Heroku – it’s fast, it’s easy, and it just works!

What Will I Learn?

In this introductory course, you will learn the essential features of Sinatra that you will end up using every day. The course topics are:

  • What is Sinatra?
  • Sinatra Installation and its dependencies
  • Routes
  • set
  • before block
  • pass
  • status
  • Building a trivial Sinatra application
  • Deployment of a Sinatra app to Heroku
  • Views – ERB and HAML
  • Handler
  • Form parameters
  • Layouts
  • Error Handling – 404 and 500
  • Helpers
  • Exercises
    • Hosting a static webpage on Heroku
    • Text String Reversal Service
    • Stock Exchange Quote Service
    • Using Sinatra to access the Google+ API
    • Running a Sinatra app using JRuby
    • A Sorter Web Service in Sinatra
    • Finding Photos on Flickr
    • A Sinatra app to access GEO Info via GeoCoder
    • Simple CRUD app with ActiveRecord, SQLite3 and YAML
  • Using Rack Middleware

You can read through the RubyLearning FAQ.

Some Fun Apps

Sinatra Icon

Here are some of the fun apps created by the previous batch participants and deployed to Heroku:

Yes, you too can build all such applications and many more.

Who’s It For?

Anyone who knows the Ruby programming language can take the “Sinatra 101” course, and is a starting point for people new to Sinatra and a guide to help learn it as quickly and easily as possible.

Dates

The course starts on Saturday 2nd Mar. 2013 and runs for a week.

Is the course really free?

A lot of effort and time goes into building such a course and we would really love that you pay at least US$ 10 for the course. However, you are under no obligation to pay anything at all and hence the course would be free for you. For those who contribute US$ 10 or more, we shall email them a copy of the book (.pdf) “Introduction to Sinatra” – the course is based on this book.

How do I register?

  • 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, the various courses 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] org We will enrol you into the course which normally takes place within 48 hours.

After you click the “Pay Now” button below, you will be taken to a webpage as shown below.

Please enter the amount you want to pay for the course in the “Item price” field and click on the “Update” link. You can safely pay via PayPal.

You can now pay the Course Fees by clicking on the “Pay Now” button below.

Famous Rubyists using Sinatra talked to RubyLearning and gave us their views on:

Also, thanks to Adam Keys, Aaron Quint, and Ryan Tomayko for sharing their expertise on Sinatra with the course participants.

So hurry, registrations have started.

By the end of the course, you can quickly create your own tiny web-applications in Ruby and write lots of small services.

Technorati Tags: , , , , ,


(Powered by LaunchBit)

FREE Course On Ruby’s Cross Platform GUI App Toolkit Course

A Free Course on Ruby with Shoes

On August 19, 2009, Why the Lucky Stiff withdrew from the online community. To remember Why’s contributions to our community, RubyLearning is celebrating Whyday today, by announcing the 8th batch of the Ruby with Shoes Course. This course is absolutely FREE and open to anyone with some knowledge of the Ruby programming language.

What’s Shoes?

Why the Lucky Stiff The extraordinaire Rubyist “Why The Lucky Stiff” (_why)1 had worked energetically on Shoes, a Ruby Cross Platform GUI App Toolkit. Shoes is simple and straightforward.

Though _why withdrew from the online community, a plucky community of developers kept it alive.

If you learn Shoes and Ruby programming, your programming life would become much more enjoyable!

Red ShoesGreen Shoes

Who’s It For?

You need some background in Core Ruby to make the most out of this course.

Dates

The course starts on 27th Aug. 2011. It’s a two-week course. You first need to register on the site and then enroll into the course. The enrollment key is: FOIRPWSC101

What Will I Learn?

The brief outline of this course is:

  • For newbies: First Step (_why’s 16 sample programs and extra little challenges)
  • Write your own Shoes app (e.g. Zombie Dice)
Zombie Dice on Green Shoes

Previous Exercises:

Course conducted by?

The course is conducted by Shoesers.

  • ashbb (Satoshi Asakawa) from Japan with 24×7 help from the mentors at RubyLearning.
  • Our guest mentor Steve Klabnik, is a software craftsman, writer, and former startup CTO. Steve tries to keep his Ruby consulting hours down so that he can focus on maintaining Hackety Hack and being a core member of Team Shoes. A must watch – “Return of Shoes” at the Lone Star Ruby Conf V, Austin, Texas.

The first seven batches were a run-away success. So hurry, registrations have started.

This FAQ would help answer most of your queries.

Technorati Tags: , , , , , ,

  1. _why appreciates this course. We are honored!

FREE Course On Ruby’s Cross Platform GUI App Toolkit – Shoes

A Free Course on Ruby with Shoes

On August 19, 2009, Why the Lucky Stiff withdrew from the online community. To remember Why’s contributions to our community, RubyLearning is celebrating Whyday today, by announcing the 8th batch of the Ruby with Shoes Course. This course is absolutely FREE and open to anyone with some knowledge of the Ruby programming language.

What’s Shoes?

Why the Lucky Stiff The extraordinaire Rubyist “Why The Lucky Stiff” (_why)1 had worked energetically on Shoes, a Ruby Cross Platform GUI App Toolkit. Shoes is simple and straightforward.

Though _why withdrew from the online community, a plucky community of developers kept it alive.

If you learn Shoes and Ruby programming, your programming life would become much more enjoyable!

Red ShoesGreen Shoes

Who’s It For?

You need some background in Core Ruby to make the most out of this course.

Registration

The course starts on 27th Aug. 2011. It’s a two-week course. You first need to register on the site and then enroll into the course. The enrollment key is: FOIRPWSC101

What Will I Learn?

The brief outline of this course is:

  • For newbies: First Step (_why’s 16 sample programs and extra little challenges)
  • Write your own Shoes app (e.g. Zombie Dice)
Zombie Dice on Green Shoes

Previous Exercises:

Course conducted by?

The course is conducted by Shoesers.

  • ashbb (Satoshi Asakawa) from Japan with 24×7 help from the mentors at RubyLearning.
  • Our guest mentor Steve Klabnik, is a software craftsman, writer, and former startup CTO. Steve tries to keep his Ruby consulting hours down so that he can focus on maintaining Hackety Hack and being a core member of Team Shoes. A must watch – “Return of Shoes” at the Lone Star Ruby Conf V, Austin, Texas.

The first seven batches were a run-away success. So hurry, registrations have started.

This FAQ would help answer most of your queries.

Technorati Tags: , , , , , ,

  1. _why appreciates this course. We are honored!

20+ Rubyists to Follow on Google+

Google+
Google+

What’s Google+ ?

Google+, pronounced “Google plus” is a new social network from Google. The service, which is initially available to a select group of Google users who will soon be able to invite others, will let people share and discuss status updates, photos and links, much as they do on Facebook.

A list of Rubyists Using Google+

RubyLearning has compiled this list of over 20 Rubyists, in alphabetical order, with a link to their Google+ profile. The following list is not intended to be all-inclusive, but it should give you a great start to following some talented Rubyists.

  1. Aaron Patterson, USA
  2. Abhishek Nalwaya, India
  3. Akshat Paul, India
  4. Aman Gupta, USA
  5. Amr Tamimi, Palestine
  6. Andy Hunt, USA
  7. Alan Skorkin, Australia
  8. Aleksey Gureiev, Ukraine
  9. Allen Wei, China
  10. Agustin Vinao, Argentina
  11. Avdi Grimm, USA
  12. Ben Scofield, USA
  13. Blake Mizerany, USA
  14. Borey Lim, Cambodia
  15. Brian Hogan, USA
  16. Bruce Williams, USA
  17. Dan Mayer, USA
  18. Dave Thomas, USA
  19. David Bock, USA
  20. Dhruva Sagar, India
  21. Dimas Cyriaco, Brazil
  22. Dmytrii Nagirniak, Australia
  23. Dr Nic Williams, Australia
  24. Eliza Brock, USA
  25. Erik Andrejko, USA
  26. Evan Light, USA
  27. Fabio Akita, Brazil
  28. Gautam Rege, India
  29. Govind Naroji, India
  30. Gregg Pollack, USA
  31. Hampton Catlin, USA
  32. Haifeng Cao, Canada
  33. Hasham Malik, Pakistan
  34. Hayri Cicek, Turkey
  35. Ian Dees, USA
  36. Jackielene Camomot, Singapore
  37. James Thompson, South Africa
  38. Jason Ong, Singapore
  39. Javier Cicchelli, Netherlands
  40. jeljer te Wies, Netherlands
  41. Jeweller Tsai, China
  42. Jim Weirich, USA
  43. Joe Fiorini, USA
  44. John Crisostomo, Philippines
  45. John Ford, USA
  46. John Nunemaker, USA
  47. Jose Valim, Brazil
  48. Joseph Ku, Taiwan
  49. Karmen Blake, USA
  50. Krzysztof B. Wicher, Poland
  51. Lance Vaughn, USA
  52. Les Hill, USA
  53. Marlon Andrade, Brazil
  54. Matt Aimonetti, USA
  55. Max G., USA
  56. Michael Bleigh, USA
  57. Michael Kohl, Austria
  58. Michael Raidel, Austria
  59. Milan Dobrota, USA
  60. Mike Hatfield, USA
  61. Miles Forrest, USA
  62. Naum Trifanoff, USA
  63. Neil Smith, UK
  64. Nick Plante, USA
  65. Nithin Bekal, India
  66. Niyazi Ates, Turkey
  67. Noel Rappin, USA
  68. Obie Fernandez, USA
  69. Oto Brglez, Slovenia
  70. Paolo Perrotta, Italy
  71. Paul Barry, USA
  72. Phillip Gawlowski, Germany
  73. Piotr Solnica, Poland
  74. Rajeev Kannav Sharma, India
  75. Ratnadeep Deshmane, India
  76. Ray Rogers, USA
  77. Rick DeNatale, USA
  78. Rida Al Barazi, Canada
  79. Remi Vigan, France
  80. Ryan Bates, USA
  81. Ryan Bigg, Australia
  82. Saager Mhatre, India
  83. Santiago Pastorino, Uruguay
  84. Saroj Maharjan, Nepal
  85. Samnang Chhun, Cambodia
  86. Satish Talim, India
  87. Sau Sheong Chang, Singapore
  88. Steven Haddox, USA
  89. Swanand Pagnis, India
  90. Umit Kayac?k, Turkey
  91. Victor Goff, USA
  92. Yehuda Katz, USA
  93. Yukihiro Matsumoto, Japan
  94. Zaur Amikishiyev, Azerbaijan

Have we missed out any Rubyists?
You can help
. Please feel free to add a link to a Rubyist’s Google+ profile. We would love to hear why you think the particular Rubyist is important to Google+. Also, do add a link to your Google+ profile in the comments.

Technorati Tags: , , , ,

Ruby Metaprogramming Course 7th Batch: Learn to Think in Ruby

After the huge success of the first six “Ruby Metaprogramming” batches, RubyLearning now announces the seventh batch from 26th Feb. 2011.

What’s Ruby Metaprogramming?

Paolo Perrotta has this to say:

As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels – from beginner to expert.

Paolo goes on to say the following in a recent interview:

I realized that metaprogramming sits at the very heart of the language, and when you understand metaprogramming, that’s the moment you start “thinking in Ruby”.

Who’s It For?

Anyone who has some background in Core Ruby can make the most out of this course.

Dates

The course starts on 26th Feb. 2011 and runs for 2 weeks. You first need to register on the site and then enroll into the course.

Course Fees

US$ 19.95 per participant.

The course fee goes towards maintaining RubyLearning and helps provide quality content to you.

What Will I Learn?

The brief outline of this course is:

First Week:

  • Review the object model of Ruby itself:
    • read-only variable self
    • singleton class
    • scope of variables
  • Learn a lot of methods:
    • eval
    • instance_eval
    • class_eval (aka: module_eval)
    • class_variable_set
    • class_variable_get
    • class_variables (Try it out: instance_variables)
    • instance_variable_set (Try it out: instance_variable_get)
    • define_method
    • const_set
    • const_get (Try it out: constants)
    • Class.new (Try it out: Struct.new)
    • binding (Try it out: lambda)
    • send (Try it out: method)
    • remove_method
    • undef_method
    • method_missing
    • include
    • extend
    • included
    • extended
  • Do the following five exercises and discuss them in the forum.
    • Exercise 1: Get the values from outside the class.
    • Exercise 2: Add your code to display ‘I like metaprogramming!’
    • Exercise 3: Show lots of ways to define singleton method.
    • Exercise 4: Glance inside Ruby with binding method.
    • Exercise 5: Define a class without class and def.

Second Week:

  • Practice with assignments on how to write a tiny app with Ruby Metaprogramming techniques.

For Newbies

We will give you short study notes. You can learn the following and discuss the same in the course forum.

  • Instance variables, Methods and Classes
  • Calling a method
  • Useful methods in Ruby Metaprogramming
  • Ruby Blocks and Bindings
  • Solved Problems (two examples)

For Intermediate Participants

We will open the discussion forum with some advanced topics like “Compare Ruby Callable Objects” (Yugui’s blog posts) etc.

Who is conducting this course?

The course teacher is Satoshi Asakawa from Japan with 24×7 help from the mentors at RubyLearning. Satoshi is a Japanese Ruby enthusiast.

So hurry, registrations have started.

By the end of the course, and to reiterate what Paolo Perrotta said, you will understand metaprogramming and that’s the moment you will start “thinking in Ruby”.

Update

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.

Outline of Work Expectations:

  1. Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
  2. Some days may have some extra assignments / food for thought articles / programs
  3. Above all, do take part in the relevant forums. Past participants will confirm that they learned the best by active participation.

Some Commonly Asked Questions

  • 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.

Technorati Tags: , , , ,

RubyLearning eBook(s) Sale Proceeds for CRY India – Will You Join Me?

This month, RubyLearning completes five wonderful years of teaching Ruby programming and allied technologies. Time flies when you’re having fun!

So how does one celebrate a Ruby birthday?

Ruby has given a lot to me. It’s helped me meet some great people, it’s given me a more global perspective on life and provided my family with a good income (to name just a few benefits).

But I want more….

I want others to benefit from my Ruby knowledge. Not just in the information that it provides – but I would love our collective knowledge of Ruby to become something that changes the lives of people who through circumstances beyond their control are unable to live to their potential.

The result of this is that instead of having a Ruby birthday that is all about me and RubyLearning I want to have one that gives something back.

How?

To spread the warmth this holiday season, I’d like to invite you to buy any of RubyLearning’s eBooks till 31st Dec. 2010. When you buy the eBook(s), 100% of the sale proceeds will be donated to CRY India along with an equal amount by RubyLearning.

Why CRY?

CRY India

Given CRY’s experience of almost three decades of working with and for children, they have realised that if you care enough about the situation of underprivileged Indian children, enough to want to change it, to do something, YOU CAN.

Like all of us, Rippan (their late founder) got upset to see the disparities that exist between children. He hated to see children begging and working as domestic help. Unlike most of us, though, he did something about it. To enable a lasting change, all it takes is to stand up for what is the right thing to do.

At CRY, what binds them is the belief that “Change is possible. Because I’ll make it possible.” It is this zeal that enables individuals, organisations, corporate houses, and institutions, originating from various parts of India and overseas, representing every ethnic, linguistic, religious and ideological persuasion, to come together to restore to children what is rightfully theirs – a childhood.

Each of you can get involved by contributing your time, talent, skills and dedication to raise funds through events, sales of products and donations. Your commitment forms the core of this indigenous Indian movement that today involves over 150,000 individuals and organisations, all who believe in the rights of children.

Should you donate?

If you can’t afford to buy any of RubyLearning’s eBook(s) then there’s no pressure to. You can support the project by spreading the news about it.

I’m not sure how much we’ll raise but hopefully together we can “Enroll children into government school and provide educational support to help them stay in school.”

Will YOU join me?

Update: This project is now over. Thank you for the overwhelming response. I have donated Rs. 10000-00 to CRY India on 2nd Jan. 2011.

Technorati Tags: , , ,

Ruby Metaprogramming Course 6th Batch: Learn to Think in Ruby

After the huge success of the first five “Ruby Metaprogramming” batches, RubyLearning now announces the sixth batch from 4th Dec. 2010.

What’s Ruby Metaprogramming?

Paolo Perrotta has this to say:

As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels – from beginner to expert.

Paolo goes on to say the following in a recent interview:

I realized that metaprogramming sits at the very heart of the language, and when you understand metaprogramming, that’s the moment you start “thinking in Ruby”.

Who’s It For?

Anyone who has some background in Core Ruby can make the most out of this course.

Dates

The course starts on 4th Dec. 2010 and runs for 2 weeks. You first need to register on the site and then enroll into the course.

Early Bird Registration Discounts

  • For the first 10 registrations, Course Fee: US$ 9.95 per participant.
  • For the next 30 registrations, Course Fee US$ 14.95 per participant.
  • After the first 40 registrations, Course Fee US$ 19.95 per participant.

The course fee goes towards maintaining RubyLearning and helps provide quality content to you.

What Will I Learn?

The brief outline of this course is:

First Week:

  • Review the object model of Ruby itself:
    • read-only variable self
    • singleton class
    • scope of variables
  • Learn a lot of methods:
    • eval
    • instance_eval
    • class_eval (aka: module_eval)
    • class_variable_set
    • class_variable_get
    • class_variables (Try it out: instance_variables)
    • instance_variable_set (Try it out: instance_variable_get)
    • define_method
    • const_set
    • const_get (Try it out: constants)
    • Class.new (Try it out: Struct.new)
    • binding (Try it out: lambda)
    • send (Try it out: method)
    • remove_method
    • undef_method
    • method_missing
    • include
    • extend
    • included
    • extended
  • Do the following five exercises and discuss them in the forum.
    • Exercise 1: Get the values from outside the class.
    • Exercise 2: Add your code to display ‘I like metaprogramming!’
    • Exercise 3: Show lots of ways to define singleton method.
    • Exercise 4: Glance inside Ruby with binding method.
    • Exercise 5: Define a class without class and def.

Second Week:

  • Practice with assignments on how to write a tiny app with Ruby Metaprogramming techniques. The assignments are being prepared.

For Newbies

We will give you short study notes. You can learn the following and discuss the same in the course forum.

  • Instance variables, Methods and Classes
  • Calling a method
  • Useful methods in Ruby Metaprogramming
  • Ruby Blocks and Bindings
  • Solved Problems (two examples)

For Intermediate Participants

We willl open the discussion forum with some advanced topics like “Compare Ruby Callable Objects” (Yugui’s blog posts) etc.

Who is conducting this course?

The course teacher is Satoshi Asakawa from Japan with 24×7 help from the mentors at RubyLearning. Satoshi is a Japanese Ruby enthusiast.

So hurry, registrations have started.

By the end of the course, and to reiterate what Paolo Perrotta said, you will understand metaprogramming and that’s the moment you will start “thinking in Ruby”.

Update

7th Oct. 2010: So far, the registered participants are from:

Charting Software ChartGo.com

Technorati Tags: , , , ,

New Course: Sinatra 101

New Course: Sinatra 101

RubyLearning announces the ninth batch of the online “Sinatra 101” course starting from 27th Nov. 2010.

Sinatra – quickly create tiny web apps and services

What’s Sinatra?

Sinatra is a micro-framework for quickly creating tiny web-applications and small services in Ruby. It is not a Model-View-Controller (MVC) based framework.

Please read – Sinatra, a Ruby web framework, and Why it Matters.

Heroku Logo

Thanks to Heroku for providing the facility to create free hosting accounts for all the participants, to host their apps created during the course. Heroku – it’s fast, it’s easy, and it just works!

What Will I Learn?

In this introductory course, you will learn the essential features of Sinatra 1.0 that you will end up using every day. The course topics are:

  • Introduction to Sinatra
    • What is Sinatra?
    • A quick look at HTTP
    • What’s HTTP?
    • Loading a web page
    • HTTP request methods
  • A quick look at Routes
  • set
  • before block
  • pass
  • status
  • A trivial Sinatra application
  • Installation
    • Dependencies
  • Deployment
    • Git
    • Heroku
  • Views – ERB and HAML
  • Handler
  • Form parameters
  • Layouts
  • Error Handling
  • Helpers
  • Exercises
    • String Reversal Service
    • Stock Exchange Quote Service
    • Mountain Bike Trails
    • Finding Photos on Flickr
    • Sorter Web Service
    • Using Yahoo! Web Service for Search
    • Simple CRUD app with ActiveRecord and YAML
  • Using Rack Middleware

You can read through the RubyLearning FAQ.

Some Fun Apps

Sinatra Icon

Here are some fun apps created by the batch participants and deployed to Heroku:

Won’t you like to create some simple Sinatra applications like the following?

Yes, you too can build all such applications and many more.

Who’s It For?

Anyone who knows the Ruby programming language can take the “Sinatra 101” course, and is a starting point for people new to Sinatra and a guide to help learn it as quickly and easily as possible.

Dates

The course starts on 27th Nov. 2010 and runs for a week.

Course Fees

The Course Fee is US$ 14.95 per participant. The course fee goes towards maintaining RubyLearning and helps provide quality content to you.

Registration

To register for the course, please click here.

Famous Rubyists using Sinatra talked to RubyLearning and gave us their views on:

Also, thanks to Adam Keys, Aaron Quint, and Ryan Tomayko for sharing their expertise on Sinatra with the course participants.

So hurry, registrations have started.

By the end of the course, you can quickly create your own tiny web-applications in Ruby and write lots of small services.

Update

20th Oct. – So far, the registered participants are from:

Charting Software

Technorati Tags: , , , , ,

RPCFN: Japanese Mosaic Problem (#14)

Ruby Programming Challenge For Newbies

RPCFN: Japanese Mosaic Problem (#14)

By Joseph Wilk

About Joseph Wilk

Joseph Wilk Joseph Wilk is a member of the core development team for Cucumber. He has been developing for the web for over 10 years in both big and small companies and as an entrepreneur. After stints working with Java and Python he finally found Ruby. He now spends his time in-between eating Cucumbers working at Songkick.com. Having more fun than is healthy working as a Software Gardener building web systems, working on open source projects and giving talks around the world about testing. He suffers from test obsession and has given up hope of any treatment.

Joseph Wilk has this to say about the challenge:

The Japanese Mosaic problem is a logic puzzle based on a grid with the cells potentially containing numbers ranging 0 to 9. The numbers reflect for a cell how many of its neighbours and itself are shaded in. The fun aspect of these problems is once solved you end up with some pretty ASCII art. You’re challenge is to write an algorithm to solve any mosaic puzzle. The challenge provides the opportunity to explore data structures to represent the problem space and looking at how we can navigate the structure in search of a solution. There are lots of opportunities to also think about the efficiency in searching for a solution. A Cucumber feature has already been written for you with lots of scenarios exploring through examples the rules of the Japanese Mosaic problem. If you are not familiar with Cucumber checkout http://cukes.info/. This Cucumber feature is both your specification and your executable tests. You’re mission is to get all the Scenarios passing. There are many ways to solve the problem and I look forward to seeing how people tackle these in the different languages. Good luck and safe Cuking.

Prizes

  • The participant with the best Ruby solution (if there is a tie between answers, then the one who posted first will be the winner) will be awarded any one of PeepCode’s Ruby on Rails screencasts.
  • From the remaining working Ruby solutions, three participants would be selected randomly and each one would be awarded any one of Pragmatic’s The Ruby Object Model and Metaprogramming screencasts.

The four persons who win, can’t win again in the next immediate challenge but can still participate.

The Ruby Challenge

RPCFN

The Challenge

All the instructions and the code to get you started are in a Github repository: http://github.com/josephwilk/japanese-mosaic-logic-puzzle

How to Enter the Challenge

Read the Challenge Rules. By participating in this challenge, you agree to be bound by these Challenge Rules. It’s free and registration is optional. You can enter the challenge just by posting the following as a comment to this blog post:

  1. Your name:
  2. Country of Residence:
  3. GIST URL of your Solution (i.e. Ruby code) with explanation and / or test cases:
  4. Code works with Ruby 1.8 / 1.9 / Both:
  5. Email address (will not be published):
  6. Brief description of what you do (will not be published):

Note:

  • As soon as we receive your GIST URL, we will fork your submission. This means that your solution is frozen and accepted. Please be sure that is the solution you want, as it is now recorded in time and is the version that will be evaluated.
  • All solutions posted would be hidden to allow participants to come up with their own solutions.
  • You should post your entries before midnight of 31st Oct. 2010 (Indian Standard Time). No new solutions will be accepted from 1st Nov. onwards.
  • On 1st Nov. 2010 all the solutions will be thrown open for everyone to see and comment upon.
  • The winning entries will be announced on this blog in the first week of Nov. 2010. The winners will be sent their prizes by email.

More details on the RPCFN?

Please refer to the RPCFN FAQ for answers to the following questions:

Donations

RPCFN is entirely financed by RubyLearning and sometimes sponsors, so if you enjoy solving Ruby problems and would like to give something back by helping with the running costs then any donations are gratefully received.

Click here to lend your support to: Support RubyLearning With Some Love and make a donation at www.pledgie.com !

Acknowledgements

Special thanks to:

  • Joseph Wilk.
  • GitHub, for giving us access to a private repository on GitHub to store all the submitted solutions.
  • The RubyLearning team.

Questions?

Contact Satish Talim at satish [dot] talim [at] gmail.com OR if you have any doubts / questions about the challenge (the current problem statement), please post them as comments to this post and the author will reply asap.

The Participants

There are two categories of participants. Some are vying for the prizes and some are participating for the fun of it.

In the competition

Just for Fun

Previous Challenge

RPCFN: Economics 101 (#13) by Dr. Bruce Scharlau.

Note: All the previous challenges, sponsors and winners can be seen on the Ruby Programming Challenge for Newbies page.

Update

  • The (#15) challenge by Julio Javier Cicchelli, Netherlands is scheduled for Nov. 2010.

Technorati Tags: , , , ,