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
    U

    Unlimited Novelty

    unlimitednovelty.com · Personal blog · on HN since 2009

    Tony Arcieri writes about cryptography, Ruby and Rails, Erlang, and virtual machine design.

    Visit blogHN submissions
    ProgrammingSecurityLanguages & Compilers
    What HN says

    HN links it for his bcrypt critique and Erlang and Node.js posts; commenters also cite his whiteboard interview piece.

    Stats for nerds
    42HN people shared it
    41linked in comments
    1.3Kstory points
    Apr 2023last shared
    2009people per year2023

    Top posts on HN

    1. 1
      Node.js has jumped the shark
      1 person · 321 points · first shared 2011 · 126 comments on HN
    2. 2
      Don't use bcrypt
      7 people · 243 points · first shared 2012 · 188 comments on HN
    3. 3
      Why critics of Rails have it all wrong (and Ruby's bright multicore future)
      3 people · 240 points · first shared 2012 · 125 comments on HN
    4. 4
      "Can you solve this problem for me on the whiteboard?"
      5 people · 132 points · first shared 2012 · 52 comments on HN
    5. 5
      Multithreaded Rails is better than Async Rails, and Rainbows is cooler than Node
      3 people · 65 points · first shared 2010 · 16 comments on HN
    6. 6
      The Trouble with Erlang (or Erlang is a ghetto)
      6 people · 56 points · first shared 2011 · 1 comments on HN
    7. 7
      If Ruby is object-oriented Perl, then Reia is object-oriented Erlang
      1 person · 42 points · first shared 2010 · 13 comments on HN
    8. 8
      REIA language designer on Twitter/Ruby/Scala discussion
      2 people · 34 points · first shared 2009 · 32 comments on HN
    9. 9
      The Cutting Edge of VM Design (2009)
      4 people · 24 points · first shared 2009 · Discussion on HN
    10. 10
      Introducing DCell: actor-based distributed objects for Ruby
      2 people · 24 points · first shared 2012 · Discussion on HN

    What HN people wrote when they linked it

    • kkowalczykApr 2014

      I write it fully acknowledging that programming language flamewars are pointless, but this article just shows that you don't even have to try hard to create a biased comparison.

      Here's the essential difference between Go and Erlang: Go gets most of the things right, Erlang gets way too much wrong.

      So what does Go gets right but Erlang doesn't:

      * Go is fast. Erlang isn't

      * Go has a non-surprising, mainstream syntax. You can pick it up in hours. Erlang - not so much.

      * Go has a great, consistent, modern, bug-free standard library. Erlang - not so much.

      * Go is good at strings. Erlang - not so much.

      * Go has the obvious data structures: structs and hash tables. Erlang - no.

      * Go is a general purpose language. Erlang was designed for a specific notion of fault tolerance - one that isn't actually needed or useful for 90% of the software but every program has to pay the costs

      * Go has shared memory. Yes, that's a feature. It allows things to go fast. Purity of not sharing state between threads sounds good in theory until you need concurrency and get bitten by the cost of awkwardness of having to copy values between concurrent processes

      So sure, if you ignore all the major faults of Erlang (http://damienkatz.net/2008/03/what_sucks_abou.html, http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html, http://ferd.ca/an-open-letter-to-the-erlang-beginner-or-onlooker.html, http://sacharya.com/tag/erlang-sucks/) it compares very favorably to Go.

      You…

    • paulbjensenJan 2013

      Agreed. I wrote this blog post:

      http://paulbjensen.co.uk/posts/2012/07/11/thoughts-on-rails-node-and-the-web-apps-of-today

      Then Tony Arcieri wrote this rebuttal:

      http://www.unlimitednovelty.com/2012/08/debunking-nodejs-gish-gallop.html

      He made some good points in his post, but the snarkiness was in my opinion a bit uncalled for. Being labelled a Rails Enthusiast when I had worked with Rails for over 4 years (2007-2011), 2 of those at New Bamboo (a big Rails agency in the UK) was cheap.

      I then tried to deduce why he was so rude, so I looked through some of his older blog posts, and found this:

      http://www.unlimitednovelty.com/2012/03/why-critics-of-rails-have-it-all-wrong.html

      but then this tweet summed it all up:

      http://twitter.com/bascule/status/274281490437767168

      The issue I see here is that there are some in the Ruby community who hate Node, but who then extend that hatred of Node to being rude to people involved with Node.js. Tony has been rude in the past to both Substack and Isaac Schlueter (major figures in the Node community) over Twitter. I can only reason that the rudeness towards Substack was because he made this comment on his blog post: http://www.unlimitednovelty.com/2012/08/debunking-nodejs-gish-gallop.html?showComment=1344730626043#c3236470474430472062.

      As for his replies with Isaac, see this: http://twitter.com/bascule/status/281932459719921664

      I'd like to say it stops there, but it doesn't. I actually had someone email me because Tony had been…

    • zedshawAug 2012

      You know, you HN guys are super buzzword and design blind. This company slaps "bcrypt", "SSL", and "open source" on a decently designed bootstrap page and the response is "this will totally work!" Sad.

      For example, this statement "Credentials are stored as salted hashes using bcrypt," means passwords are being passed to this provider, so you better trust them to not be snooping passwords all the time. Also, bcrypt is questionable http://www.unlimitednovelty.com/2012/03/dont-use-bcrypt.html Finally, it looks like your server is talking to them via SSL through a library https://github.com/hstove/omniauth-dailycred#ssl-error. If that's the case then when you try to do this with some SSL clients they don't validate the cert. Take Python's, where you have to do a backport http://pypi.python.org/pypi/backports.ssl_match_hostname/ to get that enabled.

      I found these problems in just scanning through some links off that first page. Seems like this crowd would be able to pull up more, and definitely shouldn't just saying "Oh SSL, well then that whole thing is totally solid."

    • area51orgJul 2013

      I don't know if it's the lack of types

      Ruby is a dynamic language, so no, there are no types as such. There are ways to create types, but if you're doing that a lot, you're probably doing Ruby wrong. It's not meant to have types. Different way of thinking.

      the abysmal performance of the default VM

      That's a myth, a pervasive one. I'll point you to one source that debunks this, but there are many. http://www.unlimitednovelty.com/2012/06/ruby-is-faster-than-python-php-and-perl.html

      the heavy reliance on monkey patching

      Monkey patching is generally considered an anti-pattern. I'm not sure what in particular has "heavy reliance" on it, but it's not Ruby's libraries themselves, and it's not Rails. (Metaprogramming is not the same thing as monkey patching.)

      Ruby is not aging very well.

      IMHO Ruby is just now coming fully into its own, and is, for a young language, just reaching maturity.

    • marcusfrexOct 2016

      >> Spamming the input with an array of whatever OpenSSL algorithms Ruby happens to make available, rather than using a memory hard KDF like scrypt, is a bad smell.

      Sooner or later key-derivation schemes gets outdated and requires a better version as happened to bcrypt [1] and will happen to scrypt [2].

      It is not "whatever OpenSSL provides" but just combining strong algorithms over to spread the "getting outdated" risks. Think like you are investing your money? Would you prefer betting on just one thing or spreading it over various different investment opportunities?

      [1] http://www.unlimitednovelty.com/2012/03/dont-use-bcrypt.html
      [2] http://blog.ircmaxell.com/2014/03/why-i-dont-recommend-scrypt.html

    • jashkenasFeb 2010

      First, links for context.

      Guido's take:
      http://www.artima.com/weblogs/viewpost.jsp?thread=147358

      Arcieri's take:
      http://www.unlimitednovelty.com/2009/03/indentation-sensitivity-post-mortem.html

      It's not hard if we disallow statements, and make everything into an expression that returns a value -- something that Ruby does right. The value of a block of statements is just the value of the last statement in the block.

      So, whether you call it a function, or a method, or a lambda, or a block, whitespace with multi-line expressions can be made to work.

      The commonly-cited lambda-with-multiple-prints example, in CoffeeScript:

      count: ->
      print 'one'
      print 'two'
      print 'three'

    Related

    Tony Arcieritonyarcieri.com72 people

    Would Rust have prevented Heartbleed? Another look

    Tony Arcieri
    Personal · last shared 2023
    Tom Morristommorris.org41 people

    No, I'm not going to download your bullshit app

    Tom Morris
    Personal · last shared 2025
    DHHworld.hey.com/dhh654 people

    The Framework Desktop is a beast

    DHH
    Personal · last shared 2026
    AkitaOnRailsakitaonrails.com53 people

    Rails has won: The Elephant in the Room

    AkitaOnRails
    Personal · last shared 2026
    Hacking, Distributedhackingdistributed.com173 people

    What's Actually Wrong with Yahoo's Purchase of Summly

    Hacking, Distributed
    Publication · last shared 2024
    Rob Conerywekeroad.com125 people

    PostgreSQL Rising

    Rob Conery
    Personal · last shared 2014
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    Little Man in My Headlittlemaninmyhead.wordpress.com28 people

    Learning to break ciphers

    Little Man in My Head
    Personal · last shared 2025