enebo has joined #jruby
xardion has quit [Ping timeout: 246 seconds]
xardion has joined #jruby
<lopex> yet, ppl dont know about cache locality for nowadays archs
<lopex> and somehow oa is a variant of cockoo right ?
MatrixBridge has joined #jruby
MatrixBridge has left #jruby ["User left"]
MatrixBridge has joined #jruby
MatrixBridge has left #jruby ["User left"]
kares[m] has joined #jruby
<kares> okay so we have an irc bridge to matrix
<kares[m]> kares:
<kares[m]> kares: that is nice!
<kares> enebo: it seems to work nicely with IRC
<kares> all IRC users from here are seen in matrix
<kares> think I will switch to matrix for a while ...
<kares> here's the matrix channel from riot.im (a web matrix client): https://riot.im/app/#/room/#jruby:matrix.org
olleolleolle has joined #jruby
olleolleolle has quit [Quit: olleolleolle]
claudiuinberlin has joined #jruby
olleolleolle has joined #jruby
shellac has joined #jruby
olleolleolle has quit [Quit: olleolleolle]
olleolleolle has joined #jruby
<lopex> kares: do I need an ivitation or something ?
<kares[m]> lopex: nope, nothing and you could also just stay on IRC and everything should work
<kares[m]> but you do need to register with matrix if you want to use riot or any of the clients (instead of IRC)
<kares[m]> the jruby room on matrix is public
shellac has quit [Quit: Computer has gone to sleep.]
<nirvdrum> lopex: Interesting feedback, thanks. I figured any organization using mainframes was unlikely to be relying on Ruby.
shellac has joined #jruby
jrafanie has joined #jruby
jrafanie has quit [Ping timeout: 244 seconds]
<lopex> nirvdrum: recently we migrated nation wide database to unicode from ebcdic
<lopex> nirvdrum: but I bet most european countries still have localized ebcdic databases
<nirvdrum> Ahh. Good to know.
<lopex> it's very hard to convert if you have online and batch programs using ebcdic
<lopex> espacially c ones
<lopex> nirvdrum: all libc on iseries functions like tolower for example us ebcdic
<lopex> *ue
<lopex> *use
<nirvdrum> I would just expect these variable-width non-UTF-8 encodings to lead to some ugly performance profiles for Ruby.
<lopex> nirvdrum: we scanned more than 100 billion records just to asses what column lengths and what varchar allocates to choose
<lopex> nirvdrum: spanish fornames are most offensive
<nirvdrum> lopex: I'm not sure if that was just a typo, but "assess" is very different from "asses" :-P
<lopex> you need like 250 chars for fornames :P
<lopex> lolz
<nirvdrum> Interesting.
<lopex> but polish statistics are quite interesting, 90% of names fit in 16 chars
<lopex> but otherwise they can max at 50
<nirvdrum> I guess I've been lucky. For a long time everyone here used ASCII, then maybe extended Latin-1, then UTF-16, and now UTF-8. I'm sure there are large installations using other encodings, but this is the progression I've seen.
<lopex> fornames I meant
<lopex> nirvdrum: yeah, and since we're in EU we need to integrate all those systems, and have to be prepared for really weird things
<lopex> and fortunately, after expanding column lengths *and* minimizing varchar allocates, the database shrunk :P
<nirvdrum> Nice.
<nirvdrum> lopex: You're not going to RubyKaigi, are you?
<lopex> no, I'm in jail :P
<nirvdrum> That's too bad.
<nirvdrum> I still owe you multiple drinks.
<lopex> that's what I say when anybody asks me about travel :P
jrafanie has joined #jruby
<nirvdrum> lopex: What about wroclove.rb? That one is in Poland, I believe.
<lopex> yeah
<lopex> oh Chris is going to be there
<lopex> just looked it up
<lopex> nirvdrum: oh this was an attempt to provide ascii compatible api https://gist.github.com/lopex/b44742fc8879726a0696df7856520f19
<lopex> custom_iconv_open("IBMCCSID008700000000", "IBMCCSID01208");
<lopex> beauty, right ?
<lopex> 1208 is utf8
subbu is now known as subbu|away
<lopex> you constantly have to convert(1208) and convert(870) to switch between string literal encodings
olleolleolle has quit [Quit: olleolleolle]
CharlesOliverNut has joined #jruby
<CharlesOliverNut> ok this is a little weird, but we'll try it
ThomasEEneboGitt has joined #jruby
<ThomasEEneboGitt> we can reply to matrix but 2 hops back to irc
<ThomasEEneboGitt> @lopex on Freenode ack
<ThomasEEneboGitt> doh he is here
<CharlesOliverNut> @kares I guess you are using registered matrix connection...looks like it is always-on and you can configure what names it uses on other services?
<lopex> @ThomasEEneboGitt syn ack
liamwhiteGitter[ has joined #jruby
<liamwhiteGitter[> rst
<lopex> da madness ensues
MarcinMielyskiGi has joined #jruby
<MarcinMielyskiGi> oh it works
<lopex> kind slow though
<lopex> mielyski
<CharlesOliverNut> it's not terrible
<enebo> I half think the main benefit of this is seeing that something is happening elsewhere
<lopex> like 15 seconds
headius[m] has joined #jruby
<liamwhiteGitter[> right
<enebo> Time test
<enebo> 4s for me from irc -> matrix -> gitter
<headius[m]> hmm
<headius[m]> so there's a missing opportunity then...nickserv and gitter/github integration that lets you use your existing accounts there
olleolleolle has joined #jruby
<enebo> headius[m]: identity services is the only way to lock people in
<headius[m]> The interface on the Riot client is pretty good though
<MarcinMielyskiGi> hilarity ensues
<headius[m]> I appreciate greatly that this is attempting to put a nice face on IRC and everything else
<kares[m]> + there's an android client
<MarcinMielyskiGi> can I change my nick on gitter ?
<kares[m]> but yeah its not perfect - that opportunity to reuse identity won't happen
<kares[m]> duno
<headius[m]> Marcin Mielżyński (Gitter):
<kares[m]> but the gitter integration is lacking since there's only a dummy bot
<kares[m]> they likely do not have an API for acting on behalf of other accounts
<headius[m]> Oops Marcin Mielżyński (Gitter) some UI oddities....it will complete usernames across systems but hitting enter just sends that. 😛
<kares[m]> 😆
<headius[m]> kares: doesn't seem to be a way to customize either end
<kares[m]> and there's emoji!
<kares[m]> there might be some - not sure
<headius[m]> but that seems like a natural progression
<kares[m]> we're just using a free server ....
<headius[m]> ah true
<kares[m]> I like how it bridges irc though
<kares[m]> gitter is ugly-sh but IRC looks neat ;)
<headius[m]> yeah it's pretty clean on IRC; I wonder about nickserv integration
<headius[m]> still would be better to federate auth
<kares[m]> will set you as admin on matrix
<kares[m]> headius: you should be able to try everything I am able to ;)
<enebo> so anyone know of a layering API over this v2 api?
<headius[m]> #32 has a more overarching issue
<enebo> I guess it is only about 5-6 lines to make this call but it seems like rg should have soomethigh which does this?
<headius[m]> enebo: you need bulk access or what?
<headius[m]> or looking for a gem command?
<enebo> headius[m]: I am trying to add cext detection to jruby-lint
<enebo> I realize I can query it via this API worst case
<enebo> I think I will just write the 6-7 lines to get the json and work from there...if someone knows a better way later I can change it
<headius[m]> gem list -a -r '^json$'
<headius[m]> that appears to be the incantation to do it through the command
<headius[m]> that's --all --remote and I guess the expression is a regex
<enebo> headius[m]: yeah but I am not sure I want to load jruby in a jruby process
rdubya[m] has joined #jruby
<headius[m]> right but you can look at list command and see what that would call
<enebo> I guess I could track down how that command is interpd
<nirvdrum> lopex: I'm glad I don't have to deal with that :-P
<enebo> It feels like a bother...and I feel it may be 6-7 lines of code :)
<nirvdrum> enebo: Were you using some sort of Gitter <=> IRC bridge?
mistergibson has joined #jruby
<enebo> nirvdrum: as experiment we have irc <-> matrix <-> gitter brdiging
<enebo> anyone types in any and all three see it, but we don't neccesarily have ability to direct reply in some cases
<enebo> matrix <-> gitter can
<nirvdrum> Nifty.
<nirvdrum> What's matrix though?
<kares[m]> an open protocol
<kares[m]> (typing from a phone, yay)
<headius[m]> OSS, open protocol, and all that...latest hope for secure chat
rdubya has left #jruby [#jruby]
subbu|away is now known as subbu
xardion has quit [Remote host closed the connection]
olleolleolle has quit [Quit: olleolleolle]
xardion has joined #jruby
lopex[m] has joined #jruby
<lopex[m]> my life is complete now
<lopex> lopex[m]: MarcinMielyskiGi: do you agree ?
<lopex> do you use riot os something else ?
<lopex> *or
<headius[m]> I'm using the Riot client on desktop today
<lopex> same here
<kares[m]> me too, also tried a native gnome client: fractal but I like riot's dark mode better
<kares[m]> you guys check out riot on android - very usable
MatrixBridge has joined #jruby
MatrixBridge has left #jruby ["User left"]
<headius[m]> have not yet but I will
<headius[m]> and yeah dark mode client is pretty good...needs better text:whitespace ration
<headius[m]> ratio
LordB has joined #jruby
<LordB> Hello All. We just moved a large application from JRuby 1.7.22 to 9.1.17.0 and saw a performance decrease. How does 9.1 performance compare to 1.7 generally?
<headius[m]> LordB:
<headius[m]> ugh they need to fix that
<headius[m]> LordB: It is kind of a mixed bag but we have continued to improve performance since 9.x was released. Do you have any idea what part of the app is slowing down?
<headius[m]> I of course need to recommend something recent, like a recent 9.2.x
<kares[m]> +1 very general, one would need to take a look what regressed
<headius[m]> While we did have reports of 9.0 and 9.1 perf regressions from 1.7, we have narrowed or eliminated that gap in most places as of current 9.2.x
<kares[m]> btw. I am looking into big-decimal slowness atm ... which some claim was 'much' faster in 1.7
<headius[m]> I don't believe that
<headius[m]> it may be worth looking into a faster BigDecimal lib though
<headius[m]> or seeing if recent JDK is better...I have not run any BD benchmarks on recent JDKs
<LordB> No, I haven't dug into it much yet. Was wondering what the common spots might be. I only upgraded to 9.1 since it was listed as the stable release.
<kares[m]> yeah me neither but I might be onto smt here ... certain ops such as / set large prec for the Java BD
<kares[m]> so I am trying to reduce that as it is getting really slow in certain cases compared to MRI
<headius[m]> kares: that seems familiar...I know at some point we started bumping that precision way up because of some tests or specs
<headius[m]> I'm not sure if MRI has an impl with some sliding scale precision or what
<headius[m]> it was tests like rendering some high precision rational value
<kares[m]> we kind of mirror their prec calculation logic but I do not thing its the same thing
<kares[m]> yep I hit that ... and will start looking into those tests + try adding some more
<headius[m]> ok
drbobbeaty has quit [Ping timeout: 252 seconds]
<headius[m]> kares: you probably remember back when parts of JDK BigDecimal would pass things through String
<headius[m]> toDouble for example used to render the BG as a String and then reparse it
<kares[m]> :)
KeyJoo has joined #jruby
<kares[m]> I know they did rewrite somewhere around 1.4 (from C) and it wasn't perfect
<lopex> I cant find an option to change font size
<headius[m]> lopex: can you speak a little louder please
<lopex> headius[m]: my jail has some pretty soundproof walls
<headius[m]> 😆
<kares[m]> anyway LordB did a last Rails upgrade (helping some folks) like 1.5 year ago from 1.7 to 9.1 ... was all fine (haven't hear from them having issues since) in terms of performance. so it should be good you must be hitting smt weird that we should try isolating
<headius[m]> lopex: patches accepted...I assume this is all OSS too
<headius[m]> 1.5 spacing and larger font
<lopex> well ctrl + - works
shellac has quit [Quit: Computer has gone to sleep.]
<headius[m]> dat spacing
<headius[m]> good to know though
<lopex> yeah spacing is bad too
<lopex[m]> er, that's me
<lopex> now I have mind trifurcation
<kares[m]> lopex: does it feel lonely in there :) ?
<lopex> dunno
<lopex> I tend to not thinkk about it
<LordB> thanks, kares, would you recommend I try 9.2.6 before investing too much time in 9.1?
<kares[m]> I mean you seem to be talking from both sides ...
<kares[m]> LordB: if its not much of a hustle for you guys, go for it since 9.1 is no longer maintained really
<MarcinMielyskiGi> how so ?
<kares[m]> LordB: but if it proves problematic you should just try profiling and understanding what is the major source of slowness
<kares[m]> Marcin Mielżyński (Gitter): 😅
<lopex> kares[m]: now we need discord bridge
<headius[m]> LordB: if you have issues on 9.2 that you don't on 9.1 we definitely would like to know that
<headius[m]> there's a good chance it will be faster, plus if you can't use 9.2 we really need to know why
<LordB> I will give it a try and let you know.
<headius[m]> 👍
<kares[m]> lopex: its not on the menu but there's slack if you're hard-core ;)
lucasb has joined #jruby
shellac has joined #jruby
rusk has quit [Remote host closed the connection]
KeyJoo has quit [Remote host closed the connection]
<LordB> getting this when trying to run with 9.2: LoadError: load error: bson/integer -- java.lang.StackOverflowError: null
<LordB> any tips on how to get more info on an error like that?
<kares[m]> LordB: did you `bundle update bson` to latest ?
<LordB> yes
<kares[m]> sounds like an issue with Integer unification
<kares[m]> okay and could you reproduce that in isolation (outside your Rails app) >?
KeyJoo has joined #jruby
<kares[m]> maybe just loading bson
<LordB> loading bson in irb seems to work
<kares[m]> okay well I you pbly need to do more from the loading process
vovs03 has joined #jruby
<kares[m]> maybe try reproducing in a vanilla Rails app
<headius[m]> hmmm
<headius[m]> bson ext
<headius[m]> oh doesn't use ext in JRuby
mistergibson has quit [Quit: Leaving]
<headius[m]> LordB: gist the output if you can get it to show the expanded trace with -w
<kares[m]> would not blame bson to be the issue - guessing smt specific to your app
<headius[m]> I am assuming 9.2.6
<xardion> Oh sweet, digging this bot
BlaneDabneyGitte has joined #jruby
<BlaneDabneyGitte> Little slow, but it seems to work well
<headius[m]> it's quick enough that if I'm not looking at the other clients I don't notice really
<xardion> Yup yup, definitely fast enough.
<headius[m]> unclear if the visual cues for when the message has been sent mean "sent to matrix" or "sent to everything"
<xardion> IRC is still relevant!
<headius[m]> I assume the former
<headius[m]> xardion: I've been hoping someone would put a gitter-like face over IRC for a long timee
<xardion> indeed
<headius[m]> this isn't quite that but it's close to what I'd like...just wish they'd integrate with nickserv so I could be the correct nickname on IRC
<xardion> yeah, that would be cool, but I guess I'm okay with being BlaneDabneyGitte in here :P
<xardion> Oh, that's interesting, it parsed that nick on the gitter side.
subbu is now known as subbu|hungry
<headius[m]> it does seem to federate identity somewhat
<headius[m]> you just can't pick the other identities from matrix
<lopex> I have an invitation like "You have been invited to join this room by @freenode_freenode-connect:matrix.org"
<lopex> but when I click accept it stalls
shellac has quit [Ping timeout: 252 seconds]
Wikipedia[m] has joined #jruby
<lopex> whoops, that was me
Wikipedia[m] has left #jruby ["User left"]
vovs03 has quit [Quit: vovs03]
<lopex> headius[m]: there's github integration in that integrations thingy
<headius[m]> Nice, we can tell subbu that wikimedia is switching to JRuby
<lopex> and travis too
<headius[m]> lopex: oh nice that's it
<headius[m]> there's IRC integration and you can set nickname I think
<lopex> headius[m]: but it complains about permissions
<lopex> "You don't have permission to post that to the room. user_level (0) < send_level (50)"
MatrixBridge has joined #jruby
MatrixBridge has left #jruby ["User left"]
<lopex> same ?
<headius[m]> oh nevermind
<headius[m]> the IRC integration settings are for the whole room
<headius[m]> the only nick you can provide is the ChanServ op
<kares[m]> yy
<kares[m]> and it was a bit tricky we struggled with that yesterday
<kares[m]> needed to allow -r mode on IRC
<kares[m]> and a channel op needs to authorize the bridge
<kares[m]> for gitter there's no auth involved or anything really - just set the gitter repo name and it installed the bot
<havenwood> what do your [m]s mean?
<lopex> matrix
* havenwood ponders
<havenwood> lopex[m]: ahh, thanks - I didn't know about Matrix
<lopex> kares[m]: this Quaternion is almost usable
<lopex> did anyone try those voice and video thingies ?
<kares[m]> but its qt :)
<headius[m]> ah what the
<headius[m]> I guess that answers that...if you use the audio or video it tries to integrate Jitsi for that
<kares[m]> jitsi what?
<kares[m]> i see ... did not know jitsi!
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<lopex> jitsi is this webrtc thiny
<lopex> works quite well
<headius[m]> OSS all the way down
<kares[m]> yy I switched to a RiscV processor before installing matrix 😎
<lopex> oh this "Use compact timeline layout" works
LordB has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
subbu|hungry is now known as subbu
<enebo> stay hungry my friends
<headius[m]> lopex: I swear I turned that on and it didn't take
<headius[m]> much better
olleolleolle has joined #jruby
<lopex> headius[m]: did you do any invites for this channel explicitly ?
<headius[m]> no
<headius[m]> I think just the accidental jitsi thing
<headius[m]> oh I did mention it on Twitter
<headius[m]> sigh, now we play the "how did this mechanically-refactored diff break some behavior
<headius[m]> ...game
claudiuinberlin has joined #jruby
subbu is now known as subbu|away
<headius[m]> why does the Riot icon show two notifications 😠
KeyJoo has quit [Quit: KeyJoo]
subbu|away is now known as subbu
olleolleolle has quit [Quit: olleolleolle]
devicenull has joined #jruby
<devicenull> so, dumb question... is there anything in jruby that would automatically freeze the second argument here?
<devicenull> realname = name.gsub(/[^\w]/, "_")
<headius[m]> devicenull: huh I don't think it should
<devicenull> I guess I should say, it *isnt* frozen, I was trying to figure out why not
<devicenull> was troubleshooting some memory issues within a jruby app
<headius[m]> you want the passed-in string to become frozen?
<devicenull> yea, so it's not deallocated and reallocated hundreds of thousands of times ;)
<devicenull> I know I can just do .freeze
<headius[m]> I mean the usual tricks from MRI work, like .freeze (optimized by the various VMs to just use a single object)
<headius[m]> yeah
<headius[m]> I forget which of the shorter syntaxes are live now but they work in a similar way
<devicenull> I'm testing #frozen_string_literal: true atm
<headius[m]> -"foo"
<headius[m]> we compile that as an "fstr" which is deduplicated and there's only one instance
<headius[m]> #f_s_l is probably the best option for future if you can do it
jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]