havenwood changed the topic of #ruby to: Ruby 3.3.4 (3.4.0-preview1) https://www.ruby-lang.org | Logs https://libera.irclog.whitequark.org/ruby
r3m has quit [Quit: WeeChat 4.4.0-dev]
r3m has joined #ruby
cappy has joined #ruby
xlymian has quit [Remote host closed the connection]
eddof13 has joined #ruby
eddof13 has quit [Client Quit]
xlymian has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
georgemp_ has quit [Quit: ZNC - https://znc.in]
georgemp has joined #ruby
georgemp has quit [Client Quit]
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
georgemp has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
MalusVulgaris has joined #ruby
xlymian has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
xdminsy has quit [Ping timeout: 248 seconds]
xdminsy has joined #ruby
xdminsy has quit [Client Quit]
xlymian has quit [Ping timeout: 276 seconds]
rvalue- has joined #ruby
rvalue has quit [Ping timeout: 265 seconds]
rvalue- is now known as rvalue
xlymian has joined #ruby
SaveFerris2 has joined #ruby
SaveFerris has quit [Ping timeout: 252 seconds]
SaveFerris2 is now known as SaveFerris
cappy has quit [Quit: Leaving]
sts has quit [Ping timeout: 260 seconds]
sts has joined #ruby
coffeejunk has quit [Ping timeout: 260 seconds]
weyhmueller_ has joined #ruby
Hobbyboy|BNC has joined #ruby
Liothen has quit [Ping timeout: 260 seconds]
weyhmueller has quit [Ping timeout: 260 seconds]
Hobbyboy has quit [Ping timeout: 260 seconds]
olus has quit [Ping timeout: 260 seconds]
integral has quit [Ping timeout: 260 seconds]
olus has joined #ruby
Rounin has quit [Ping timeout: 260 seconds]
xlymian has quit [Ping timeout: 276 seconds]
integral has joined #ruby
Liothen has joined #ruby
Hobbyboy|BNC is now known as Hobbyboy
xlymian has joined #ruby
Rounin has joined #ruby
coffeejunk has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
TomyWork has joined #ruby
xlymian has quit [Ping timeout: 276 seconds]
xlymian has joined #ruby
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?
___nick___ has joined #ruby
<BrokenCog> gem install ncurses-ruby output: https://termbin.com/7zak
kuss95 has quit [Ping timeout: 256 seconds]
<BrokenCog> ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux]
___nick___ has quit [Ping timeout: 258 seconds]
<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:
<BrokenCog> ./raggle:4293:in `init': uninitialized constant Raggle::Interfaces::NcursesInterface::Ncurses (NameError)
<BrokenCog> i tried ::init and ::initscr, but both give same error.
<adam12> More than likely it can't find the Ncurses constant.
<adam12> Which makes sense if you can't require it.
<adam12> (or install it)
<BrokenCog> I thought ruby currently uses "ncurses (0.9.1)" ?
<adam12> https://github.com/ruby/curses?tab=readme-ov-file is the one I had in mind.
xlymian has joined #ruby
<BrokenCog> I have that installed. curses-1.4.6
<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 } } }
<pandabot> [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] - https://carc.in/#/r/h2yb
<leftylink> I guess? I dunno
<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)
<pandabot> [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946] - https://carc.in/#/r/h2yc
<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]
ruby[bot] has joined #ruby
opedrosouza has joined #ruby
opedrosouza has quit [Changing host]
opedrosouza has joined #ruby
opedrosouza has quit [Quit: Client closed]
opedrosouza has joined #ruby