Hacker News new | ask | show | jobs
by _odey 2094 days ago
My thoughts:

- RBS: meh... might get more useful in the future (in 2-5 years maybe).

- Ractor: Wohooo! I'm writing a DAG library where I was thinking of implementing something like this, good to know I can use it and get real parallelism on top.

- Scheduler: :shrug: don't know about this one, might be relevant with future concurrent ruby code, any ideas?

- Rightward assignment: it's a bit awkward but I see the use case, just wish we had the pipe operator too like in Elixir.

- Endless method: this one is cute, I love it!

- Find pattern: oh boy, code reviews are going to be interesting now!

- Hash#except: yes, definitely a welcome one.

- Memory view: if this helps with numpy style gems it will be great!

- `send(:"do_#{ meth }", ...)`: don't do meth kids! (it's a joke!)... seems like a reasonable feature.

- `order of backtrace had been reversed`: good! it was confusing...

- Promote default gems to bundled gems (rexml): I like this one, if only nokogiri was a stdlib gem or part of core, imagine how much time would be saved instead of having to compile it every time in a `bundle install`.

- `Promote stdlib to default gems`: what does this mean? Do I now have to add `gem "securerandom"` to Gemfiles instead of having it by default and just needing to require it?

- Mjit improvements: can't wait to try it!

Overall, I'm delighted!

6 comments

"Default gems" means that they're packaged as a gem but always implicitly available, as if you had included them in your Gemfile.

"Bundled gems" means the same thing, but you do have to include them in your Gemfile.

https://github.com/janlelis/stdgems#about-the-gemified-stand...

Thank you for clarifying this for me. In that case, the rexml gem situation sounds like a demotion...
Latest talk about scheduler: https://www.youtube.com/watch?v=Y29SSOS4UOc

Recent summary of scheduler, a little bit out of date (changes to interface): https://www.codeotaku.com/journal/2020-04/ruby-concurrency-f...

I will watch your presentation but if u could put my mind at ease: Is the scheduler a kind of event loop (like Node) implemented in Ruby? So if I wanted to use this thing everything I write would have to be callback based ?
Yes, it lets you implement event loop for Ruby. We use fibers to avoid callback hell and avoid rewriting existing code. This is covered in my talk here: https://www.youtube.com/watch?v=qKQcUDEo-ZI
Hope it's alright to ask you a personal question: How did you get to the point you can work with Ruby internals so well? Did you come from a C background or had some backgrounds with VM's / programming language design?
You may be interested in precompiled native Nokogiri: https://github.com/sparklemotion/nokogiri/issues/2075
My thoughts:

- A Ruby "Preview 1" release? Oh crap, I have to start Christmas shopping soon.

I just realized why I have a lot of christmas memories of me sitting around with family while reading hacker news comments in a thread about a ruby release.

Never noticed it's always released on December 25th.

Yeah playing with new Ruby is one of my favorite parts of Christmas :)
This is funny. Need more inside engineering jokes...
> Endless method: this one is cute, I love it!

Now they just need to make it defless too.

> - Endless method: this one is cute, I love it!

It's a weird name for it. It should probably be called something like 'equational method definitions'

>It should probably be called something like 'equational method definitions'

Yeah, that's not weird

It's sort of a pun, because the method doesn't need an "end".
You're right. Maybe hyphenation would help here: "End-less methods"
It's a bit of whimsy from the originator of that feature:

https://bugs.ruby-lang.org/issues/16746