Work on the Ruby interpreter is weirdly silo'ed off and mostly done by Japanese developers, so there's a significant barrier to entry for any enterprising C developer to roll her sleeves up and get hacking.
This is wrong. Ruby Developers welcome contribution in any form. Also, they have various resource to get started:
Official Contributing Guide: http://ruby-doc.org/core-2.1.1/doc/contributing_rdoc.html
Ruby Hacking Guide: http://ruby-hacking-guide.github.io/
Book on ruby internals: http://www.amazon.com/Ruby-Under-Microscope-Illustrated-Internals/dp/1593275277
RubySpecs: http://rubyspec.org/
Further, incase you are stuck. you can post on the mailing-lists. someone will surely help you get started.
It's entirely possible that it's changed in the last few years, but at the very least what he said was once very true. There has traditionally been a very real and very painful language barrier to the ruby core team.
But, to be fair, it's a bit of a goose and gander kind of situation. People everywhere else in the world have to deal with that kind of situation all the time.
It has, very significantly. There is still a 日本語-only mailing list (ruby-dev), but the English one has significantly more traffic (ruby-core). No decisions are made in ruby-dev that are not also discussed in ruby-core.
In addition, it's only that mailing list that's split; the bugtracker is in English, the help is all in English (with one or two 日本語 translations).
It's actually never been easier to contribute to Ruby.
He is a member of ruby-core too, so I guess if enough people in core like these patches they should go right in. However I don't see OOBGC patch there in that list.
Ruby 2 is almost dropin replacement for Ruby 1.9.3. so upgrading should be easy & backwards compatible with following exceptions
Incompatibility
There are five notable incompatibilities we know of:
The default encoding for ruby scripts is now UTF-8 [#6679]. Some people report that it affects existing programs, such as some benchmark programs becoming very slow [ruby-dev:46547].
Iconv was removed, which had already been deprecated when M17N was introduced in ruby 1.9. Use String#encode, etc. instead.
There is ABI breakage [ruby-core:48984]. We think that normal users can/should just reinstall extension libraries. You should be aware: DO NOT COPY .so OR .bundle FILES FROM 1.9.
#lines, #chars, #codepoints, #bytes now returns an Array instead of an Enumerator [#6670]. This change allows you to avoid the common idiom "lines.to_a". Use #each_line, etc. to get an Enumerator.
Object#inspect does always return a string like #<ClassName:0x…> instead of delegating to #to_s. [#2152]
NEWS: https://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
I would encourage you to try out ruby2 today, you will be surprised how easy the upgrading process is. Plus, your app will run 20% faster due to performance improvements
Or which Datamapper issues we are talking about? I see datamapper has not seen an update in a year, but It should be fairly trivial to fix whatever incompatibilities are because of 2.1.
Ruby Devs,
Take note, Fedora 20 has ruby 2 & rails 4 available. to get started with rails, all you need to do is:
yum install rubygem-rails
and Bam, it will install latest ruby, rails & other dependencies. That's not all, they have more than 2thousand ruby related packages(all recent versions).
Fedora seems to have one of best ruby support. Way to go!
I avoid package gems like the plague. It makes dependency management a gigantic pain in the ass and forces you to target your code to a specific version of an operating system. You can't take a system that works just fine in Fedora and move it to Debian without making sure the gem version differences don't break anything.
In today's cloud-based hosting environment, you want to preserve mobility whenever possible, and Bundler does a better job of managing Ruby dependencies than dpkg/yum does. You can then use configuration management to get a system bootstrapped to a base where all your Ruby projects can run, then Bundler can take care of project-specific dependencies. It's not perfect, a lot of times a project gem will require system dependencies, like MySQL, but the separation of concerns does help a bit.
You should, however, use system Ruby because using RVM / Rbenv in production vastly increases complexity, and because the system dependencies that your gems have will be the right versions. It's much easier now that the latest Ubuntu packages Ruby 2. It took me all of an afternoon to redo the configuration management and provisioning and migrate my projects when Ubuntu 13.10 came out.
Package repository may bump versions without warning, and lags behind gems. There is no typical lag time, it's updated whenever the packager feels like it. You can file bugs at redhat bugzilla to try and motivate them to update packages sooner, if you want something specific.
On the plus side, you get security updates, and any gems that are packaged should be compatible with each other to some extent. In general, I think ruby packages are good for end-users, but maybe not great for developing ruby applications or other gems.
(I don't mean to rag on Fedora packaging here — I'm a Fedora packager! I just want people to be aware of the limitations of distro packaging.)
Thanks - much appreciated. I've used Heroku to test a couple of "hello world" apps, but was hoping to use DreamHost's shared server account in order to learn the tricks of deployment for myself.
- AngularJS http://shop.oreilly.com/product/0636920028055.do
- Web Application Development With AngularJS http://www.packtpub.com/angularjs-web-application-development/book
I am currently reading "Web Application Development With Angular". Its a well written book geared towards who already know angular basics. That's why I suggested O'Reilly book as its introductory which explains angular core concepts.
Another book worth looking at is: Recipes with Angular.js which is covered under Leanpub Unconditional Return Guarantee. so if you don't like the book. 45 days of purchase you can get a 100% refund.
https://leanpub.com/recipes-with-angular-js
so you can try the above, if you don't like the other two
Sadly I agree that the O'Reilly book is of poor quality. Bad editing, sloppy writing style, terrible organization of the chapters. Whatever happened to O'Reilly's standards?