Hacker News new | past | comments | ask | show | jobs | submit login

Thanks for posting this :) ...I'm happy to answer any questions anyone has.



You should move the purchase button higher on the page or put multiple buttons. My immediate assumption was it was not ready yet until I scrooooled way down to find the purchase link.


+1 for this, I thought the comments were actual comments about the book. Usually comments are placed on the bottom of the page.


Hey pat, how do you understand the internal code so well ? I read your free chapter on Ruby's Hash table and I loved every bit of it. It would be great if you can share the process you go through when you read the source code, so maybe I can apply it in the future. By the way, congrats for the release !


The code for MRI is.. idiomatic, but actually pretty easy to read. I last did C full time in the 90s and so am mostly just a 'reader' now but it's not hard to follow, although some of the reasoning behind doing things a certain way in MRI is unfathomable.. ;-)


Exactly, Peter. It's not tremendously hard to read the C code and understand what it is doing (usually), if you're familiar with C syntax. But it was tremendously difficult at times understanding _why_ it was doing what it was doing.


I don't understand the wording of your first sentence. Did you mean "idiotic" or?



Yes, thanks. I know what idiomatic means, but the OP either does not or just wrote an awkward sentence.


Pat probably meant 'idiosyncratic' instead of 'idiomatic' (unless it's a non-idiomatic use of 'idiomatic').


'Idiosyncratic' is clearer, though 'idiomatic' is valid and what I wished to say, but in its secondary definition: http://www.merriam-webster.com/dictionary/idiomatic (see def 2)


Oh, OK. I've never seen "idiomatic" used with a negative connotation before.


Hey thanks for asking - and yes, in the preface to the book I do explain how I figure this stuff out. But basically I: - study the C code for a long time - step through it in GDB a lot - add printf statements and recompile it to print out debug/trace info - actually change it to see what would happen if things were written differently.

A lot of hard work! I do the hard work so you don't have to :)


Your process is something I'd like an ebook or screencast about. Perhaps others would find it interesting as well.


Yea I've thought about that. Let me see what I can do... :) thanks.


I suspect buying the book might yield some info like that.


What is the purpose of this book? Is Ruby internal workings not widely known or understood, or is this more about how to reverse engineer a software stack? Did you discover anything that is not documented in Ruby docs?


Yes - Ruby's internal workings are very mysterious to most people. While the C source code behind Ruby is open source, it's hard to read and understand for most people. In Ruby Under a Microscope, I explain how Ruby works internally… without assuming you know anything about C programming.

Why study Ruby internals in the first place? Here are my reasons (from the book's preface): - By studying how Ruby works internally, you'll get a deeper understanding of the language and become a better Ruby developer. - You can learn a lot from the Ruby core team. There is some amazing stuff inside of Ruby, and Ruby's implementation might help you while solving your own coding problems. - It's fun! It's just super-fascinating stuff!

I learned a lot of stuff about Ruby usage that is not documented. You can read more in the book… :)

Thanks for your interest, and for asking!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: