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