tenderlove has joined #rubinius
gugl_ has quit [Quit: gugl_]
gugl_ has joined #rubinius
gugl_ has quit [Client Quit]
tenderlove has quit [Ping timeout: 272 seconds]
tenderlove has joined #rubinius
amsi has quit [Quit: Leaving]
meh` has quit [Ping timeout: 240 seconds]
havenwood has quit []
pwh has joined #rubinius
|jemc| has joined #rubinius
havenwood has joined #rubinius
pwh has quit []
jfredett-w has joined #rubinius
havenwood has quit [Remote host closed the connection]
cyndis_ has joined #rubinius
atambo has joined #rubinius
eregon_ has joined #rubinius
leocassarani_ has joined #rubinius
LTe_ has joined #rubinius
alexsuraci_ has joined #rubinius
machty_ has joined #rubinius
locks_ has joined #rubinius
Y_Ichiro has joined #rubinius
Y_Ichiro has joined #rubinius
jnh_ has joined #rubinius
mrb_bk_ has joined #rubinius
Bish_ has joined #rubinius
Mugatu_ has joined #rubinius
leocassarani has quit [*.net *.split]
jnh has quit [*.net *.split]
postmodern has quit [*.net *.split]
machty has quit [*.net *.split]
mrb_bk has quit [*.net *.split]
sbryant has quit [*.net *.split]
locks has quit [*.net *.split]
imajes has quit [*.net *.split]
jfredett-w1 has quit [*.net *.split]
Mugatu has quit [*.net *.split]
alexsuraci has quit [*.net *.split]
halorgium has quit [*.net *.split]
Bish has quit [*.net *.split]
mpapis has quit [*.net *.split]
dbussink has quit [*.net *.split]
cyndis has quit [*.net *.split]
Y_Ichiro_ has quit [*.net *.split]
LTe has quit [*.net *.split]
atamb0 has quit [*.net *.split]
eregon has quit [*.net *.split]
Mugatu_ is now known as Mugatu
imajes has joined #rubinius
leocassarani_ is now known as leocassarani
dbussink has joined #rubinius
alexsuraci_ is now known as alexsuraci
mpapis has joined #rubinius
locks_ is now known as locks
mrb_bk_ is now known as mrb_bk
noop has joined #rubinius
machty_ is now known as machty
postmodern has joined #rubinius
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #rubinius
havenwood has joined #rubinius
JohnBat26 has joined #rubinius
noop has quit [Ping timeout: 260 seconds]
JohnBat26 has quit [Client Quit]
_Stranger_ has joined #rubinius
_Stranger_ has quit [Client Quit]
tenderlove has quit [Ping timeout: 244 seconds]
_Stranger_ has joined #rubinius
_Stranger_ has quit [Client Quit]
JohnBat26 has joined #rubinius
sbryant has joined #rubinius
halorgium has joined #rubinius
josh-k has joined #rubinius
josh-k_ has quit [Ping timeout: 260 seconds]
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
josh-k has quit [Remote host closed the connection]
josh-k has joined #rubinius
josh-k has quit [Read error: No route to host]
josh-k_ has joined #rubinius
pwh has joined #rubinius
mpapis has quit [*.net *.split]
dmilith has quit [*.net *.split]
jeremyevans has quit [*.net *.split]
|Blaze| has quit [*.net *.split]
justinmcp_ has quit [*.net *.split]
coffeejunk has quit [*.net *.split]
justinmcp_ has joined #rubinius
dmilith has joined #rubinius
jeremyevans has joined #rubinius
|Blaze| has joined #rubinius
mpapis has joined #rubinius
coffeejunk has joined #rubinius
pwh has quit []
josh-k_ has quit [Remote host closed the connection]
JohnBat26 has joined #rubinius
havenwood has quit [Remote host closed the connection]
josh-k has joined #rubinius
tenderlove has joined #rubinius
tenderlove has quit [Ping timeout: 244 seconds]
noop has joined #rubinius
flavio has joined #rubinius
flavio has joined #rubinius
|jemc| has quit [Ping timeout: 255 seconds]
RageLtMan has joined #rubinius
<yorickpeterse> morning
<RageLtMan> That it is. Damnit.
tenderlove has joined #rubinius
tenderlove has quit [Ping timeout: 260 seconds]
postmodern has quit [Quit: Leaving]
RageLtMan has quit [Ping timeout: 245 seconds]
RageLtMan has joined #rubinius
josh-k has quit [Remote host closed the connection]
josh-k has joined #rubinius
josh-k has quit [Ping timeout: 255 seconds]
elia has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #rubinius
josh-k has joined #rubinius
josh-k has quit [Ping timeout: 260 seconds]
josh-k has joined #rubinius
meh` has joined #rubinius
<cremes> yorickpeterse: met up with brixen and got some insight into his plans. i understand why he wants to keep them on the down low for a while. it’s going to be hard to wait…
<cremes> but i am re-inspired to look at my IO branch where i replace c++ with FFI
<yorickpeterse> :P
<yorickpeterse> welcome to the secret club
<cremes> heh
<cremes> i just want my hands on the console now
<cremes> 2.3.0 will have the plumbing but it won’t be fully hooked up until a later release unfortunately. i like the plans he has…
<yorickpeterse> Yeah the next few months should be interesting
<yorickpeterse> 2015 might be the year of the Rubinius desktop/server
<yopp> hum
<yopp> what this secret shushing is all about?
<yorickpeterse> nothing
<yopp> move long, there nothing to see folks? ;)
josh-k has quit [Remote host closed the connection]
kagaro has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
<yorickpeterse> yup
josh-k has joined #rubinius
<yopp> :(
<yopp> Crap, it's 2014, and still I spent like 6 weeks doing fucking lot of paperworks
johnmuhl has joined #rubinius
josh-k has quit [Remote host closed the connection]
josh-k has joined #rubinius
tenderlove has joined #rubinius
josh-k has quit [Ping timeout: 258 seconds]
tenderlove has quit [Ping timeout: 255 seconds]
josh-k has joined #rubinius
<headius> cremes: do the plans include mcjit?
<headius> I don't know what llvm release schedule is, but as soon as 3.6 comes out people are going to start to ask
<yorickpeterse> headius: not within the next 2-3 months most likely
<yorickpeterse> mcjit is going to be a lot of work
<headius> it's that different?
<headius> I only know a little of the old API
<yorickpeterse> It's a completely different thing from what I gather
<headius> lovely :-\
<yorickpeterse> different APIs, not supporting the same stuff, etc
<headius> they must not have many users of the old API if they can just toss it out
<headius> or they don't care :-)
<cremes> headius: that’s an implementation detail to which i am not privy. but i assume the latest llvm facilities will be used. :)
<headius> 3.6 removes the JIT API that Rubinius currently uses, though
<headius> cremes: sounds lke this console should be nice to have...I've looked through some of the metrics at least
JohnBat26 has quit [Excess Flood]
JohnBat26 has joined #rubinius
gugl_ has joined #rubinius
josh-k has quit [Remote host closed the connection]
josh-k has joined #rubinius
josh-k has quit [Ping timeout: 240 seconds]
havenwood has joined #rubinius
max96at|off is now known as max96at
tenderlove has joined #rubinius
meh` has quit [Ping timeout: 255 seconds]
noop has quit [Ping timeout: 272 seconds]
RageLtMan has quit [Remote host closed the connection]
noop has joined #rubinius
enebo has joined #rubinius
pwh has joined #rubinius
meh` has joined #rubinius
gugl_ has quit [Quit: gugl_]
<brixen> umask will override explicit mode param to mkdir() but you can turn around and just chmod() it
<brixen> so much love for unix
<brixen> meanwhile fork, exec, spawn, backtick all work flawlessly but system(), which uses spawn(), has some maddeningly non-deterministic behavior
TheMoonMaster has quit [Quit: Later!]
<yorickpeterse> The beauty of Unix is that it provides you with an infinite amount of ways to stab yourself with a fork
TheMoonMaster has joined #rubinius
<yorickpeterse> except the fork really is a spoon with a gap in it
noop has quit [Ping timeout: 255 seconds]
|jemc| has joined #rubinius
gugl_ has joined #rubinius
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubinius
<brixen> 171 spawn expectations complete deterministically and correctly
<headius> what gets me about umask is that there's no way to get it without setting it
<headius> genius design there
<brixen> I can't get 17 goddamn system specs to complete
<cremes> yorickpeterse: can you get that unix/fork/spoon joke down to under 140 chars so i can tweet it? :)
meh` has quit [Ping timeout: 245 seconds]
amsi has joined #rubinius
flavio has quit [Quit: WeeChat 0.4.1]
<brixen> cremes: perhaps, "The beauty of Unix is stabbing yourself with a spork."
meh` has joined #rubinius
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
<cremes> heh
elia has quit [Quit: Computer has gone to sleep.]
<headius> amazing how many words you can remove
gugl_ has quit [Quit: gugl_]
meh` has quit [Quit: I don't want to live on this planet anymore.]
meh` has joined #rubinius
<Gibheer> even shorter: kill $(ps -o pid)
<Gibheer> oh, the fork is missing
<locks> anyone know why ansi is having trouble getting installed on Travis? https://travis-ci.org/mustache/mustache/jobs/37956613#L76
<yorickpeterse> cremes: sorry, the joke is copyrighted
<yorickpeterse> what the heck, Travis is still on RubyGems 2.1.5?
<yorickpeterse> locks: also, you're still using rbx 2.11
<yorickpeterse> * 2.1.1
<yorickpeterse> so that might explain it
<yorickpeterse> use rbx-2 in .travis.yml instead of rbx-2.1.1
<yorickpeterse> meh, I'll PR that
<locks> <3
<yorickpeterse> "You can take advantage of Go's elegant type system and other compile-time checks that can have a huge impact on bug detection and the ability to refactor, especially for big projects."
<yorickpeterse> Ah yes
<yorickpeterse> Type systems: the magical silver bullet that somehow helps with refactoring
<yorickpeterse> Type system goes in, refactored code comes out
<Gibheer> yorickpeterse: don't forget to sacrifice the type fairy with every refactor or else it won't work
<yorickpeterse> heh
elia has joined #rubinius
<headius> yorickpeterse: have you ever used a static-typed language with a good refactoring tool? It's like night and day, even compared to great smalltalk refactoring that gets trotted out
<headius> I don't buy into a lot of static typing benefits, but perfect refactors are definitely one of them
elia has quit [Ping timeout: 260 seconds]
enebo has quit [Ping timeout: 260 seconds]
enebo has joined #rubinius
postmodern has joined #rubinius
<yorickpeterse> headius: you can have those tools without static typing
<yorickpeterse> I believe RubyMine has it
<headius> RubyMine cannot do perfect refactors
<headius> it does make a pretty good guess, as far as Ruby tools go
<Rotonen> jetbrains is a company capable of producing very good compromises for the market, IMO
<headius> indeed
<headius> and they have an army of russian IDE ninjas to do it for them
noop has joined #rubinius
<Rotonen> then again there are some ugly hacks here and there, even on quite fundamental levels
<Rotonen> i could never marry rubymine with jruby or rbx so far
<headius> rubymine as part of the full intellij does ruby + jruby + java refactoring, step debugging, etc
<headius> step from ruby code into some other JVM language and back, etc...wild stuff
<Rotonen> sounds xcode level stack debug magic, not bad
<Rotonen> not doing too much java, so prolly not worthy of the cost
<headius> for intellij? probably not
<headius> we use it for JRuby dev, but we get a free OSS license
<headius> java.lang.ClassFormatError: Too many arguments in method signature in class file lib/ruby/$2_dot_1/date/format
<Rotonen> i've used pycharm and rubymine in the past
<headius> oops
<headius> sorry, JIT work in JRuby
<Rotonen> these days i am mostly doing lighter stuff on python and ruby and testing out github atom has fitted the bill decent enough
<Rotonen> their product i most enjoy is the issue tracker, youtrack
<Rotonen> so far best keyboard usability i have seen in one of those
<headius> Rotonen: ahh yeah, you like it?
<headius> we thought about using that when we moved issues to github
<Rotonen> IMO the github issues are still quite of a stub
<Rotonen> getting there, but not perhaps the best
<Rotonen> the git integration is of course nice, but since we host and manage our own git thingies for multiple reasons, not really on the table either
<Rotonen> but then again, most issues require just a brief exchange of a few lines and a patch, so the github tracker is fine
<Rotonen> but youtrack is neat, you just plop the war into your jetty and do a simple webfront config and it works marvellously
<Rotonen> i'd not do the default jar installation or go for their cloud offerings, though
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #rubinius
<yorickpeterse> oh boy, String#tr is quite the rabbit hole
tenderlove has quit [Ping timeout: 246 seconds]
JohnBat26 has joined #rubinius
amsi has quit [Ping timeout: 240 seconds]
<brixen> yorickpeterse: hows oga?
<brixen> the sooner we can replace nokogiri the better
<yorickpeterse> brixen: working on CSS selectors, starting on the CSS -> XPath compiler this week
<brixen> ok
<yorickpeterse> CSS should be out at the end of this month
<brixen> is that all that's needed to use it in place of nokogiri?
<yorickpeterse> Then I'll start swapping things at $WORK
<yorickpeterse> also still need to come up with a good sales tactic to convince the aws-sdk folks to use it :P
<yorickpeterse> Though "It doesn't crash" is a pretty good one I'd say
<brixen> to put it differently, when should I have people here replace nokogiri? :)
<brixen> I thought aws-sdk had other threading issues?
<yorickpeterse> If your stuff isn't CPU time constrained, within a month or two
<yorickpeterse> That too
<yorickpeterse> But it uses Nokogiri under the hood
<yorickpeterse> (AWS API is enterprise XML)
<yorickpeterse> I do have to test how stable it is once I fix the thread-safety stuff
<yorickpeterse> better HTML handling is slated for the end of November/early December
<yorickpeterse> kinda depends on how quickly I can nail that one
<yorickpeterse> My goal is to have at least non Nokogiri depending stuff here at $WORK to run on rbx before the end of the year
<yorickpeterse> inc our Rails apps
<Gibheer> yorickpeterse: would you say it works well for parsing xml? I have a small part where I need to extract stuff from xml, so I could use it there
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
flavio has joined #rubinius
<|jemc|> Now that I think about it I had a small lib that is using nokogiri to read a few XML config files that could be switched over
elia has joined #rubinius
<yorickpeterse> Gibheer: yes?
<yorickpeterse> I mean, why would I talk down on my own stuff when so actively working on it? :P
<yorickpeterse> perf wise it's fine for smaller XML, larger XML is still a bit of a hit and miss
meh` has quit [Quit: I don't want to live on this planet anymore.]
<yorickpeterse> (where larger is >= 10MB)
meh` has joined #rubinius
noop has quit [Ping timeout: 260 seconds]
<Gibheer> I didn't want you to talk it down, but my coworkers started using my software where I said it wasn't ready and till now it worked surprisingly good :D
cypher23 has quit [Remote host closed the connection]
<yorickpeterse> heh
<yorickpeterse> Oga can currently do around 2,5 MB/sec
<yorickpeterse> s/do/parse
<yorickpeterse> if it wasn't for racc that would've been 20 MB/sec
cypher23 has joined #rubinius
pwh has quit []
josh-k has joined #rubinius
pwh has joined #rubinius
pwh has quit [Client Quit]
<Gibheer> sounds good to me. I will include it otomorrow ;)
tenderlove has joined #rubinius
amsi has joined #rubinius
<yorickpeterse> brixen: what black magic do we use to hide instance variables in core classes?
<yorickpeterse> e.g. String has @num_bytes, but that's not exposed using #instance_variables
<brixen> none of the slots are exposed in instance_variables
<yorickpeterse> slots?
<brixen> I was considering changing that
<yorickpeterse> Ah
<yorickpeterse> So that's what those comments were for
<yorickpeterse> I always thought they were just there for...."reasons"
havenwood has quit [Ping timeout: 264 seconds]
<brixen> heh
<jnh_> good morning all
<brixen> hey jnh_
jnh_ is now known as jnh
<jnh> organising a rails camp sucks. I'm never doing it again.
<yorickpeterse> oh?
<jnh> a bunch of folks said they'd help and then they've all had to dip out for reasons.
<jnh> so now I'm pretty much doing it all solo.
havenwood has joined #rubinius
<yorickpeterse> oh, that's typical
<yorickpeterse> that always happens, with any event
<jnh> still, things are progressing nicely, even if it's stressful for me.
<jnh> http://camp.ruby.org.nz in case anyone is interested
<yorickpeterse> Sadly nz is a bit too far away :/
<jnh> heh
<jnh> well it's the weekend before RubyConf AU in Melbourne, so it makes an excellent double
<yorickpeterse> fuck, my idea to abuse Regexp for String#tr makes things super slow
<yorickpeterse> 16.51 times slower actually
<jnh> ouch. are you using /o ?
<brixen> yorickpeterse: I think we had something like that in early 2007
<yorickpeterse> hm never used that option
<yorickpeterse> brixen: heh
<yorickpeterse> Right now I'm trying to see what exactly make up of String#tr. The current implementation is a behemoth
havenwood has quit [Ping timeout: 264 seconds]
<yorickpeterse> s/make up of/makes up
<yorickpeterse> jnh: still slower sadly
<brixen> what's the issue with #tr?
<yorickpeterse> brixen: bunch of people reported pretty big perf issues with Rails
<yorickpeterse> which apparently uses #tr
<brixen> have you benchmarked it?
<brixen> and profiled it?
<yorickpeterse> https://github.com/rubinius/rubinius/issues/2522 I have a micro benchmark here just to measure String#tr itself, mainly looking if there's even something we can improve atm
<yorickpeterse> fek, I was running my bench under MRI
<yorickpeterse> (╯°□°)╯︵ ┻━┻
havenwood has joined #rubinius
max96at is now known as max96at|off
<brixen> yorickpeterse: when someone reports something slow, you have to be sure to deconstruct what they are saying
<brixen> also, one of the first questions should be, what % of runtime is this slow thing
<brixen> literally no one heeds amdahl's law
<brixen> make something 5000x faster... oh look, shaved a second off
<yorickpeterse> brixen: Very true, but I believe grug or w/e their name was yesterday did show some profiler output that looked pretty bad (of a web request)
<yorickpeterse> with String#tr and some associated stuff taking about 30% of the time, with everything else being far lower
<yorickpeterse> So basically the most time, if I read it correctly, was spent in String#tr
<yorickpeterse> whether that's actually the case is hard to say, but it got me interested
max96at|off is now known as max96at
<brixen> they should be able to provide a repro in that case
<yorickpeterse> if only getting repros was as easy with bug reports :P
<brixen> no kidding
<brixen> what version of Rails btw?
<yorickpeterse> Hm, not sure, the gist (https://gist.github.com/gugl/c1fc369a91c6cd139b49) doesn't really show that
<yorickpeterse> haha, the JIT fucks up my code
<yorickpeterse> it somehow optimizes it up to the point where it breaks
<yorickpeterse> I guess the fastest code is non working code
<brixen> what's in this block? String::tr_trans<2452> {}
<yorickpeterse> brixen: that's our actual String#tr code
<yorickpeterse> String#tr calls String#tr_trans, which does the actual work
<brixen> yeah, no surprise this is slower than MRI
<yorickpeterse> Hm, it seems that the JIT gets confused when block args shadow method args
<yorickpeterse> lemme gist this
<|jemc|> yorickpeterse: the JIT on master sometimes has problems with blocks that take multiple args - there's an open issue
<|jemc|> if that's applicable.
<|jemc|> I'll find it
<yorickpeterse> hm, that could be the one
<yorickpeterse> also behold my terrible code that does like 1% of String#tr
<yorickpeterse> oh wtf, renaming args doesn't even help
<brixen> shouldn't be related to shadowing
<brixen> it's not assigning the block's args correctly
<yorickpeterse> No, I just renamed the args and it still occurs
<|jemc|> the issue I linked to is not shadow-related
<yorickpeterse> (so yes, it's that issue)
<|jemc|> k
<|jemc|> I worked around it by using the one-arg form of things like each_pair and unpacking the array with masgn inside the block
<|jemc|> err.. one-parameter form I should say
<yxhuvud> rails usage of string#tr? I bet it is some string sanitization going on. (also, iirc, #tr is crazy fast on mri since it is so simple. using regexp is really getting out the bazooka to swat a mosquito)
<brixen> yxhuvud: and just as effective :)
max96at is now known as max96at|off
<yxhuvud> the concept is simple. They seem to either optimize it or complicate it somewhat
<brixen> if only we had a decent language for describing character maps
<brixen> if only we knew anyone who knows how to write languages
<brixen> if only we had a system to implement languages
<|jemc|> brixen: how are those parsing-related bytecode instructions coming along :P
<brixen> if only I had an implementation of some language to test the parsing bytecode :P
<|jemc|> heh
kfpratt has joined #rubinius
<yxhuvud> yorick: also, while that code is somehwat complicated, compare what it does to the machinery a regexp has to setup and execute and it really isn't all that. It is a lot of code since there are a few if bracnhes.
<brixen> yorickpeterse: write haskell implementation
<brixen> that would undoubtably be easier to port and understand than MRI-style C code
<yorickpeterse> brixen: are you telling me to gut my eyes?
<brixen> even if you don't know haskell
<jnh> yorickpeterse: prove yourself a bytecode pro and implement it with dynamic method.
<brixen> yorickpeterse: no, I'm trying to save your eyes
<yorickpeterse> only about 1,5 years too late :P
<jnh> either that or Rubinius.primitive.string_tr
<yorickpeterse> jnh: we can do this without C++
flavio has quit [Quit: WeeChat 0.4.1]
<jnh> see, you're already one step ahead of the other team :)
<yorickpeterse> Once upon a time I said to myself "lets port some stuff over from the MRI CAPI to the Rbx CAPI"
<yorickpeterse> ever since I've been hitting the booze
<yorickpeterse> of course just now do I actually notice we have String#tr_expand!, removing much of the cruft I'd otherwise have to implement
elia has quit [Quit: Computer has gone to sleep.]
<brixen> yorickpeterse: maybe just delegate to this? http://formatjs.io/
tenderlove has quit [Remote host closed the connection]
<yorickpeterse> haha
elia has joined #rubinius
<brixen> my kingdom for a graph processor
<brixen> I'm actually very curious what will replace Rails
<brixen> something needs to
<yorickpeterse> Probably nothing for another 5 years or so
<brixen> that's too long
<jnh> I think it'll morph.
<brixen> jnh: I don't see the will or the way
<jnh> people are going to do more and more API and less and less HTML with it and it'll morph into that tool.
<jnh> in my consultancy we do about 90% Ember + Rails API and 10% Rails HTMl
tenderlove has joined #rubinius
<yorickpeterse> brixen: Rails has been around for 10 years now, it's too settled in for people to suddenly ditch it alltogether
<yorickpeterse> Sure there's shit on HN, but those are the people that swap tech every year anyway
<brixen> HN aside, entrenched is never a real argument
<brixen> other than for Java
<brixen> but even that's changing
<yorickpeterse> No, but what I mean is that I don't see it being replaced in the next 5 years
jnh has quit [Remote host closed the connection]
enebo has quit [Quit: enebo]
elia has quit [Quit: Computer has gone to sleep.]
<yorickpeterse> shoot, my String#tr hack is going places
<yorickpeterse> at least it (so far still) supports unicode
<yorickpeterse> which the current String#tr doesn't
<yorickpeterse> e.g.'Héllo world, how are you doing?'.tr('d-é', '*') returns "H**** *****, *** a** *** *****?" on MRI
<yorickpeterse> But on Rbx it just craps out
<yorickpeterse> webscale String#tr, here we come
jnh has joined #rubinius
jnh has quit [Ping timeout: 272 seconds]
kfpratt has quit [Remote host closed the connection]
pwh has joined #rubinius
<headius> yorickpeterse: are you rewriting it or just trying to improve the existing one?
<|jemc|> headius: at least in his earlier gist he's rewriting it in ruby
<headius> ugh...I wanted to run it in JRuby and see if I could give any other profile info, but it uses a primitive :-\
<headius> the existing one, that is
<headius> bummer, looks like it has been that way for a long time
|jemc| has quit [Ping timeout: 272 seconds]
jnh has joined #rubinius