TomyWork has quit [Remote host closed the connection]
xlymian has quit [Remote host closed the connection]
xlymian has joined #ruby
c10l has quit [Remote host closed the connection]
c10l has joined #ruby
ultralan has joined #ruby
ultralan has quit [Remote host closed the connection]
xlymian has quit [Remote host closed the connection]
xlymian has joined #ruby
jhass has quit [Remote host closed the connection]
jhass_ has joined #ruby
jhass_ has quit [Remote host closed the connection]
jhass has joined #ruby
brokkoli_origin has quit [Ping timeout: 252 seconds]
brokkoli_origin has joined #ruby
Din has joined #ruby
Din has quit [Client Quit]
xlymian has quit [Ping timeout: 276 seconds]
Starfoxxes has joined #ruby
xlymian has joined #ruby
xlymian has quit [Remote host closed the connection]
xlymian has joined #ruby
MalusVulgaris has quit [Ping timeout: 260 seconds]
TomyWork has joined #ruby
rvalue has quit [Ping timeout: 252 seconds]
kuss95 has joined #ruby
rvalue has joined #ruby
kuss95 has quit [Ping timeout: 256 seconds]
xlymian has quit [Ping timeout: 276 seconds]
Perflosopher1 has joined #ruby
Perflosopher has quit [Ping timeout: 248 seconds]
Perflosopher1 is now known as Perflosopher
kuss95 has joined #ruby
xlymian has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
kuss95 has quit [Ping timeout: 256 seconds]
xlymian has quit [Ping timeout: 276 seconds]
<_0x1eef>
havenwood: Aren't baked ? What do you mean
<_0x1eef>
I thought they were the up coming killer feature so that's kinda surprising to hear
xlymian has joined #ruby
mange has quit [Remote host closed the connection]
xlymian has quit [Read error: Connection reset by peer]
<havenwood>
_0x1eef: Essential stuff like require, env, timesouts, net::http, etc just don't work yet. And important features like Ractor GC and supervision haven't been started.
<havenwood>
Ruby as a language has a ton of stuff that's unshareable and needs fixing. Ractors have a number of bugs and performance issues too, and they're an unstable surface since things are changing.
<havenwood>
Practically, they're not usable yet since they're in the very experimental side of an experimental feature.
<havenwood>
Async I/O with the Fiber scheduler is already production ready and widely used. Ractors are still working out growing pains and have substantial hurdles before they'll be ready.
<havenwood>
Each year they're getting a bit closer, but at the current rate of progress I'd expect more years before critical gaps are closed and they can stabilize to the point of being useable in libraries.
<havenwood>
Introducing Ractors raised a ton of issues in Ruby. It seems like they're being tackled, but each is a whole thing. One example is sharing Procs, which for tasks you very much want to be able to do. There's no way to set the binding of a Proc that's already been created in Ruby, so you have to `nil.instance_eval` when you create a Proc for it to be
<havenwood>
shareable. It's super awkward.
<havenwood>
TL;DR: Lots of great work has been done but the finish line still seems far away.
<havenwood>
I'd personally be fine with a Proc#bind that we can set to `nil`, but there may be more elegant solutions. We just need one. And it's like this for a number of things. https://bugs.ruby-lang.org/issues/18243
<havenwood>
The Fiber scheduler ended up panning out quickly but Ractors uncovered a pile of issues that need to be triaged.
eddof13 has joined #ruby
cappy has joined #ruby
kuss95 has joined #ruby
c10l has quit [Quit: Ping timeout (120 seconds)]
c10l has joined #ruby
asio has quit [Ping timeout: 255 seconds]
asio has joined #ruby
kuss95 has quit [Ping timeout: 256 seconds]
TomyWork has quit [Quit: Leaving]
cappy has quit [Quit: Leaving]
Starfoxxes has quit [Remote host closed the connection]
BrokenCog has joined #ruby
<BrokenCog>
hellos. I'm trying to update an old code base from 2014 ... i have all the syntax fixed however it was originally coded using ncurses-ruby ... which doens't seem to instlal via gem. any suggestions??
<BrokenCog>
the errors seem to be old ruby version syntax as well ... but it's a much larger library I don't want to fixup.
<_0x1eef>
Thanks havenwood !
kuss95 has joined #ruby
eddof13 has quit [Quit: eddof13]
<adam12>
BrokenCog: We'd have to see the error message to be of any help.
grenierm has joined #ruby
<BrokenCog>
one sec.
<BrokenCog>
the error with the ncurses-ruby library or my usage of the library?
<BrokenCog>
but, aside from the specific error ... is there a currently working ncurses library for ruby 3.3.4?
<weaksauce>
BrokenCog idk worked fine for me
<weaksauce>
what system are you on?
<BrokenCog>
linux.
<BrokenCog>
what worked for you? "gem install ncurses-ruby" ?
<weaksauce>
yeah
<weaksauce>
macos
<BrokenCog>
so, does raggle work on MacOS?
<weaksauce>
idk what that is
<BrokenCog>
gem install raggle ... doesn't really matter what it is, but, it's an RSS reader from 2014.
kuss95 has joined #ruby
<weaksauce>
> ERROR: Could not find a valid gem 'raggle' (>= 0) in any repository
<weaksauce>
guess not
<BrokenCog>
must be using different gem repo's ... didn't know that was a thing.
<BrokenCog>
ah, no, it's not in rubygems ... sorry.
<BrokenCog>
forgot I pulled the github lol.
<BrokenCog>
but, just to double check weaksauce you're on ruby version 3.3.4?
<weaksauce>
3.2 something but it shouldn't make a difference there
<BrokenCog>
but that might explain why ncurses-ruby gem installs for you.
kuss95 has quit [Client Quit]
<weaksauce>
highly doubt that
<weaksauce>
more linux vs mac compiling c thing
<BrokenCog>
more likely.
<weaksauce>
just did it on 3.3.1
<weaksauce>
went fine
<BrokenCog>
i wouldn't expect the syntax to be so different in that minor of a version ... I'm compiling 3.0.7 ... we'll see if it builds the ncurses-ruby library.
<weaksauce>
there's nothing that will cause that from 3.3.1 to 3.3.4
<weaksauce>
if you can't get it to compile you might be able to send in some ignore flags to the compiler
<adam12>
I can't compile ncurses-ruby either. Ruby 3.3.4 on Mac M1.
<adam12>
I doubt you'll get this running without a good sized lift. You could try to port from ncurses-ruby to ruby/curses (the official bindings).
<BrokenCog>
I was trying that ... I changed all the Ncurses::Interface:: calls to Curses, but the Curses::initscr fails.
eddof13 has joined #ruby
<BrokenCog>
I don't seem to understand how this ruby Interface mechanism works.
<BrokenCog>
I don't thin kthat existed when I last used ruby ... or it did but I never did.
eddof13 has quit [Client Quit]
___nick___ has joined #ruby
___nick___ has quit [Client Quit]
___nick___ has joined #ruby
<adam12>
BrokenCog: If you're not opposed to Docker, I might try running it inside a Docker container with an older Ruby version
<BrokenCog>
true.
<BrokenCog>
adam12: do happen to have the git repo of this raggle application? Can you help me understand this error:
<adam12>
The constant isn't `Ncurses tho`, it's `Curses`.
<adam12>
You could try to cheat if you want. `NCurses = Curses` at top of file, after the require.
xlymian has quit [Remote host closed the connection]
<leftylink>
let's see. Array.new with block can't access previous values, can it, if I want to compute values of a recurrence: `fib = Array.new(5) { |n| n < 2 ? n : fib[n - 1] + fib[n - 2] }` . no, fib isn't assigned until after Array.new is done. I guess I use temporary variables, it's fine
<leftylink>
pandabot rb a = 0; b = 1; fib = Array.new(15) { a.tap { a = b.tap { b += a } } }
<leftylink>
I guess that's for general use, not fibonacci specifically, because if you asked me to write fibonacci specifically I'm more likely to just go two at a time and flatten instead of this tap rigamarole
<leftylink>
pandabot: rb a = 0; b = 1; fib = Array.new(10) { [a += b, b += a] }.flatten(1)
<BrokenCog>
adam12: alright. thanks for the help. I tried re-writing the raggle API usage for curses, but, there's more than just that. Usage of "<<" seems to have changed, which I don't understnad yet.
___nick___ has quit [Ping timeout: 252 seconds]
<adam12>
BrokenCog: Definitely going to be a large lift, for sure. Why this specific piece of software?
<BrokenCog>
friend really likes it as an RSS reader.
<BrokenCog>
worht an hour or two but ... I'm done.
<adam12>
I'd just find the oldest Docker image for Ruby you can that fits that era, use it as your base in a new one. Build it with that git package inside it and alias it as `docker run --rm -it` :P
<weaksauce>
BrokenCog can you just throw it in docker?
<weaksauce>
lol yeah nice adam12
<BrokenCog>
weaksauce: yeah, that's what I suggested.
<BrokenCog>
I dont docker, but, he does ... so shouldn't be a problem.
ruby[bot] has quit [Remote host closed the connection]