M
Moonbase
moonbase.rydia.net · Personal blog · on HN since 2007
Moonbase is the site of a Ruby programmer who writes on monads, closures, asynchronous code and behavior change.
What HN saysHN links it for its Ruby monads series and its essay on a common closure mistake, which commenters cite in discussions of dynamic languages.
18HN people shared it
5linked it in comments
14stories submitted
108story points
11 years agolast shared
2007people per year2026
Most-shared posts
- 1Monads in Ruby5 people · 8 points · first shared 2007 · 3 comments on HN
- 2The Biggest Mistake Everyone Makes With Closures2 people · 8 points · first shared 2010 · 1 comments on HN
- 3Top Mistakes in Behavior Change1 people · 62 points · first shared 2011 · 11 comments on HN
- 4Eavesdropping on Expressions (Ruby)1 people · 16 points · first shared 2008 · 3 comments on HN
- 5Games Are Not Art1 people · 3 points · first shared 2010 · 1 comments on HN
- 6Asynchronous Is Not “Fire and Forget”: Joiners Not Quitters1 people · 3 points · first shared 2014 · discussion on HN
- 7MenTaLguY: The Sound of Sorting1 people · 2 points · first shared 2011 · discussion on HN
- 8Set Operations in the Shell1 people · 2 points · first shared 2010 · discussion on HN
- 9MenTaLguY's page1 people · 1 points · first shared 2011 · discussion on HN
- 10Atomic Operations in Ruby1 people · 1 points · first shared 2010 · discussion on HN
- 11A Monkeypatching Decorator for Python (2012)1 people · 1 points · first shared 2015 · discussion on HN
- 12Saving Money with Amazon S3 and Bittorrent1 people · 1 points · first shared 2011 · discussion on HN
- 13Eavesdropping on expressions1 people · first shared 2014
What HN people wrote when they linked it
rbxbx · 2011-01-23
Unfortunately most professional Ruby work is still done within the Rails framework these days, which more or less binds you to a more traditional OO type style. I do find that in regards to everything other than class/object abstraction my coding style gets more and more functional.
Especially when working in a team environment though it's important to stick to some established standards and idioms...
That said, Ruby itself gets more functional with each release, but it would seem unlikely that it'll ever completely shed it's OO-ness.
Rambling aside, some great links.
http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/0…
http://www.khelll.com/blog/ruby/ruby-currying/
http://nex-3.com/posts/43-fun-with-the-y-combinator-in-ruby
jamesbritt · 2014-02-14
I think you're taking a very Railscentrc view of Ruby.
rubygems the tool existed before Rails, as did multiple gem hosting mirrors. I believe rubygems.org sprang up because rubyforge.org was falling out of favor. And Bundler is not part of Ruby.
It's possible Wayne Seguin created rvm due Rails but I never got that impression from his talks (but it's been some time).
Pretty sure MenTaLguY created "tap"; Rails had "returning" (though they are similar and perhaps the usage in Rails made it popular enough to warrant inclusion in core).
http://moonbase.rydia.net/mental/blog/programming/eavesdropping-on-exp…
Certainly if any library gets a lot of use then that will influence aspects of the base language, but matz and ko1 seem pretty deliberate about what gets added.
DanielRibeiro · 2011-11-10
Nils are a very bad code smell. They come from C's null, which is a billion dollar mistake[1], according to its creator: Tonny Hoare. Specially now that we have monads[2, 3].
Scala's standard library provides very helpful information on how to replace null with its Maybe class (called Option in Scala). Just take a peek into their collections library[4], and search for Option.
[1] http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-…
[2] http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/0…
[3] http://andand.rubyforge.org/
[4] http://www.scala-lang.org/api/current/scala/collection/immutable/Itera…
chocolateboy · 2011-01-20
Stop snickering at the back! Unless you're a Schemer, your pet dynamic language probably suffers from the same affliction:
http://moonbase.rydia.net/mental/blog/programming/the-biggest-mistake-…
guelo · 2010-12-29