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]
<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
<|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>
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
<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)
<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.