havenwood changed the topic of #ruby to: Rules: https://ruby-community.com | Ruby 3.1.0, 3.0.3, 2.7.5: https://www.ruby-lang.org | Paste 4+ lines to: https://gist.github.com | Books: https://goo.gl/wpGhoQ
fredlinhares has joined #ruby
Guest9014 has quit [Ping timeout: 268 seconds]
perrierjouet has quit [Quit: WeeChat 3.4]
Rounin has quit [Ping timeout: 250 seconds]
John_Ivan has quit [Read error: Connection reset by peer]
ur5us has quit [Ping timeout: 250 seconds]
John_Ivan has joined #ruby
John_Ivan has quit [Read error: Connection reset by peer]
John_Ivan has joined #ruby
Sheilong has quit [Quit: Connection closed for inactivity]
perrierjouet has joined #ruby
Rounin has joined #ruby
jimeh has quit [Remote host closed the connection]
jimeh has joined #ruby
unyu has joined #ruby
HyLian has quit [Ping timeout: 250 seconds]
constxd_ has joined #ruby
HyLian has joined #ruby
weaksauce has quit [Quit: Textual IRC Client: www.textualapp.com]
bluedust_ has quit [Remote host closed the connection]
fredlinhares has quit [Ping timeout: 250 seconds]
fredlinhares has joined #ruby
BSaboia has joined #ruby
fredlinhares has quit [Read error: Connection reset by peer]
ur5us has joined #ruby
fredlinhares has joined #ruby
weaksauce has joined #ruby
fredlinhares has quit [Quit: WeeChat 3.4]
BSaboia has quit [Quit: This computer has gone to sleep]
jimeh has quit [Remote host closed the connection]
jimeh has joined #ruby
<constxd_> kings
<constxd_> how do ruby threads work
<constxd_> do they really run in parallel
BSaboia has joined #ruby
BSaboia has quit [Quit: This computer has gone to sleep]
BSaboia has joined #ruby
goldfish has quit [Remote host closed the connection]
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
libsys has quit [Ping timeout: 256 seconds]
jlindgren has quit [Quit: ZNC 1.8.2 - https://znc.in]
constxd_ has quit [Ping timeout: 256 seconds]
BSaboia has quit [Quit: This computer has gone to sleep]
michigan has quit [Quit: Connection closed for inactivity]
lunarkitty has joined #ruby
oxfuxxx has joined #ruby
mitt3ns has joined #ruby
mitt3ns has quit [Changing host]
mitt3ns has joined #ruby
cdown has quit [Ping timeout: 256 seconds]
jlindgren has joined #ruby
hanzo has joined #ruby
hololeap_ is now known as hololeap
postmodern has joined #ruby
jlindgren has quit [Quit: ZNC 1.8.2 - https://znc.in]
jlindgren has joined #ruby
jlindgren has quit [Quit: ZNC 1.8.2 - https://znc.in]
jlindgren has joined #ruby
constxd_ has joined #ruby
ur5us has quit [Ping timeout: 268 seconds]
oxfuxxx has quit [Quit: can you please adjust your IRC quit message to be less transphobic?]
_ht has joined #ruby
bluedust has joined #ruby
constxd_ has quit [Ping timeout: 256 seconds]
oxfuxxx has joined #ruby
oxfuxxx has quit [Ping timeout: 268 seconds]
oxfuxxx has joined #ruby
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
oxfuxxx has quit [Ping timeout: 240 seconds]
jaredo has left #ruby [#ruby]
oxfuxxx has joined #ruby
oxfuxxx has quit [Ping timeout: 268 seconds]
Guest9014 has joined #ruby
oxfuxxx has joined #ruby
oxfuxxx has quit [Ping timeout: 268 seconds]
oxfuxxx has joined #ruby
teclator has joined #ruby
oxfuxxx has quit [Ping timeout: 240 seconds]
oxfuxxx has joined #ruby
Duneyrr has joined #ruby
oxfuxxx has quit [Ping timeout: 268 seconds]
Duneyrr has quit [Client Quit]
Duneyrr has joined #ruby
Duneyrr has left #ruby [#ruby]
Duneyrr has joined #ruby
Duneyrr has quit [Client Quit]
Duneyrr has joined #ruby
Duneyrr has quit [Changing host]
Duneyrr has joined #ruby
oxfuxxx has joined #ruby
oxfuxxx has quit [Ping timeout: 256 seconds]
ZAJDAN has joined #ruby
bluedust_ has joined #ruby
fef has joined #ruby
bluedust has quit [Ping timeout: 256 seconds]
factor7 has joined #ruby
factor has quit [Ping timeout: 250 seconds]
factor7 is now known as factor
ur5us has joined #ruby
<nakilon> > every vendor's SDK has made a different choice. HTTParty, async-http, Excon, Patron, Faraday, net-http-persistent.
<nakilon> and I use my own one ..D
Furai has quit [Quit: WeeChat 3.4]
Furai has joined #ruby
ur5us has quit [Ping timeout: 240 seconds]
entropie has quit [Quit: ""]
royo25 has joined #ruby
mixfix41 has joined #ruby
lunarkitty has quit [Quit: Connection closed for inactivity]
TomyWork has joined #ruby
typ1cal_c0ffxe3 has joined #ruby
typ1cal_c0ffxe3 has quit [Client Quit]
oxfuxxx has joined #ruby
typ1cal_c0ffxe3 has joined #ruby
jmcgnh has quit [Ping timeout: 250 seconds]
leonthemisfit has quit [Read error: Connection reset by peer]
oxfuxxx has quit [Ping timeout: 240 seconds]
jmcgnh has joined #ruby
typ1cal_c0ffxe3 has quit [Ping timeout: 250 seconds]
Duneyrr has quit [Ping timeout: 250 seconds]
Duneyrr has joined #ruby
shokohsc has quit [Ping timeout: 240 seconds]
mitt3ns has quit [Remote host closed the connection]
shokohsc has joined #ruby
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
bluedust has joined #ruby
bluedust_ has quit [Ping timeout: 240 seconds]
entropie has joined #ruby
bluedust_ has joined #ruby
entropie has quit [Ping timeout: 268 seconds]
entropie has joined #ruby
bluedust has quit [Ping timeout: 240 seconds]
bluedust_ has quit [Remote host closed the connection]
Bounga has joined #ruby
bluedust has joined #ruby
bluedust_ has joined #ruby
bluedust has quit [Ping timeout: 240 seconds]
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
perrierjouet has quit [Quit: WeeChat 3.4]
Duneyrr has quit [Ping timeout: 240 seconds]
constxd_ has joined #ruby
perrierjouet has joined #ruby
Bounga has quit [Ping timeout: 256 seconds]
perrierjouet has quit [Client Quit]
BSaboia has joined #ruby
perrierjouet has joined #ruby
cdown has joined #ruby
Sheilong has joined #ruby
BSaboia has quit [Quit: This computer has gone to sleep]
_whitelogger has joined #ruby
Starfoxxes has joined #ruby
isene has joined #ruby
Milos has joined #ruby
e2 has quit [Ping timeout: 256 seconds]
CrazyEddy has joined #ruby
szkl_ has quit [Ping timeout: 256 seconds]
Milos_ has quit [Ping timeout: 256 seconds]
CalimeroTeknik has quit [Ping timeout: 256 seconds]
szkl_ has joined #ruby
BSaboia has joined #ruby
nullheroes2 has joined #ruby
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
e2 has joined #ruby
CalimeroTeknik has joined #ruby
yxhuvud has joined #ruby
Guest9014 has quit [Ping timeout: 256 seconds]
Bounga has joined #ruby
weyhmueller has joined #ruby
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
oxfuxxx has joined #ruby
Duneyrr has joined #ruby
ZAJDAN has quit [Ping timeout: 240 seconds]
bluedust has joined #ruby
bluedust_ has quit [Ping timeout: 268 seconds]
fef has quit [Remote host closed the connection]
ZAJDAN has joined #ruby
oxfuxxx has quit [Ping timeout: 240 seconds]
<ox1eef> Net::HTTP is my personal favorite, and since it is in the stdlib, it's worth learning well.
<ox1eef> constxd_: no, they don't, only one is running at a given time, unless the threads are IO-bound, then they can run in parallel. It's a topic that could have its own book.
mdemo has quit [Ping timeout: 250 seconds]
mdemo has joined #ruby
<constxd_> ox1eef: can ruby do real parallelism
<constxd_> do you know if YARV / MRI do GC in a separate thread
bluedust has quit [Remote host closed the connection]
<adam12> constxd_: This is a part of what Ractors are suppposed to solve.
BSaboia has quit [Quit: Leaving]
BSaboia has joined #ruby
BSaboia has quit [Client Quit]
Duneyrr has quit [Ping timeout: 250 seconds]
phryk_ is now known as phryk
<adam12> constxd_: https://workingwithruby.com/wwrt/intro older but maybe helpful
ZAJDAN has quit [Ping timeout: 240 seconds]
royo25 has quit [Quit: Bye]
kenichi_ is now known as kenichi
taupiqueur has joined #ruby
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
drincruz- is now known as drincruz
Duneyrr has joined #ruby
taupiqueur has quit [Quit: taupiqueur]
random-jellyfish has joined #ruby
ZAJDAN has joined #ruby
random-jellyfish has quit [Ping timeout: 256 seconds]
gproto23 has joined #ruby
dostoyev1ky2 is now known as dostoyevsky2
Bounga has quit [Ping timeout: 250 seconds]
keinbock has left #ruby [WeeChat 1.9.1]
Thanzex has quit [Read error: Connection reset by peer]
Thanzex has joined #ruby
reset has quit [Quit: reset]
random-jellyfish has joined #ruby
<ccooke> Hmm. How usable are Ractors now 3.1 is out?
<ccooke> I did some playing Jan/Feb last year, but hit a number of issues
<havenwood> ccooke: They're still experimental and unfinished.
<ccooke> Shame. But it's a complex piece of work
bluedust has joined #ruby
hanzo has quit [Quit: Connection closed for inactivity]
<havenwood> ccooke: Async Fibers are production ready and stable but Ractors keep changing and breaking anything I do with them.
<ccooke> Aye
John_Ivan has quit [Read error: Connection reset by peer]
<havenwood> Most recently, Ractors lost the ability to share lambdas, just a couple weeks before 3.1 release. >.> That's a key feature and it'll probably be back but so many mutability issues for now until more things get work to make them shareable.
John_Ivan has joined #ruby
reset has joined #ruby
fef has joined #ruby
truc is now known as bjonnh
<adam12> Interesting.
yassernasc has joined #ruby
mixfix41 has quit [Remote host closed the connection]
random-jellyfish has quit [Ping timeout: 256 seconds]
fef has quit [Ping timeout: 276 seconds]
TomyWork has quit [Quit: Leaving]
mixfix41 has joined #ruby
<adam12> Huh interesting. Just found https://rubydocs.org/
<yassernasc> hello rubyists
<adam12> yassernasc: ohai
<havenwood> yassernasc: 'helloooooo'.squeeze('o')
<adam12> I want to blog about this too. I'm tired of docs being second class in Ruby.
<adam12> If everyone would start by turning off `--no-document` in their development envs, that would be great.
<yassernasc> which are the good use-cases for ruby?
<havenwood> yassernasc: Programming!
<havenwood> yassernasc: It's a general purpose language, so general purpose cases. It's not appropriate for real time or systems programming, but for most things it works great.
ur5us has joined #ruby
Thanzex has quit [Read error: Connection reset by peer]
Guest39 has joined #ruby
Thanzex has joined #ruby
<yassernasc> yeah, i love the ruby syntax and i want to code more using it
Guest39 has quit [Client Quit]
<yassernasc> so, i was thinking to use ruby to backend with Sinatra + mongoid orm
<yassernasc> but about not appropriate for real time.. it is like, using websockets isn't a good idea?
Duneyrr has quit [Read error: Connection reset by peer]
<havenwood> yassernasc: Great for WebSockets. Don't use it to drive your car.
<havenwood> yassernasc: I'd suggest Roda instead of Sinatra.
<havenwood> yassernasc: I wrote a WebSockets plugin for Roda. https://github.com/socketry/roda-websockets
<havenwood> yassernasc: The async-websocket library is awesome with Falcon. https://github.com/socketry/async-websocket
<havenwood> yassernasc: Ruby 3.1 + Roda + async-websocket ftw.
<ox1eef> i noticed standardrb already recomends the {foo:} syntax.
<yassernasc> thanks for the tips havenwood
postmodern has quit [Remote host closed the connection]
darkxploit has joined #ruby
yassernasc has quit [Remote host closed the connection]
duderonomy has joined #ruby
<nakilon> I still don't know what's better in roda than sinatra
<nakilon> btw there is also smaller version of it )) https://github.com/rkh/almost-sinatra/blob/trunk/almost_sinatra.rb
<adam12> hanami-api ! :)
oxfuxxx has joined #ruby
<havenwood> nakilon: A few things. Roda is faster and uses less memory. The plugin system lets you compose the framework you need, and not get stuck with bloat. I've been so burned by namespace pollution with Sinatra and never happens in Roda.
<havenwood> nakilon: If you have tons of routes, it's also preferable since the routing tree handles them efficiently. Sinatra may use finite automata like Rails now but for the longest time was just iterating through an Array of Regexp for route matches and it could slow to a crawl.
<havenwood> nakilon: Basically, Roda is a fresh take on Sinatra with lessons learned and in practice it's just so lovely.
<havenwood> Also, maintained by a member of Ruby core who made it about as lovely as it can be and maintains it alongside Sequel.
<havenwood> adam12: Have you been tempted to port Roda apps to hanami-api? I'm curious.
<adam12> havenwood: Not hanami-api, but more so hanami-router + hanami-controller.
<adam12> tbh, I really miss having a router I can introspect. And when I introduce Roda on teams, they just struggle constantly with the Roda routing tree style of working.
<adam12> I miss having classes too. Somewhere to stick random private methods that are relevant to that specific action.
<havenwood> adam12: Yeah, I generate a routes.json but it's not ideal, for sure.
<adam12> I have some fairly large apps I consult on, so I'm seeing the pain more than I think anyone else is.
<adam12> I generate routes.json too on some projects. It does solve some issues, but there's a disconnect between the comment and the location in the tree.
<adam12> And as per my rant earlier, documentation is often ignored. Moving a routing block doesnt' necessarily mean the person will update the comment about the route :(
<havenwood> adam12: I've looked at hanami and appreciate the internals code quality but haven't had a chance to use it since I've gone Rails or Roda every time in Ruby land in recent years.
<adam12> havenwood: It's moving faster than it has been, which is great. I'd like to contribute more but it's impossible with little ones (as you know)
<nakilon> I had a very funny, disgusting and shameful encounter with hanami developer
<adam12> I enjoy Roda+Sequel because Jeremy has a regular release cadence. I'm not stuck on my own forks for eternity.
<havenwood> For small apps, Roda+Sequel has for sure been lovely.
<adam12> Jeremy's ethics of OSS maintainership are a blessing when I'm just trying to get stuff done.
<nakilon> (I mean the russian one)
<havenwood> adam12: Curious if you've checked out Utopia? https://socketry.github.io/utopia/
<adam12> havenwood: I've flirted with my own framework, using hanami-router and hanami-controller, in the spirit of Merb. I spent some time on it last year, but it kinda dwindled.
<havenwood> adam12: Nice
<adam12> I'm in the camp of Rails, where a good framework is _extracted_.
<adam12> havenwood: I've seen Utopia. Samuel has an interesting approach to APIs that doesnt' always jive with me.
<havenwood> Speaking of no docs, https://github.com/socketry/lively
<adam12> havenwood: Tho he has something in Utopia I absolutely want to steal, and it's the custom element stuff. <foo:bar></foo:bar>
<havenwood> adam12: I agree it's interesting but not something I'm jumping at either.
<havenwood> lively is super cool though
<adam12> I was bullish on Padrino for a while but it kind of suffers from maintainership issues, which is fine.
<adam12> I'd love to see something like the PHP League, but for Ruby. So many good gems just die off, when it would be easier to share the load.
<adam12> Have a core group of maintainers that can all cut releases for libraries, instead of it falling on just one person.
<havenwood> adam12: Yeah, oddly the best stuff is often heroed by a single person.
_ht has quit [Remote host closed the connection]
<adam12> nakilon: those russians :P
* havenwood looks at ioquatix and jeremy evans
<adam12> Yeah. I can see why, for sure.
<adam12> The dry-rb org seems to do OK, but it's definitely one "hero" and a few people with commit/release abilities.
<adam12> one hero per project, that is. Not for the entire org.
<adam12> I guess now that I've said it, the Dry.rb org is similar to the PHP League.
<havenwood> League of Extraordinarily Dry Ruby
<nakilon> I wish dryrb had anything to do with DRY
<adam12> nakilon: lol.
<leah2> :D
<leah2> i'm totally out of the loop wrt web frameworks it seems
<nakilon> if I want to fool people and make them adopt a pile of random gems I'll call it a oop-rb
<adam12> There's some interesting stuff coming out from Sharon Rosner (original author of Sequel) lately too.
<nakilon> make a website, create a sect^W^W^W
<adam12> We seem to have a few super-producers.
gproto23 has quit [Ping timeout: 256 seconds]
<havenwood> adam12: I wonder how Tipi does so well compared to Falcon. Good stuff.
<adam12> havenwood: I haven't explored it yet. Tho interestingly, it's following a similar change in hanami for passing in request and response as individual args. A divergence of the Rack API.
<havenwood> I guess it's just out of the box tuning and one configures more aggresively.
<havenwood> Probably closes the gap to use `falcon serve --preload` but still, great performance.
<adam12> Kinda interesting too.
<adam12> So much interesting stuff.
bluedust_ has joined #ruby
bluedust has quit [Ping timeout: 240 seconds]
teclator has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
bluedust_ has quit [Ping timeout: 240 seconds]
<nakilon> error: Async::Task [oid=0xc3c8] [ec=0xc3dc] [pid=50344] [2022-01-20 00:52:27 +0300] | RuntimeError: You want to finish 3 frames, but stack size is only -7
<ox1eef> puma-dev is really nice, it makes it easy to serve personal web apps over the local network.
<nakilon> also have stack size -161 lol
bluedust has joined #ruby
<nakilon> looks like I can't just call byebug inside this async stuff ..\
bluedust_ has joined #ruby
<nakilon> it just throws thousands of such errors
<nakilon> starting with this one: Async::Task [oid=0xc3a0] [ec=0xc3b4] [pid=50344] [2022-01-20 00:52:27 +0300] | Errno::EIO: Input/output error - read
<nakilon> how do I debug then?
bluedust has quit [Ping timeout: 250 seconds]
bluedust_ has quit [Remote host closed the connection]
<nakilon> really, I have no clue how to debug and fix when this thing starts throwing thousands error for other reasons
<nakilon> and am not sure where the error was really stopping my threads
Guest63 has joined #ruby
<Guest63> Slm
Guest63 has quit [Client Quit]
oxfuxxx has quit [Ping timeout: 240 seconds]
Thanzex has quit [Read error: Connection reset by peer]
Thanzex7 has joined #ruby
<nakilon> if I put the "abort" there instead of byebug to then just inspect the file artifacts nothing happens, no error in log, program is still going
<nakilon> but if I after that do ^C I get back into bash with no backtrace and the process is still running in background
<nakilon> _<>
Guest9014 has joined #ruby
havenwood has quit [Quit: The Lounge - https://thelounge.chat]
havenwood has joined #ruby
Jonopoly has joined #ruby
Jonopoly has quit [Quit: WeeChat 3.0]
mixfix41 has quit [Quit: leaving]
perrierjouet has quit [Quit: WeeChat 3.4]
szkl_ has quit []
szkl_ has joined #ruby
szkl_ has quit [Client Quit]
szkl has joined #ruby
<nakilon> I feel like once some async routine gets an error the whole stdout is fucked and is frozen
<nakilon> I see that new and new routines are starting and ending but there is no output anymore while each of them had to puts a line
<nakilon> and the error or whatever it is that has frozen by stdout isn't printed, the terminal is just stuck
<nakilon> oh now it's printing, thousands of lines of backtraces
ZAJDAN1 has joined #ruby
<nakilon> yeah I throw a Timeout in them and when it happened instead of printing it and crash it was accumulating a ton of backtraces to then spit out them as " 5m error: Async::Task ... | Timeout::Error: execution expired" for several minutes to finally abort yet not finishing the whole list of tasks as I understand from the
<nakilon> progressbar gem
<nakilon> I suppose it has to either go to the end or abort on the first fail, not this useless intermediate behaviour
ZAJDAN has quit [Ping timeout: 256 seconds]
<nakilon> yeah it has processed something between 45 and 70 percents of tasks and now I'll have to start it over again two-three more times
<nakilon> https://i.imgur.com/mAvihdu.png see this gap between ~45% and ~75% ? that's when the console was stuck and it was working silently to then finally abort and spit the backtraces; now it's stuck again... neither ensuring to go to the end, nor to print me the progress
<nakilon> if you ask how do I know that it didn't try to execute all the tasks? I see that they didn't add anything to my cache
<weaksauce> tough to say
John_Ivan_ has joined #ruby