Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    RubySource

    rubysource.com · Publication · on HN since 2011

    Ruby and Rails development site with tutorials on Rails, Sinatra, RubyMotion, JRuby, and security issues.

    Visit blogHN submissions
    Web DevelopmentProgrammingSecurity
    What HN says

    HN links it for its Rails YAML exploit write-up and its Rails versus Sinatra comparison, which commenters cite to explain the two philosophies.

    Stats for nerds
    82HN people shared it
    113linked in comments
    435story points
    Aug 2013last shared
    2012people per year2013

    Top posts on HN

    1. 1
      Get Your App Ready for Rails 4
      2 people · 76 points · first shared 2013 · 31 comments on HN
    2. 2
      Anatomy of an Exploit: An In-depth Look at the Rails YAML Vulnerability
      4 people · 60 points · first shared 2013 · 24 comments on HN
    3. 3
      A look at Ruby 2.0
      1 person · 48 points · first shared 2013 · 10 comments on HN
    4. 4
      Ruby Devs – You’re too trusting. Gems could screw you. » RubySource
      1 person · 18 points · first shared 2011 · 3 comments on HN
    5. 5
      RubyMotion: Dreams do come true
      1 person · 14 points · first shared 2013 · 2 comments on HN
    6. 6
      RubySource » Everything About Ruby On Rails Development and Database Programming
      5 people · 13 points · first shared 2011 · 1 comments on HN
    7. 7
      Build Your Own Social Network with Diaspora: An Introduction » RubySource
      2 people · 9 points · first shared 2012 · Discussion on HN
    8. 8
      Ruby’s Missing Data Structure
      2 people · 9 points · first shared 2013 · Discussion on HN
    9. 9
      Twitter Bootstrap, Less, and Sass: Understanding Your Options for Rails 3.1
      1 person · 9 points · first shared 2011 · 2 comments on HN
    10. 10
      mruby - latest Ruby implementation from Matz
      1 person · 7 points · first shared 2012 · Discussion on HN

    What HN people wrote when they linked it

    • davesimsMay 2012

      "Ruby is a "me too" on those fronts, and not a particularly novel one."

      Of course. No one, especially not Matz, ever claimed Ruby was novel. Why should I care whether a language feature is new when I have features to ship? What you seem to be dogmatically, blindly ignoring is that Ruby's peculiar amalgamation of existing techniques, borrowed from (standing on the shoulders of) Smalltalk, Perl, Python, certain aspects of Lisp and others, created an expressiveness with those idioms that invited widespread adoption that Smalltalk and Lisp in all their glory only ever dreamed of. Innovation was the least of Ruby's concerns, and it's irrelevant to the conversation at hand.

      Type-safety seems to be a big thing for you. This may seem to be an enormous advantage to you, and I wish you well. I personally think type safety is the most overrated language feature in CS history. In my crankier moments I'd say it's essentially a compile-time unit test and refactoring/code-browsing crutch for IDE-jockeys that don't test their code. In my less-cranky moments...I'll probably say the same thing. And that's after a decade and an half in Java and C#, not quite a decade in Ruby. To me, type safety imposes far more overhead than it's worth -- generics, abstract classes, interfaces, all irrelevant and basically built-in and implicit in dynamic environments like Ruby. But that's another digression. Suffice it to say, in my entire software career I've kept track of the sum total of bugs I've fixed…

    • objclxtFeb 2013

      Well, sort of. I wouldn't really call it running "ruby code on the Objective-C runtime". Your Ruby code is effectively being converted to Cocoa API calls during the compilation process. RubyMotion has a number of Objective-C subclasses that match back to Ruby objects (for example, strings in RubyMotion aren't NSStrings, but a subclass of them). If you dump the headers out of a RubyMotion app you can pretty clearly see this.

      Ruby and Objective-C definitely aren't that similar internally - as someone else has suggested, there's no technical reason you couldn't do something similar for Python. It just happens that Ruby to Cocoa bindings have been around for a while (for some time with Apple support), and as a result there has been generally more interest in carrying it forward.

      I've probably failed to adequately explain how it works, but the MacRuby source is available on GitHub, and Laurent Sansonetti has done a run through how RubyMotion does it's thing here: http://rubysource.com/laurent-sansonetti-on-rubymotion-internals/

    • ScottBursonFeb 2013

      Let's get specific, because there's a point here that I think a lot of people are missing (including tptacek).

      ActionDispatch::Routing::RouteSet::NamedRouteCollection.add calls 'eval' on the property name passed to it. This invites exploitation. It also fails 'static_typed's desideratum of each component having a single responsibility. And I don't think calling it "magic" is too strong.

      I don't know to what extent the Ruby culture encourages calling 'eval' in random API routines like this, but when I previously argued here on HN that that had to be a bad idea, I got some pushback. I would certainly call this a dangerous anti-pattern.

      EDITED to add: reference: http://rubysource.com/anatomy-of-an-exploit-an-in-depth-look-at-the-rails-yaml-vulnerability/

    • dasil003Feb 2013

      Yes, however it's also worth noting that Rails core has acknowledged the awkwardness of relying solely on model-level protection for vulnerabilities that should be nipped in the bud at the controller level. Rails 4 will include DHH's new strong_parameters gem that allows params to be filtered proactively on every controller. This will of course help prevent a much broader class of vulnerabilities than ActiveRecord bugs.

      http://rubysource.com/rails-4-quick-look-strong-parameters/

    • IanCalAug 2013

      I think he's referring to the rails YAML exploit [0] because you can use yaml to create objects, like this:

      --- !ruby/hash:ActionDispatch::Routing::RouteSet::NamedRouteCollection
      'foo; eval(eval(puts '=== hello there'.inspect);': !ruby/object:OpenStruct
      table:
      :defaults: {}

      Allowing people to run arbitrary code on rails servers.

      [0] http://rubysource.com/anatomy-of-an-exploit-an-in-depth-look-at-the-rails-yaml-vulnerability/

    • zemJun 2012

      from the ruby side of things, here's a very good write-up of the differing philosophies between rails [monolithic, batteries-included] and sinatra [small, lightweight]: http://rubysource.com/rails-or-sinatra-the-best-of-both-worlds/

      the post goes into why there is room (and a need) for both in the ruby web ecosystem, and where you'd want to use each one.

    Related

    Ruby on Rails Blogweblog.rubyonrails.org192 people

    Rails 5.0: Action Cable, API mode, and more

    Ruby on Rails Blog
    Company · last shared 2021
    Avdi Grimmdevblog.avdi.org132 people

    Your Code is My Hell

    Avdi Grimm
    Personal · last shared 2025
    Engine Yard Blogengineyard.com204 people

    The Number One Trait of a Great Developer

    Engine Yard Blog
    Company · last shared 2025
    AkitaOnRailsakitaonrails.com53 people

    Rails has won: The Elephant in the Room

    AkitaOnRails
    Personal · last shared 2026
    Ruby Insiderubyinside.com147 people

    Sinatra 1.0 Released: Major Milestone for Ruby’s Best Webapp DSL

    Ruby Inside
    Publication · last shared 2021
    Jesse Storimerjstorimer.com33 people

    4 Months Of eBook Sales

    Jesse Storimer
    Personal · last shared 2020
    Ruby Best Practicesblog.rubybestpractices.com21 people

    Ruby Best Practices (full book available for download)

    Ruby Best Practices
    Company · last shared 2013
    Mislav Marohnićmislav.uniqpath.com100 people

    Vim: revisited

    Mislav Marohnić
    Personal · last shared 2015