<brixen> yorickpeterse: just make Puma 2x faster in 36 days and you'll steal the thunder
<brixen> or you can try to make unicorn 4x faster
<brixen> I could probably make Puma 2x faster on rbx doing hello world in a week
<brixen> alternatively, I expect Puma will be 2x faster the week after Raptor is released
postmodern has joined #rubinius
<RageLtMan> Seems odd to hype an open source release like this. Could be a great social engineering ploy though to get a ton of ruby devs running payloads on their systems at the same time :)
diegoviola has quit [Quit: WeeChat 1.0.1]
<brixen> RageLtMan: hah
<brixen> it'll be open source, there's never been an obvious exploit in open source ;)
* brixen goes to ponder races and locks and locks and races
<brixen> using p (int)dup2(x, y) in lldb/gdb to get output from a process with no tty is pretty awesome
havenwood has quit []
<RageLtMan> obvious, no, but easy enough.
dimday has joined #rubinius
josh-k has joined #rubinius
josh-k_ has quit [Ping timeout: 272 seconds]
havenwood has joined #rubinius
whatasunnyday has joined #rubinius
jnh has quit [Remote host closed the connection]
havenwood has quit []
jfredett-w has quit [Read error: Connection reset by peer]
jnh has joined #rubinius
whatasunnyday has quit [Quit: whatasunnyday]
saline has quit [Remote host closed the connection]
saline has joined #rubinius
havenwood has joined #rubinius
JohnBat26 has joined #rubinius
byprdct has joined #rubinius
flavio has joined #rubinius
flavio has quit [Changing host]
flavio has joined #rubinius
|jemc| has quit [Ping timeout: 250 seconds]
flavio has quit [Quit: WeeChat 0.4.1]
flavio has joined #rubinius
flavio has quit [Changing host]
flavio has joined #rubinius
havenwood has quit [Remote host closed the connection]
benlovell has joined #rubinius
dimday has quit [Ping timeout: 272 seconds]
jnh has quit [Remote host closed the connection]
noop has joined #rubinius
samflores has quit [Quit: ZNC - http://znc.in]
elia has joined #rubinius
byprdct has quit []
jnh has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
saline has quit [Max SendQ exceeded]
saline has joined #rubinius
byprdct has joined #rubinius
byprdct has quit []
jnh has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
meh` has joined #rubinius
max96at|off is now known as max96at
benlovel1 has joined #rubinius
benlovell has quit [Ping timeout: 245 seconds]
benlovell has joined #rubinius
benlovel1 has quit [Read error: Connection reset by peer]
jnh has joined #rubinius
mbj has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
benlovell has quit [Ping timeout: 272 seconds]
mbj has quit [Quit: leaving]
<headius> TracePoint and set_trace_func differ only in that the former doesn't capture a binding for you (i.e. you can only trace with it)
enebo has joined #rubinius
tenderlove has joined #rubinius
benlovell has joined #rubinius
josh-k has quit [Remote host closed the connection]
jfredett-w has joined #rubinius
noop has quit [Ping timeout: 260 seconds]
<brixen> yorickpeterse: renewing my plea for Oga, nokogiri must DIAF
<chrisseaton> If I'm making module functions by doing def self.foo how do I then annotate that as private?
<chrisseaton> oh sorry, wrong room, ignore me
<yorickpeterse> brixen: haha
jnh has joined #rubinius
<yorickpeterse> brixen: well you'll be glad to know I'm actively working on solving that problem :P
<yorickpeterse> if only parsing those pesky CSS selectors wasn't so painful
<yorickpeterse> (mainly due to the thinking part, the actual code is not that tricky)
<yorickpeterse> Classic case of the 80/20 rule
<brixen> yeah, thinking is always the hardest part
<yorickpeterse> 80% of the time spent thinking, 20% of the time spent coding
<yorickpeterse> still need to scan all my notes so the world can see them
<brixen> except that it's just like laying bricks, which is why project managers are so useful in software engineering
jnh has quit [Ping timeout: 240 seconds]
<yorickpeterse> I think you might be the first programmer that I meet that has that sentiment :P
|jemc| has joined #rubinius
<brixen> I'm a sentimental programmer
<yorickpeterse> brixen: so out of curiosity, what problem did you bump into? Or is it just something generic?
havenwood has joined #rubinius
tenderlove has quit [Quit: Leaving...]
benlovell has quit [Ping timeout: 260 seconds]
tenderlove has joined #rubinius
<brixen> yorickpeterse: re nokogiri?
flavio has quit [Quit: WeeChat 0.4.1]
<yorickpeterse> brixen: yes
<brixen> yorickpeterse: nokogiri will happily segfault 1000s of times a day
<brixen> in MRI too
<brixen> and there's no benefit to trying to fix it because the approach is flawed
diegoviola has joined #rubinius
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
jnh has joined #rubinius
byprdct has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
jnh has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubinius
noop has joined #rubinius
<yorickpeterse> brixen: hm, interesting though that at least for us it doesn't segfault under MRI
<brixen> lsof is such a useful tool
<brixen> ahh at least I know where this damn daemon spec is raising
<brixen> huh, there literally is a String in the ivars_ slot
<brixen> that's weird
JohnBat26 has joined #rubinius
jnh has joined #rubinius
jnh has quit [Ping timeout: 265 seconds]
elia has joined #rubinius
<yorickpeterse> ugh, Linux is depressing
<yorickpeterse> did an update, now I'm stuck with shit like this: https://pbs.twimg.com/media/B0aTNndCQAAes6G.png:orig
<yorickpeterse> it's a scrolled context menu
<yorickpeterse> because you really need that when there's enough space to fit all content in a reasonable box
jnh has joined #rubinius
jnh has quit [Client Quit]
<|jemc|> yorickpeterse: but it's all open source, so you're free to spend 2-3 days working on some half-ass workaround :P
<yorickpeterse> "Free as in fuck you"
<brixen> yorickpeterse: raptorlinux
<brixen> or GTFO :)
<yorickpeterse> if somebody got me a sponsor I might just do that
<yorickpeterse> literally the _only_ thing that prevents <insert-year> from being the year of the Linux desktop are these fucking GUI apps that constantly change and break
<yorickpeterse> and it's like herpes, you might not use Gnome but you're still stuck with GTK because there's this one app you rely on, which then suddenly requires gtk3 and looks like arse
<yorickpeterse> (╯°□°)╯︵ ┻━┻
* yorickpeterse goes back to parsing CSS
<brixen> that's because literally no one in the universe knows how to build GUI apps
<yorickpeterse> OS X seems to do fairly ok
<yorickpeterse> but they're actually paying people for it
byprdct has quit [Read error: Connection reset by peer]
<brixen> yeah
<yorickpeterse> Then again OS X has only 1 desktop environment, Linux has at least 10
<brixen> I installed the yosemite dev iso and *8* updates later, I got a very nice look at how they evolved the visuals
<brixen> they didn't have text lined up correctly in the title bar on the first one
<brixen> yorickpeterse: the Rails of linux desktops
<|jemc|> OS X doesn't support any kind of real retheming, so there's infinitely less to have to worry about
<brixen> perhaps that's by design :)
<|jemc|> I'm sure it is
<yorickpeterse> From the top of my head: Awesome, Gnome, KDE, Xfce, Pantheon/Gaia (whichever it was), i3-something, Cinnamon, ehh
<brixen> maybe linux should learn a thing or two from it
<yorickpeterse> also Chromium now looks like arse since they moved over to their own rendering engine
<|jemc|> I've been dealing with a lot of mobile GUI stuff recently and things get 100x more complicated when you start trying to support arbitrary retheming
<yorickpeterse> While it looked semi native, it now looks like something from outer space
<yorickpeterse> plus they fucked up anti aliasing
<yorickpeterse> actually giving me a headache in the process
<yorickpeterse> (though I'm slowly getting used to it)
<yorickpeterse> I _actually_ spent days trying to tweak all of that about a year ago, then went to have my eyes checked out
<yorickpeterse> Turned out they were fine, Linux was just shit
<yorickpeterse> Then I fixed that, now Chromium messes it up again :/
<yorickpeterse> maybe that's my punishment for running Arch Linux + Xfce
<|jemc|> anyone who runs arch linux is asking for punishment
<|jemc|> I like/use Xfce though
<headius> I'm afraid to go back to X11's uncanny valley
<headius> I'm done with Apple after this machine, though
elia has quit [Quit: (IRC Client: textualapp.com)]
<yorickpeterse> time for some soothing piano music while I bang my head
<yorickpeterse> While I'm grumpy any way, I dislike CSS for making whitespace context sensitive
<yorickpeterse> "x y" -> whitespace means "select all y nodes in all x nodes"
<yorickpeterse> "x > y" -> whitespace means nothing
tenderlove has quit [Remote host closed the connection]
postmodern has quit [Quit: Leaving]
postmodern has joined #rubinius
<brixen> I should add a CRC to object headers
<brixen> yorickpeterse: that rule doesn't seem too bad
<brixen> x<something>y
<yorickpeterse> brixen: it's a tremendous pain to parse
<brixen> x y, x > y, x>y
<brixen> why?
<brixen> they're using space as an operator
<brixen> is that why?
<yorickpeterse> Right, so in order to parse "x y z" you have to define a recursive rule, which is basically in the form of:
<yorickpeterse> test SPACE test | test SPACE tests
<yorickpeterse> where tests basically recurses into the former
<yorickpeterse> Now the problem is that you have to add special rules for "x > y" and "x + y" as the lexer doesn't emit SPACE in those cases (it would have to do lookaheads/lookbehinds)
<yorickpeterse> In Ragel you can technically do it without peeking, but it's more or less the same
<brixen> seems like a PEG would make this easier
<yorickpeterse> you and your darn PEGs :P
<brixen> well, you have that handy predicate
<brixen> x_?y
<yorickpeterse> It's doable in Racc, but I need to unwind this spaghetti a bit more
<chrisseaton> significant whitespace is definitely a good reason to use a PEG
<yorickpeterse> Also, just "> x" is valid too from what I can tell
<yorickpeterse> so you cant just emit a SPACE in the lexer before emitting the ">" (as a hack)
<yorickpeterse> since then you'd have [SPACE, ">", x], which would be a parser error
<yorickpeterse> So the problematic part is that it's context sensitive, not just that it has meaning
<yorickpeterse> if it always had meaning it would be easy
<chrisseaton> again that a strong point for PEGs - you lex as you parse as you can change what whitespace means depending on what you're parsing
* yorickpeterse is now literally shift/reducing grammar on paper, well, for the most part
<yorickpeterse> Funny how paper is still the most useful tool in programming
<yorickpeterse> well, pen + paper
<brixen> pencil + paper, but yeah :)
<yorickpeterse> At some point I switched to pen to prevent myself from erasing notes written using a pencil
<brixen> yorickpeterse: dang, could you link me to your rubygems patch again pls?
<yorickpeterse> sure, gimme a sec
<brixen> promise I'll commit it this time :)
<yorickpeterse> drbrain added some extra patch to it though
<yorickpeterse> because I broke bundler with that
<yorickpeterse> probably should've used a class variable to begin with, but meh
<enebo> yorickpeterse: Are you sure you need whitespace to be a token in expr expr case?
<yorickpeterse> enebo: Yes, otherwise there will be conflicts in the grammar
<enebo> yorickpeterse: just thinking {id} {id} and {id} {op} {id} seem like they can be made exprs
<yorickpeterse> I was initially hoping to just completely ignore whitespace
<yorickpeterse> So then it would be "id id id id id ...."
<yorickpeterse> instead of "id SPACE id"
<enebo> that is just 4 exprs applied of expr match of {id} {id}. but hey I have no paper and pen
<enebo> or I am not using one atm :)
<yorickpeterse> hm, maybe I can nuke the T_SPACE node
<yorickpeterse> (after all)
RageLtMan has quit [Remote host closed the connection]
<yorickpeterse> hmpf no, that brings all sorts of conflicts
<enebo> yorickpeterse: actually started to play with this :)
DanielVartanov has joined #rubinius
DanielVartanov has quit [Remote host closed the connection]
<enebo> yorickpeterse: glancing I would say my exprs rule may conflict with my expr one
DanielVartanov has joined #rubinius
<enebo> yorickpeterse: if there was a mandatory delimeter between exprs it would work better :)
<enebo> yorickpeterse: in my mind I cannot convince myself that LALR/LR cannot work though :)
DanielVartanov has quit [Remote host closed the connection]
<enebo> yorickpeterse: how does your language work with newlines?
<yorickpeterse> enebo: CSS selectors don't support them
<yorickpeterse> well, at least not in this ase
<yorickpeterse> * case
<yorickpeterse> moving the grammar around atm to see if I can do it without a T_SPACE node
<enebo> yorickpeterse: haha I forgot this was for CSS
<enebo> yorickpeterse: I might be asking a dumb question but I notice G.1 of CSS 2.1 has a LALR(1) grammar defined
<enebo> yorickpeterse: It does seem to be defined with WS (S) in it
<yorickpeterse> Yeah, I'm pretty sure it's required
<yorickpeterse> Looking into the various rules, too much would conflict otherwise
<enebo> yorickpeterse: yeah I did something like not define the space rule and then in exprs expr think about whether than can be assumed since they cannot span more than one line. but then you need a newline token
JohnBat26 has quit [Ping timeout: 240 seconds]
elia has joined #rubinius
<enebo> yorickpeterse: and mine is too tiny to say that the other rules would not cause problems
<brixen> yorickpeterse: so, rubygems 2.4.2 appears to have your patch
<brixen> yorickpeterse: was there anything else outstanding related to threading bugs?
tenderlove has joined #rubinius
<yorickpeterse> brixen: not that I know of
<brixen> ok cool
tenderlove has quit [Remote host closed the connection]
tenderlo_ has joined #rubinius
* cremes senses a release is nigh
<yorickpeterse> nah, brixen is updating RubyGems because he enjoys doing that on a Monday :P
noop has quit [Ping timeout: 258 seconds]
<brixen> yep, mondays are reserved for segvs and updating rubygems
max96at is now known as max96at|off
tenderlo_ has quit [Quit: Leaving...]
diegoviola has quit [Remote host closed the connection]
tenderlove has joined #rubinius
<yorickpeterse> So the good news is that I think I got the grammar fixed
<brixen> sweet
<yorickpeterse> the bad news is that it now has 11 shift/reduce conflicts
<brixen> damn
<yorickpeterse> but I can't seem to actually produce them
<brixen> argh
<yorickpeterse> Those are the best shift/reduce problems :P
* brixen is commentary as a service
<brixen> trains, planes, and automobiles
<yorickpeterse> It's due to my recursive rules, but I'm not entirely sure yet why they don't reduce properly
<brixen> bbiab...
enebo has quit [Quit: enebo]
josh-k has joined #rubinius
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #rubinius
<postmodern> love how rbx's build system spins up all my cores
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #rubinius
|jemc| has quit [Ping timeout: 265 seconds]