tylersmith has quit [Remote host closed the connection]
idkazuma has quit [Remote host closed the connection]
mistym has joined #ruby-lang
mistym has joined #ruby-lang
nXqd has joined #ruby-lang
postmodern has quit [Quit: Leaving]
postmodern has joined #ruby-lang
runeb has quit [Remote host closed the connection]
nXqd has quit [Ping timeout: 276 seconds]
krohrbaugh has joined #ruby-lang
brianpWins has quit [Quit: brianpWins]
yaroslav has joined #ruby-lang
<blowmage>
zenspider: curious, what was the issue in ar?
nXqd has joined #ruby-lang
AndChat| has quit [Ping timeout: 245 seconds]
headius has joined #ruby-lang
Banistergalaxy has joined #ruby-lang
arubin has joined #ruby-lang
fowl has quit [Read error: Connection reset by peer]
headius has quit [Quit: headius]
krohrbaugh has quit [Quit: Leaving.]
krohrbaugh has joined #ruby-lang
brianpWins has joined #ruby-lang
krohrbaugh has quit [Client Quit]
bzalasky has joined #ruby-lang
mineiro has quit [Read error: Connection reset by peer]
mineiro has joined #ruby-lang
retro|cz has quit [Ping timeout: 252 seconds]
retro|cz has joined #ruby-lang
yaroslav has quit [Quit: yaroslav]
GeissT has joined #ruby-lang
kith has quit [Quit: kith]
bzalasky has quit [Remote host closed the connection]
slippyd has joined #ruby-lang
bzalasky has joined #ruby-lang
jovy88 has quit [Read error: Connection reset by peer]
jovy88 has joined #ruby-lang
Nisstyre-laptop has quit [Read error: Connection reset by peer]
nXqd has quit [Ping timeout: 245 seconds]
Domon has joined #ruby-lang
runeb has joined #ruby-lang
runeb has quit [Ping timeout: 256 seconds]
asunderland has joined #ruby-lang
krz has joined #ruby-lang
banister`sleep has quit [Remote host closed the connection]
srbaker has quit [Quit: Computer has gone to sleep.]
lacrosse has joined #ruby-lang
nXqd has joined #ruby-lang
Nisstyre-laptop has joined #ruby-lang
jxie has quit [Quit: leaving]
retro|cz has quit [Ping timeout: 240 seconds]
asunderland has quit [Ping timeout: 264 seconds]
mrsolo has quit [Quit: Leaving]
retro|cz has joined #ruby-lang
<zenspider>
blowmage: hi!
krohrbaugh has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
<TheNotary>
I just learned a trick about using '!!' to get a true/false value from things like nil and strings and such. But my IDE shows that ruby throws a little warning when I use the trick. Is the trick bad to use?
<drbrain>
TheNotary: needing exactly true or exactly false is a code smell
<drbrain>
you should almost never need exactly true or exactly false
retro|cz has quit [Ping timeout: 264 seconds]
<TheNotary>
hmm.. What if it's for a function named with a question mark? e.g. valid_yaml_string?
<erikh>
maybe load the yaml and store it elsewhere, and then return the yaml in that method?
<erikh>
err, the hash
<erikh>
or whatever YAML.load returns.
<TheNotary>
yeah a hash
<erikh>
right, so just return the hash
<erikh>
you would already have it loaded and stored by this point
<erikh>
loading it is going to be rather expensive.
<TheNotary>
i'm still in the first pass, so I'm keeping things maxed out in terms of testability and readability, but I note that about saving the yaml output
<erikh>
ok cool. the important thing is that the hash is true
<erikh>
and an array or string from yaml (also possibilities) is also true
<erikh>
now, if the yaml loads and evaluates to false, well, heh
<erikh>
or nil
* erikh
checks
<erikh>
yeah, hah
<erikh>
maybe that's not the best method.
<erikh>
YAML.load('~') is totally legit yaml and totally nil
<erikh>
drbrain: how do you guys deal with this in rubygems?
jxie has joined #ruby-lang
<TheNotary>
lol, I see why he did the !! then. So this is approximately the only case where !! should be implemented? I'm glad I brought the gist into it
<erikh>
no, it doesn't matter
<erikh>
you want an exception here
<drbrain>
erikh: we check for a Gem::Specification explicitly
<erikh>
TheNotary: do you know what type of object you expect?
<erikh>
drbrain: thx
<TheNotary>
erikh: None, this is like a very early stage utility method I'm using
<TheNotary>
if it turns out the thing being loaded isn't proper yaml
<TheNotary>
it trys another url
<TheNotary>
1 sec, lemme pull up the code I'm writing
krohrbaugh has quit [Quit: Leaving.]
<drbrain>
"valid yaml string" ha! there's lots and lots of strings that are nonsense YAML but still valid YAML strings
pskosinski has quit [Quit: pskosinski]
<erikh>
TheNotary: damn near everything is valid yaml
<drbrain>
… and syck (the old parser) allows several invalid yaml strings
<drbrain>
TheNotary: also, loading random YAML from the internet is a great step towards remote code execution
nXqd has quit [Ping timeout: 268 seconds]
<TheNotary>
I'm doing things really hackishly to solve a problem I encountered at a higher level.
Domon has quit [Remote host closed the connection]
<TheNotary>
drbrain: woah, I hadn't thought of that
<TheNotary>
the situation I'm doing is I have a gem going to a github repo
<drbrain>
TheNotary: there's a lower-level API in psych that allows you to work around this
<TheNotary>
or it's going directly to a file on a github repo
<drbrain>
if you can fix the URL and verify certificates, you should be fine
infecto has joined #ruby-lang
<erikh>
I'm gonna be giving a friend some one-on-one ruby stuff
<TheNotary>
if it just goes to the github repo and sees that "oh, there's no yaml config file here" then it tries to navigate to the raw cfg file that's located within that repo
<erikh>
he's an ops guy; new to programming as I understadn it
<erikh>
can anyone think of good starter things, presuming no programming experience, that are technically oriented?
brianpWins has quit [Quit: brianpWins]
<erikh>
not fib()
dettoaltrimenti has quit [Ping timeout: 252 seconds]
<erikh>
I meet with him saturday, been wracking my brain thinking of simple things.
<TheNotary>
i'm goona sleep on my algorithm and see if I can't come up with something better than what I'm trying
<erikh>
TheNotary: if you know it'll be a hash
retro|cz has joined #ruby-lang
<TheNotary>
erikh: have you seen codecademy.com ?
<drbrain>
erikh: I've almost finished my libpcap wrapper, maybe he can do something with that?
<erikh>
FFI, but still, not really good options for libarchive stuff.
<erikh>
(needed JRuby support)
<erikh>
oh, man, I know someone who really could use capp.
<drbrain>
❤ libarchive
<erikh>
yeah, me too.
<erikh>
I'll email it to him.
<drbrain>
the other two ruby libpcap wrappers don't extract packet headers
<drbrain>
which is the part you probably awnt
vlad_starkov has joined #ruby-lang
<imperator>
mix & match args? C'MON MAN!
<erikh>
drbrain: previous job was at the makers of snort
<erikh>
let's say... they have a need for something like this.
retro|cz has quit [Ping timeout: 255 seconds]
retro|cz has joined #ruby-lang
vlad_starkov has quit [Ping timeout: 245 seconds]
<TheNotary>
drbrain: For security purposes, should I use xml as a configuration file format rather than yaml? I'm planning an app where people trade post-install configurations for their OS (you know the tweaks you do to setup the UI and all that?). I want to make it like dotfile sharing, only for the OS itself (apt-get is invoked, gems are installed, .js files are patched, etc.). It's a big project riddled with security issues that I'll have to sort out dow
<TheNotary>
n the road, but would using XML nip one such security problem in the bud?
<drbrain>
TheNotary: the danger with YAML is that you can use it to construct ruby objects
tylersmith has joined #ruby-lang
<drbrain>
so XML would prevent remote code exploits on load
<drbrain>
you can avoid YAML exploits on load by avoiding using YAML.load or Psych.load
<drbrain>
but it takes more work
agile has joined #ruby-lang
<TheNotary>
drbrain: k, great, I think I found something safe_yaml, but github is down so I can't be sure https://github.com/dtao/safe_yaml
<infecto>
my question is getting the #food_calories test to work correctly, I am having trouble reading the hash that is stored in an array based on lines 9-10
<infecto>
that is also a terribly worded question
<TheNotary>
infecto: what is "double"? are you missing something like Double.new(blah)
krohrbaugh has joined #ruby-lang
<infecto>
double() is a rspec method that creates an object for testing
tsion has joined #ruby-lang
tsion has quit [Changing host]
tsion has joined #ruby-lang
<TheNotary>
I think that snippet needs to show a little bit more about the Person class before anyone can help
<TheNotary>
although we can of course implement a Person class for you w/ this info, it might not be too helpful ;)
krohrbaugh has quit [Ping timeout: 252 seconds]
bzalasky has joined #ruby-lang
<infecto>
its mostly my lack of understanding on how lines containg the double() work within rspec
<erikh>
let creates a method called food1 that yields the contents of that block
<erikh>
when called
<erikh>
so near the bottom, you have person.eat(double("food1", :calories => 100))
<erikh>
line 25
<erikh>
effectively, that is
<erikh>
does that help at all? I have no idea what double() does.
<infecto>
it is a method stub within rspec, if that helps
<infecto>
=)
<erikh>
sure, so it's just creating something associated with the food1 string right?
Domon has quit [Remote host closed the connection]
<erikh>
like Food.new(:calories => 100) ?
<infecto>
yes
<erikh>
well, there you go.
<erikh>
keep in mind your prospective employer and/or professors aren't going to let it go this far
<erikh>
so you should probably read up
<infecto>
this is just on my own
<TheNotary>
infector: are you new to classes by any chance? I have things passing after implementing a Person class on my side
<infecto>
someone sent me this rspec and I was trying to figure it out
<infecto>
and no TheNotary
<infecto>
just rspec
<TheNotary>
ah, I see now
<TheNotary>
interesting, starting with the testing framework and then moving to ruby
<TheNotary>
You should google "ruby class" and that will provide lots of good info for you
<infecto>
sry I was replying to the first question
<infecto>
not new to classes or ruby
<infecto>
only rspec
<TheNotary>
oh
<infecto>
i am new to TDD and rspec
<infecto>
and no this is not a help me with my homework
<infecto>
just playing around with this rspec file
fowl has joined #ruby-lang
<TheNotary>
RSpec::Mocks::MockExpectationError: Double "food1" received unexpected message :[] with (:calories)
<infecto>
that was my problem
retro|cz has quit [Ping timeout: 255 seconds]
cod3r has quit [Ping timeout: 252 seconds]
baba has joined #ruby-lang
spuk has quit [Quit: Human beings were created by water to transport it uphill.]
<infecto>
when I read the tests I assumed there was an array and within the array it owuld look like [["food1",{:calories=>150}]]
Domon has joined #ruby-lang
richardjortega has quit [Quit: richardjortega]
poga has joined #ruby-lang
poga has quit [Remote host closed the connection]
poga has joined #ruby-lang
<TheNotary>
that's really odd, food1.calories works, but food1[:calories] fails
<TheNotary>
this is the least intuitive piece of rspec I've ever seen
<TheNotary>
so double doesn't act like a hash, it acts like an object that exposes attributes
<TheNotary>
and you define those attributes... with a hash
<infecto>
AHHH OK!
<infecto>
while not intuitive, it makes sense now
<infecto>
so if you pushed the double food1 & food2 into an array
<infecto>
you could call index1 calories, array[0].calories
<infecto>
lol
<infecto>
that was throwing me off
<infecto>
TheNotary you saved my evening
<infecto>
thank you so much kind sir
<TheNotary>
any time, it's always fun to see new things like double
jovy88 has quit [Read error: Connection reset by peer]
jovy88 has joined #ruby-lang
ridget has joined #ruby-lang
vlad_starkov has joined #ruby-lang
<infecto>
you have no idea how helpful that was
retro|cz has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
vlad_starkov has quit [Ping timeout: 256 seconds]
bzalasky has joined #ruby-lang
yaroslav has joined #ruby-lang
NemesisD has joined #ruby-lang
<NemesisD>
is there a good reason in ruby why a stack level too deep error in a fairly complex rails app would have either no backtrace or a 1 line backtrace in some seemingly unrelated rails file
<NemesisD>
could something be corrupting the stack?
<zenspider>
and they filter their own stack traces
<NemesisD>
zenspider: they being rails or...
<drbrain>
ruby
<zenspider>
rails. isn't that what we're talking about?
<drbrain>
ruby collapses identical frames for SystemStackError
<drbrain>
rails does other filtering
<NemesisD>
maybe i should step back and describe what's going on since its seriously weird
<NemesisD>
we've got a resque job system running with about 3 worker machines. all of the sudden jobs, seemingly at random are failing to run with a stack level too deep error. each one reports either no stack trace in resque or a 1 line stack trace somewhere in the middle of AR or activesupport
<NemesisD>
any attempt to run the job with the same arguments on the rails console works fine.
<NemesisD>
so i could understand some collapsing in the stack trace but this seems like something else. i've been trying to bash on this problem for a few hours now and have gotten nowhere
io_syl has quit [Quit: Computer has gone to sleep.]
dingus_khan has joined #ruby-lang
dhruvasagar has quit [Ping timeout: 246 seconds]
<drbrain>
NemesisD: look at lib/active_record/connection_adapters/abstract/connection_pool.rb:348
<drbrain>
notice anything funny there?
dhruvasagar has joined #ruby-lang
<drbrain>
NemesisD: looks like your class hierarchy got messed up somehow
<drbrain>
so you have a class that is its own superclass and get caught in a loop
<drbrain>
running any C extensions?
<imperator>
a class that's its own superclass?
<NemesisD>
i wonder if its an autoload thing
<NemesisD>
im sure we're running C extensions from dependencies, but nothing we've written
<drbrain>
you could modify retrieve_connection_pool to see what class is doing it
<drbrain>
that might help
<NemesisD>
drbrain: ah yeah. so the 2 lines in connection_pool are: pool = @connection_pools[klass.name] and Thread.current.object_id
<NemesisD>
not sure if that's significant
<drbrain>
NemesisD: the important one is that retrieve_connection_pool calls itself with the superclass
<drbrain>
this shouldn't be a problem as eventually you get to BasicObject which has a superclass of nil
<drbrain>
or you hit ActiveRecord::Base
xuser has quit [Changing host]
xuser has joined #ruby-lang
<NemesisD>
hmm. another one of those backtrace call sites is a bit of metaprogramming for the class_attribute method, and its referencing the name of an attribue i think
krohrbaugh has joined #ruby-lang
<NemesisD>
oh and i should mention if it isn't obvious that those backtrace lines in the pastie are not part of the same backtrace. any backtrace resulting from ths stack level too deep is a single solitary line
<drbrain>
I think the three connection ones are related somehow
<NemesisD>
hmm
<NemesisD>
would this happen if rails environment got double-loaded?
<drbrain>
unknown
<zenspider>
rawr! minitest 5 is gonna be freakin awesome
<drbrain>
it shouldn't
imperator has left #ruby-lang ["Leaving"]
<blowmage>
i am a minitest believer
krohrbaugh has quit [Ping timeout: 252 seconds]
<zenspider>
blowmage: phiggins and I had a nice pairing session and cleaned up a bunch of stuff
<blowmage>
woo
retro|cz has quit [Ping timeout: 252 seconds]
<zenspider>
all mutex / synchronize code has been pushed to parallel_each.rb
retro|cz has joined #ruby-lang
<zenspider>
among other things
<zenspider>
blowmage: if you could do a code review and really bash on it I'd appreciate it
<blowmage>
okay! i'll bang on it tomorrow afternoon
<zenspider>
I DO NOT WANT TO WAIT! I WANT CRITICISM NOOOOOOOWWWWWWWW!!!
<NemesisD>
let the hate flow through you
<ryanf>
zenspider: how come there's no minitest-bacon gem anyway? is it not done yet?
<zenspider>
yeah. just haven't bothered yet. focusing on minitest5
<r0bglees0n>
what's so great about minitest5?
<blowmage>
Minitest::Test is infinitely superior to MiniTest::Unit::TestCase
fowl has quit [Ping timeout: 272 seconds]
<r0bglees0n>
in what sense?
DomKM has joined #ruby-lang
<zenspider>
it is INFINITE... so EVERY SENSE. DUH
<zenspider>
all you have to do to prove it is to make a mapping between senses and integers
<r0bglees0n>
okay, but what is better about minitest5?
stardiviner has joined #ruby-lang
<r0bglees0n>
apart from the superclass change, what's new?
<blowmage>
mt5 adds reporters which enable better integration
<yorickpeterse>
Hm, 170 "stars" on GH (if that means anything). notbad.jpg
<yorickpeterse>
(for my linter)
kirin` has quit [Ping timeout: 252 seconds]
kirin` has joined #ruby-lang
Criztian has joined #ruby-lang
<erikh>
nice
dhruvasagar has quit [Ping timeout: 256 seconds]
dhruvasagar has joined #ruby-lang
retro|cz has joined #ruby-lang
kirin` has quit [Ping timeout: 276 seconds]
kirin` has joined #ruby-lang
mjio has quit []
tonni has quit [Remote host closed the connection]
fosky has quit [Read error: Connection timed out]
alessio_rocco has joined #ruby-lang
kirin` has quit [Ping timeout: 272 seconds]
kirin` has joined #ruby-lang
krohrbaugh has joined #ruby-lang
dr_bob has joined #ruby-lang
kirin` has quit [Ping timeout: 256 seconds]
kirin` has joined #ruby-lang
fosky has joined #ruby-lang
kain has quit [Quit: exit]
krohrbaugh has quit [Ping timeout: 240 seconds]
kirin` has quit [Read error: Connection reset by peer]
fosky has quit [Quit: Leaving]
kirin` has joined #ruby-lang
mytrile has joined #ruby-lang
tonni has joined #ruby-lang
rsync_ has joined #ruby-lang
kirin` has quit [Ping timeout: 276 seconds]
kirin` has joined #ruby-lang
vmoravec has quit [Remote host closed the connection]
infecto has quit [Ping timeout: 256 seconds]
infecto has joined #ruby-lang
charliesome has joined #ruby-lang
marr has joined #ruby-lang
<tbuehlmann>
when running `$ RUBYOPT=-w rake test` I'd like to save the warning output to a file. `> warnings.log` just works for the actual test output and not the warnings. any idea?
kirin` has quit [Ping timeout: 256 seconds]
<judofyr>
tbuehlmann: 2> warnings.log
<judofyr>
tbuehlmann: or 2>&1 > warnings.log if you want everything
<tbuehlmann>
perfect, thanks
kirin` has joined #ruby-lang
mbj has joined #ruby-lang
<yorickpeterse>
Rails autoloader, y u so shit
<yorickpeterse>
inb4 omakase
dhruvasagar has quit [Ping timeout: 252 seconds]
kirin` has quit [Ping timeout: 240 seconds]
glebm has quit [Quit: Computer has gone to sleep.]
kirin` has joined #ruby-lang
dhruvasagar has joined #ruby-lang
nXqd has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
mineiro has quit [Read error: Connection reset by peer]
mineiro has joined #ruby-lang
roadkith has joined #ruby-lang
kirin` has quit [Ping timeout: 252 seconds]
kirin` has joined #ruby-lang
jMCg has quit [Quit: leaving]
kirin` has quit [Ping timeout: 276 seconds]
benlovell has quit [Ping timeout: 255 seconds]
kirin` has joined #ruby-lang
dkannan has quit [Ping timeout: 260 seconds]
dkannan has joined #ruby-lang
kirin` has quit [Ping timeout: 246 seconds]
kirin` has joined #ruby-lang
kain has joined #ruby-lang
<injekt>
morning
<gnufied>
morning .
<erikh>
hi
<erikh>
almost finished with this virualbox provisioner
<erikh>
then it's all about the vmware
kirin` has quit [Ping timeout: 246 seconds]
io_syl has quit [Quit: Computer has gone to sleep.]
<injekt>
!
dr_bob has quit [Quit: Leaving.]
<injekt>
I thought you'd be sleeping, I commented on your fb pic :D
<erikh>
oh ha
<erikh>
I haven't looked yet
<erikh>
been coding.
<injekt>
it was silly
<injekt>
(so a normal message from me)
<erikh>
Indeed it was
<injekt>
\o/
<erikh>
"bae"?
<injekt>
you haven't seen that meme?
kirin` has joined #ruby-lang
<erikh>
maybe, don't recognize the term
<injekt>
it's pretty new, some girl took a pic of herself saying "bae caught be slippin" and in the mirror you can see she clearly took the photo herself
<injekt>
then came the parody pics
<injekt>
so it's nothing at all like your pic
<injekt>
so i dont know why i wrote it
<injekt>
im tired
<yorickpeterse>
that shit's old
<injekt>
it's internet old
<yorickpeterse>
your face is old
<injekt>
you are internet old
<injekt>
my face IS pretty old
jovy88 has quit [Read error: Connection reset by peer]
<injekt>
I dont age well
dr_bob has joined #ruby-lang
vlad_starkov has joined #ruby-lang
<erikh>
hehe
mbj has quit [Ping timeout: 260 seconds]
<erikh>
man, you look like british bieber
<erikh>
just sayin'
<erikh>
pretty boy.
<injekt>
hahaha fuck you
<yorickpeterse>
hahahaha
<injekt>
im not a pretty boy!
jovy88 has joined #ruby-lang
<gnufied>
your mom is old
<erikh>
don't worry. in like 10 years you'll look like me
<injekt>
I laughed milk out my nose then
<erikh>
grumpy and crusty and old
<erikh>
and fat probably too
<injekt>
I dont think I'll ever be able to grow a beard
<whitequark>
when you assign a Module instance to a constant, its name gets assigned to the canonical constant name
<whitequark>
a special case.
<yorickpeterse>
What I was meaning to say is that I somewhere in the back of my head expected it to break when re-assigning a constant used for a class
runeb has quit [Ping timeout: 255 seconds]
<whitequark>
argh, I really need to open-source Foundry's partial evaluator
benlovell has joined #ruby-lang
<erikh>
classes have an object_id just like any other object
<erikh>
the inspect output tries to get the name first
<erikh>
Class#name
<erikh>
barring that, it falls back to object
<whitequark>
^
glebm has quit [Ping timeout: 252 seconds]
<erikh>
you can see this
<erikh>
Class.new.name should still be empty on rubies
<judofyr>
appearently: if you have a CSS-node with `:active` (doesn't actually have to match) AND an <input type="search"> AND tries to embed YouTube, it's not possible to click on the video
<GarethAdams>
it's not a bug to play Pop Idol content
<judofyr>
(e.g. touches do nothing)
<GarethAdams>
no matter how much you want it to
<GarethAdams>
*be
postmodern has quit [Quit: Leaving]
glebm has quit [Ping timeout: 272 seconds]
<charliesome>
judofyr: hah
<judofyr>
load the URL in iOS 6 and try to play the video
<judofyr>
won't work
<judofyr>
remove the type="search": everything is fine
<judofyr>
remove the :active: everything is fine
glebm has joined #ruby-lang
<judofyr>
:(
<judofyr>
I don't even
<judofyr>
the odd thing is that the video is inside an iframe
srbaker has quit [Quit: Computer has gone to sleep.]
<judofyr>
but the styling/markup on the parent changes the behavior
<judofyr>
I wonder what the *actual* bug is, but I'm not going to debug YouTube's JS now
marr has joined #ruby-lang
jxie has joined #ruby-lang
barttenbrinke has quit [Remote host closed the connection]
lguardiola has joined #ruby-lang
<yorickpeterse>
wohoo, got lolcommits to work
<yorickpeterse>
too much backlight though
<yorickpeterse>
lets fix that
scampbell has joined #ruby-lang
dr_bob has quit [Quit: Leaving.]
<whitequark>
backlight?
<yorickpeterse>
er, background light or w/e
<yorickpeterse>
There's a window right behind me
<yorickpeterse>
so everything in the picture is too dark
vlad_starkov has quit [Remote host closed the connection]
barttenbrinke has joined #ruby-lang
soypirate has joined #ruby-lang
mytrile has quit [Remote host closed the connection]
<whitequark>
the first one is pretty good. better than 90% of stuff which is printed. the second one... well... I hope that third is *actually* better.
bryanl has joined #ruby-lang
glebm has quit [Quit: Computer has gone to sleep.]
levifig has quit [Excess Flood]
<whitequark>
ddfreyne: if you want something random & good, read True Names by Vernor Vinge
levifig has joined #ruby-lang
dabradley has quit [Ping timeout: 255 seconds]
gnufied has quit [Quit: Leaving.]
dabradley has joined #ruby-lang
vlad_starkov has joined #ruby-lang
dr_bob has joined #ruby-lang
mbj has joined #ruby-lang
nghialv2607 has joined #ruby-lang
wesside has joined #ruby-lang
barttenbrinke has quit [Ping timeout: 260 seconds]
<yorickpeterse>
tbh I'm very tempted to write a big rant on how I dislike Javascript but I feel it would turn into a "X is a ghetto" rant
<injekt>
BITCHES
<injekt>
wow
<injekt>
wrong box
<yorickpeterse>
hai bieber
<injekt>
oi
<yorickpeterse>
hahaha
<erikh>
injekt: hahah
<injekt>
apparently t'was the right box
<yorickpeterse>
injekt: you know, that's exactly the same way I say hi in another channel once in a while
<injekt>
and mostly directed at yorickpeterse
<injekt>
yorickpeterse: :D
TheMoonMaster has joined #ruby-lang
vlad_sta_ has quit [Remote host closed the connection]
<yorickpeterse>
but yeah, for 150 (or 90) bucks I don't mind having Douglas on my phone
<whitequark>
sigh... windows 8 product placement is FAR worse when it's on a macbook
<yorickpeterse>
if worst comes to worst I'll just turn it into a glorified Raspberry pi
<injekt>
what's a douglas
<whitequark>
yorickpeterse: (replace this with a rant about rpi)
odcinek has quit [Quit: odcinek]
bloom has quit [Read error: Operation timed out]
<yorickpeterse>
heh
bloom has joined #ruby-lang
<yorickpeterse>
On my way home I actually thought about writing "scriptcoffee" that would compile Javascript to Coffeescript, just to show how silly this whole "COMPILE ALL THE THINGS TO JS" mentality is
<yorickpeterse>
then I realized people would probably actually try to use it
<whitequark>
I'm sure it already exists...
<whitequark>
actually, this is wrong on more than one level
<yorickpeterse>
haha
<whitequark>
"compile all things to JVM bytecode" is similarly wrong, though JVM indeed does offer a more sane and suitable environment
<yorickpeterse>
where do these people get their drugs?
<yorickpeterse>
My main issue is not compiling to JS per se, it's the fact that people are locking themselves down to a single language in browser in combination with it
<yorickpeterse>
similar to how people locked themselves down to Flash and ActiveX
<yorickpeterse>
instead of making it possible to use more than JS
<whitequark>
similar to how people lock themselves to JVM
<yorickpeterse>
also JS is a retarded language
<yorickpeterse>
whitequark: I'd probably bitch equally if the JVM was actually relevant to what I do
<whitequark>
it all boils down to the fact that we suck at interfacing code in different languages
<whitequark>
if it's not C and anything (and even if it is)
<yorickpeterse>
and don't get me started on asm.js
<whitequark>
asm.js is needed but overhyped
<erikh>
whitequark: llvm seems to be a step in the right direction there
<judofyr>
I actually think asm.js is a good idea
<whitequark>
I speculated that V8 would be able to run asm.js-conformant code without a separate compiler
<yorickpeterse>
whitequark: needed for what? I can't think of anything where it would be useful
<whitequark>
and indeed, V8 devs think exactly the same
<judofyr>
yorickpeterse: compiling C to the browser
<yorickpeterse>
I fear the day some nerd uses it to speed up his DOM crap
<whitequark>
yorickpeterse: it's basically a codification of rules which emscripten uses
<whitequark>
just that.
<yorickpeterse>
"Oh yeah, I rewrote jQuery in asm.js because it's cool"
<whitequark>
yorickpeterse: pls read what asm.js actually is before ranting.
<whitequark>
erikh: I afraid no.
<yorickpeterse>
I have?
<judofyr>
yorickpeterse: then you'll now that asm.js can't communicate with the DOM at all
<whitequark>
LLVM almost entirely solves the problem of writing your own target-dependent and other low-level optimization passes, and compiler backends
sepp2k has joined #ruby-lang
<yorickpeterse>
ok note to self: stupid jokes don't work in this channel because people take you too seriously
<whitequark>
erikh: however... it does nothing to ease interfacing. it doesn't even support the C ABI directly.
<whitequark>
yorickpeterse: FINALLY
<erikh>
oh, ok
<erikh>
I misunderstood
<erikh>
good to know, thanks.
<yorickpeterse>
I just want to see JS die so badly
<whitequark>
erikh: LLVM is amazing but it's basically a replacement for compiling your language to C then down to machine code
<erikh>
right
<whitequark>
as you probably know, a lot of languages did that
<erikh>
yep
workmad3 has joined #ruby-lang
<erikh>
as is probably obvious, I've only done a little reading about it
<whitequark>
so it's just a much more direct, sane, and simple mapping to the semantics of underlying hardware.
<whitequark>
erikh: I'm using LLVM quite a lot... feel free to ask if you have questions.
<yorickpeterse>
is it webscale?
<erikh>
maybe, but I'm lost in devops land for a little while longer.
<whitequark>
*facedesk*
<erikh>
my next hobby task is to write a proper bootloader that inits enough video to display an image in 1080p
<judofyr>
erikh: I wouldn't trust whitequark. he's been writing this Ruby-thingie *forever* and it doesn't even run Rails yet.
<erikh>
judofyr: eh
<erikh>
judofyr: so it's more feature rich than rubinius
<erikh>
whitequark: just want to learn how to do it, no other real goal in mind.
<whitequark>
erikh: you'll probably have a hard time with 1080p
<yorickpeterse>
in fact, I was quite amazed to see that one of our two big apps actually runs just fine on it
<erikh>
yeah, vesa's gonna require PM from what I read
<whitequark>
erikh: no no
<erikh>
err, protected mode, not power management
<whitequark>
erikh: VBE generally works in real mode, and you specifically need VBE3 to be able to use it from PM
<judofyr>
yorickpeterse: is it faster?
bloom has left #ruby-lang [#ruby-lang]
<erikh>
whitequark: hm. mind if I prod you when I get back to this task?
<whitequark>
erikh: I just didn't see much cards which exported 1920x1080 video which actually worked... but then again it was 5 years ago
yknot has quit [Ping timeout: 264 seconds]
<whitequark>
erikh: sure
<erikh>
yeah, a lot has changed in 5 years.
<yorickpeterse>
judofyr: I tested it in dev mode so I'm not sure, didn't really benchmark beyond checking memory usage
<erikh>
it's hard to find video these days that won't do it
<yorickpeterse>
which is about 2x as much
<whitequark>
erikh: my video card supported the resolution even at those days
<whitequark>
but didn't export it as a working VBE mode
<erikh>
sure, but were they shipping over HDMI exclusively?
DomKM1 has joined #ruby-lang
<erikh>
anyhow, details for another time
<whitequark>
ok
<yorickpeterse>
Hm wait, I actually think both our main apps ran on Rbx
mose has joined #ruby-lang
<judofyr>
what's the real advantages of rbx these days (other than "cleaner internals"). is it faster? no GIL?
<yorickpeterse>
but jruby failed at one of them due to the use of some MRI specific stuff
DomKM has quit [Ping timeout: 252 seconds]
<yorickpeterse>
judofyr: No GIL, actual threads, easy to contribute (most is Just Ruby TM)
<erikh>
it's GIL-free with C
<yorickpeterse>
No half-assed C API
krohrbaugh1 has quit [Read error: Connection reset by peer]
<yorickpeterse>
works with most C extensions btw
krohrbaugh has joined #ruby-lang
<erikh>
and the whole ruby thing.
<yorickpeterse>
since they have a nice compat layer
<yorickpeterse>
only some very specific MRI stuff doesn't seem to work (e.g. ruby-prof)
krohrbaugh has quit [Read error: Connection reset by peer]
krohrbaugh1 has joined #ruby-lang
Squarepy has quit [Quit: Leaving]
<whitequark>
for... some reason, each time I tried rbx it crashed on me in various, often funny (segv) ways
<judofyr>
so actual advantages for *me*: actual threads and no GIL.
<yorickpeterse>
plus I'd prefer to put my money on brixen than on the MRI team (no offence)
<whitequark>
...
<whitequark>
I won't comment on that
<yorickpeterse>
When I look at the way stuff goes in MRI I see very smart people that at some time kinda lost control of the project
<yorickpeterse>
I suppose part of that is natural due to the age
<whitequark>
yorickpeterse: interesting. I have the exact opposite feeling
<whitequark>
that MRI is undergoing changes in one of the best possible ways
<yorickpeterse>
I mean, the Rbx source code is a bit of a clusterfuck when you first start out but it's much better if you're only dealing with the pure Ruby stuff
<erikh>
yeah, I've never had rbx do anything but segfault for me.
<whitequark>
look, 1.8 transition is... mostly... over; compare with python where almost everyone is still on python2.7
<yorickpeterse>
I'm talking about Rbx 2.0 HEAD btw
<dbussink>
erikh: please report issues like that then
SympleKaos has joined #ruby-lang
bryanthompson has quit [Ping timeout: 256 seconds]
<dbussink>
judofyr: can you please open an issue for that?
<yorickpeterse>
MRI will never have proper threading (unless Raptor jesus starts writing MRI code), that alone is alarming for me
<whitequark>
MRI team is getting somewhat more open to the contributions to spec thanks to headius' work
<whitequark>
yorickpeterse: so?
<yorickpeterse>
since at $WORK we have *a lot* of use cases for proper threading
<judofyr>
I've started ignoring "The build is broken" emails because I always know it's rbx segfaulting…
<whitequark>
yorickpeterse: you just answered your own question
<dbussink>
judofyr: please report them to us so we can fix them
<yorickpeterse>
whitequark: I didn't ask a question
<whitequark>
yorickpeterse: it's a Reference implementation
<dbussink>
judofyr: if we don't know about them, we can't fix them :(
<yorickpeterse>
I also never said MRI wasn't improving
<yorickpeterse>
So stop making assumptions
<erikh>
relax and kiss folks
<whitequark>
its main purpose is to provide something to compare your implementation behavior to
<erikh>
I'm installing a compiler! be happy for me
<yorickpeterse>
the thing is that there's nothing substantial to compare to. There's MRI but you should know well enough that it isn't exactly standarized
<whitequark>
so: use rbx or jruby in production, as you're supposed to, by the MRI team
<erikh>
I have no idea why, but be happy anyhow
<judofyr>
dbussink: also: is rbx-18mode considered stable/actively developed?
kogent has joined #ruby-lang
<whitequark>
yorickpeterse: it's "good enough"
<yorickpeterse>
judofyr: eh, give me a sec and I'll see what tilt does on my laptop on Rbx
mistym_lunch is now known as mistym
<whitequark>
yorickpeterse: there is no Python spec. there is nothing close to a compatible Perl implementation
<yorickpeterse>
Python at least has the PEPs...that nobody follows
<erikh>
there is a python spec
<whitequark>
at least we have rubyspec which is better than nothing
<dbussink>
judofyr: 1.8 mode doesn't get much changes except the generic vm improvements etc.
<whitequark>
erikh: gimme
<erikh>
or so I thought?
marr has quit [Ping timeout: 264 seconds]
<yorickpeterse>
whitequark: yes, and Rubyspec is mostly reverse engineered by brixen