lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
imajes has quit [Excess Flood]
whit537 has joined #rubygems
imajes has joined #rubygems
cowboyd has joined #rubygems
mockra has joined #rubygems
fromonesrc has quit [Ping timeout: 256 seconds]
baburdick has quit [Quit: Leaving.]
markalanevans has joined #rubygems
markalanevans has quit [Remote host closed the connection]
markalanevans has joined #rubygems
cowboyd has quit [Remote host closed the connection]
DonOtreplay is now known as mossman5k
cowboyd has joined #rubygems
dvu has quit [Remote host closed the connection]
whit537_ has joined #rubygems
whit537 has quit [Read error: Connection reset by peer]
whit537_ is now known as whit537
fromonesrc has joined #rubygems
fromonesrc_ has joined #rubygems
fromonesrc has quit [Ping timeout: 252 seconds]
fromonesrc_ is now known as fromonesrc
therealadam has joined #rubygems
baburdick has joined #rubygems
baburdick has quit [Ping timeout: 246 seconds]
imajes has quit [Excess Flood]
imajes has joined #rubygems
baburdick has joined #rubygems
baburdick has quit [Ping timeout: 252 seconds]
baburdick has joined #rubygems
dvu has joined #rubygems
baburdick has quit [Ping timeout: 256 seconds]
baburdick has joined #rubygems
acts_as_coder has joined #rubygems
dvu has quit [Ping timeout: 258 seconds]
baburdick has quit [Ping timeout: 264 seconds]
acts_as_coder has quit [Quit: Leaving.]
baburdick has joined #rubygems
baburdick has quit [Remote host closed the connection]
baburdick has joined #rubygems
imajes has quit [Excess Flood]
imajes has joined #rubygems
acts_as_coder has joined #rubygems
whit537 has quit [Quit: BLAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!]
imajes has quit [Excess Flood]
imajes has joined #rubygems
therealadam has quit [Remote host closed the connection]
baburdick1 has joined #rubygems
baburdick has quit [Read error: Connection reset by peer]
baburdick has joined #rubygems
imajes has quit [Excess Flood]
imajes has joined #rubygems
havenwood has quit [Remote host closed the connection]
baburdick1 has quit [Ping timeout: 258 seconds]
acts_as_coder1 has joined #rubygems
acts_as_coder has quit [Read error: Connection reset by peer]
dvu has joined #rubygems
acts_as_coder1 has quit [Client Quit]
terceiro has quit [Quit: Ex-Chat]
caleb_io has joined #rubygems
caleb_io has quit [Client Quit]
acts_as_coder has joined #rubygems
workmad3 has joined #rubygems
mossman5k has quit [Quit: Computer has gone to sleep.]
acts_as_coder1 has joined #rubygems
acts_as_coder has quit [Read error: Connection reset by peer]
huoxito has quit [Quit: Leaving]
bcardarella has left #rubygems [#rubygems]
tbuehlmann has quit [Remote host closed the connection]
tcopeland has quit [Read error: Operation timed out]
webdestroya has quit [Remote host closed the connection]
webdestroya has joined #rubygems
dvu has quit [Remote host closed the connection]
workmad3 has quit [Ping timeout: 246 seconds]
fromonesrc has quit []
baburdick has quit [Ping timeout: 264 seconds]
fromonesrc has joined #rubygems
fromonesrc_ has joined #rubygems
fromonesrc has quit [Ping timeout: 258 seconds]
fromonesrc_ is now known as fromonesrc
therealadam has joined #rubygems
baburdick has joined #rubygems
pipework has quit [Remote host closed the connection]
jcaudle has quit [Quit: jcaudle]
wolfeidau has quit [Ping timeout: 257 seconds]
wolfeidau has joined #rubygems
wolfeida_ has joined #rubygems
wolfeidau has quit [Ping timeout: 258 seconds]
fromonesrc has quit []
wolfeidau has joined #rubygems
wolfeida_ has quit [Ping timeout: 256 seconds]
fromonesrc has joined #rubygems
workmad3 has joined #rubygems
fromonesrc_ has joined #rubygems
yerhot has quit [Remote host closed the connection]
fromonesrc_ has quit [Client Quit]
fromonesrc has quit [Ping timeout: 256 seconds]
acts_as_coder1 has quit [Quit: Leaving.]
therealadam has quit [Remote host closed the connection]
mootpointer has joined #rubygems
acts_as_coder has joined #rubygems
workmad3 has quit [Read error: Operation timed out]
kalleth has joined #rubygems
<kalleth>
can someone clarify _why_ rubygems needs to make 200-250 requests to rubygems just to figure out which version of Rack to install?
<kalleth>
hence me staring at 2000+ get requests for 15mins+ for a single gem install command?
<drbrain>
naive dependency resolution
huoxito has joined #rubygems
<drbrain>
when the index was built it was dumb
<kalleth>
which index? the one on my local machine or the one on the remote?
<drbrain>
now we have a well-tested smart index we can lean on
<kalleth>
or the one for the gem installed
<drbrain>
there is only the remote index
<kalleth>
I apologise if my comment on the rubygems issue was a bit 'short' btw
<kalleth>
but its frustrating staring at a console for 20mins not being able to do anything :)
<drbrain>
where in the world are you/
<drbrain>
?
<kalleth>
UK
<drbrain>
I think there's a european mirror
<drbrain>
evan: ↑
<kalleth>
well, it's still making $lol requests
<drbrain>
you may be dealing with an ocean's worth of latency as well
<kalleth>
downloading seems to be a very very minor amount of the time used
<evan>
kalleth: i'm trying it here to see
<kalleth>
i tried with standard uk dns and google dns too to see if it was my dns provider, but each request taking a second or so
<kalleth>
evan: my exact command on osx lion was $ sudo gem install refinerycms
<drbrain>
there are only two DNS lookups, so changing DNS won't make a difference
<kalleth>
sec i'll check gem env to see what versions of everything i'm doing
<drbrain>
kalleth: rubygems version won't matter
<drbrain>
the index was built for a simpler time
<kalleth>
ruby 1.9.3-p392, rubygems 2.0.3
<drbrain>
when there weren't 300,000+ gems
<drbrain>
(all releases)
<kalleth>
ah, so it's just getting worse as (for example) rails release a new version and bumping fifty billion sub-gem-versions
<evan>
yep
nz_ is now known as nz
<drbrain>
fortunately gems don't change so once you've downloaded a spec it won't be re-downloaded
mossman5k has joined #rubygems
<evan>
anyway, yeah, we've discussed a european mirror
<evan>
but nothing is setup yet.
dangerousdave has quit [Quit: Leaving...]
<evan>
drbrain: going to RailsConf?
<drbrain>
evan: unlikely
<evan>
if you were, we could hack on it there
<drbrain>
I've been thinking about coming down for a hallway track
<evan>
etiher way, I'll put it on my todo list.
<drbrain>
but I haven't made room arangements
<kalleth>
i guess if you can speed up each request from 200ms to 20ms using a european mirror you get a vast speedup
<drbrain>
kalleth: yep
<kalleth>
though surely the root of the problem is the naivete of the dependency resolution?
<drbrain>
it is
<evan>
actually
<evan>
i'll just bite the bullet
<evan>
and see about setting it up now.
<drbrain>
kalleth: rubygems trunk uses the smarter index we have now
<drbrain>
so the 2.1 release should show improvement for those of you that are a long way (latency wise) from a mirror
<drbrain>
hopefully next week I'll be able to weed through the tracker and prioritize issues for 2.1 vs later
<kalleth>
that's good news
<kalleth>
thanks for tempering my angry rage :)
<kalleth>
and again, sorry if i was a bit sharp with my comment on gh/rubygems/rubygems
pipework has joined #rubygems
<drbrain>
kalleth: if you have some spare time, can you download github.com/rubygems/rubygems and run `rm -r ~/.gem/specs; ruby -Ilib bin/gem install --install-dir ~/tmp/gems whatever_it_was`
<drbrain>
and compare to 2.0.3?
<kalleth>
erm, sure
<kalleth>
i'll do it now
<kalleth>
well
<drbrain>
whenever
<kalleth>
i'm using rbenv
<kalleth>
i assume that changes some of the commands :
<kalleth>
:)
tcopeland has joined #rubygems
* kalleth
checks gem env to see where the specs go
<drbrain>
at this time ~/.gem/specs isn't changeable, trunk has a patch for that submitted by either the rbenv or rvm folks
<kalleth>
ah, same place
<kalleth>
i'll mv ~/.gem/specs out of the way rathe rthan remove if
<kalleth>
it
<kalleth>
if thats ok
<kalleth>
so i can move it back after :)
<drbrain>
sure
<mpapis>
drbrain, it was me ;)
<kalleth>
not that it matters, that cmd will redownload them
<drbrain>
I should run some install tests with the Network Link Conditioner pref pane
<drbrain>
it should simulate some latency
<mpapis>
drbrain, I will have a question / discussion if you are up to talk in some time (helping someone right now)
<mpapis>
ok I will ping you when I finally can talk ...
<kalleth>
drbrain: 30 seconds vs 15 minutes
<kalleth>
new/old
<drbrain>
kalleth: wow!
<drbrain>
thanks for the data point
<drbrain>
evan: good job ↑
<kalleth>
i think thats deserving of an attaboy for both of you
<kalleth>
and if i ever make it to any kind of american rails / ruby conf i will buy you a pint
cowboyd has quit [Remote host closed the connection]
<drbrain>
I will be in Japan for RubyKaigi!
<drbrain>
I haven't made it to europe for a conference yet
<kalleth>
I won't be in Japan
<kalleth>
I'm stuck in the UK and i can't afford to self-fund international ruby/rails conf trips :)
<evan>
wooo!
<evan>
it wasn't for nothing!
<evan>
GO TEAM!
cowboyd has joined #rubygems
<evan>
drbrain: we should figure out when we want to release that.
cowboyd has quit [Remote host closed the connection]
<kalleth>
evan: my vote is 'soon'
<evan>
mine too!
benchMark has quit []
<mpapis>
drbrain, is there an interface in rubygms to define external dependencies and a callback to run installation of them?
<drbrain>
mpapis: there is not
<mpapis>
would be a PR with it had chance to get accepted ?
<evan>
we've explicitly avoid such a thing.
<evan>
avoided
<drbrain>
does this mean external dependencies like libxml2?
<mpapis>
yes
<drbrain>
if so, it's unlikely
<evan>
it's too easily to abuse it.
<mpapis>
or libmyslq
<evan>
oh that
<evan>
no
<evan>
well
<Defiler>
No offense but I stopped using rvm forever the day that feature got added
<evan>
it's so difficult to do properly
<evan>
answer the question "where is libmysql.so from" for all the linux distro
<drbrain>
especially so in a cross-platform manner
<evan>
for example
<evan>
I know why you want it
<Defiler>
rubygems needs to be less like a package manager, not more, IMO
<mpapis>
I know it's difficult, but I;m eager to try it out, it will not be enabled unless the callback is defined
<evan>
but it's an almost intractable problem.
<drbrain>
mpapis: there are sufficient hooks to implement it as a plugin
<evan>
mpapis: you'd be better off having a seperate tool
<evan>
gem sysdeps nokogiri
<drbrain>
mpapis: if one is missing, we can definitely consider a pull request to add it
<mpapis>
but there is no field to define the external dependencies ?
<evan>
it would install the external deps for nokogiri
<ddd>
evan: thats more due to pkg naming is it not?
<drbrain>
mpapis: RubyGems 2 has metadata
<drbrain>
so you can use that
<evan>
yep
<evan>
and your tool can check the metadata
<mpapis>
ah that's great, I will investigate, thanks
<evan>
ddd: it's true of all the variables
<evan>
variable 1: what command to you run to install a package
<evan>
variable 2: what is the package
<evan>
both are intractable across time and space.
<evan>
thats some hyperbole, but you get the idea.
<drbrain>
there's a requirements field in the gemspec that nobody uses as well
<drbrain>
I think it was intended for this type of feature
<kalleth>
i always, always forget libxslt
<kalleth>
when installing ruby
<kalleth>
_always_
<evan>
ha
<evan>
ditto.
mikestok has quit [Quit: Computer has gone to sleep.]
<ddd>
evan: gotcha. agree with you
<evan>
a trivial example is: someone install mysql by hand
<evan>
what do you do?
<ddd>
depends. did they install in FHS specified locations which means headers and the like would be in normaly searched dirs for both headers and bins?
<ddd>
i get your point though, way to freakin easy to cross the ease-of-use line and veer far into ok wtf
<ddd>
s/way to/way too/
<drbrain>
FHS is only a linux standard
<drbrain>
AIX, for example, won't follow t
<kalleth>
evan: wget mysql.tar.gz, alias yoloinstall='tar zxvf file.tar.gz; cd file; ./configure && make && make install'; yoloinstall
<Defiler>
does Ruby 2.0 still support VMS or did that get dropped at the end of the 1.8 line?
<ddd>
but it does have a high degree of compatability to *bsd and others. (/usr/local is usually searched)
<kalleth>
i'm going to go back to trying to work now rather than make snarky comments
<ddd>
drbrain: but, again, i'm in agreement with the point he was making. *ensuring* is almost impossible
<drbrain>
Defiler: I don't think there's a VMS maintainer
<evan>
such a feature would be negatiated with a OS vendor
<drbrain>
… but I don't think there's an AIX or HP-UX maintainer either, but ruby has a fair amount of users for each
<evan>
and we'd integrated it with as they integrate with us.
<Defiler>
it seems to me that if extconf just returned a structured error about what was missing, you could offer some interesting prompts/options upon install
<drbrain>
at least, enough that I read the occasional bug report
<ddd>
evan: wrt dep pkg install support?
<evan>
for instance, why the fuck is it so hard to ask a linux distro: install the package that has mysql.h please
<Defiler>
but honestly, this is really what packages are for and I think it would be failuretastic for rubygems to try to take it on
<ddd>
ah, because not many maintain that type of reverse listing (ala apt-file search)
<drbrain>
Defiler: that's why I've always resisted it
<Defiler>
short answer: because linux distros are horrible
<Defiler>
Yes, even your favorite one
<ddd>
deb based are the only ones i know of that do, and thats because debian came up with it
<drbrain>
Defiler: I don't have a favorite linux distro, so I'm safe
<evan>
ha
<Defiler>
dodged that bullet
<ddd>
heh
<evan>
the path from a C header and it's shared libarry to a rubygem is massive
<Defiler>
we should go add cross-compile support to .deb and express it all in a meta-language that can emit arbitrary types of packages and then suck that into rubygems as a pull request
<evan>
because of the OS vendor is in between there
<evan>
how about
<evan>
gem brute nokogiri
<evan>
it would analyze the extconf errors
<evan>
and just start hammering on the system
<evan>
trying whatever the fuck it wants
<Defiler>
I wish I could show you this pull request from work, but it's probably not for public consumption
<evan>
trying to get it to complete
<Defiler>
starts out as an attempt to add a gem to the Gemfile for a project.. ends up as a 1000-line diff
<evan>
hahah
<Defiler>
that's why I'm 100% confident packages are intractable
<ddd>
there's just so many potential permutations i don't see how you could account for even half the possibles. you'd end up with a nightmare. and thats just at a single pkg depth, nevermind their deps.
<Defiler>
It's hard enough to add a pure-ruby gem to an existing environment, much less backtrack to which mysql.h you wanted
<Defiler>
Hell, if we could account for 1% of the possibilities I would call that a huge win
<Defiler>
I think that estimate is off by a factor of 10^50 or so
<ddd>
but as drbrain alluded to how would you account for that on platforms that don't have a high degree of similarity (or none at all like in the case of windows)
mossman5k has quit []
<evan>
there are success in software, i think we need to look at them and build on them
<evan>
for instance, tar and gzip are huge successes
<evan>
most package systems just use those.
baburdick has quit [Read error: Connection reset by peer]
<evan>
so why is the layer after that completely fractured?
baburdick has joined #rubygems
<evan>
i think it's because people didn't write small bits that did small things.
<ddd>
vender choices :)
<evan>
they wrote a big monolithic thing
<evan>
which left other vendors completely redoing it
<evan>
instead of building upon it.
<evan>
thats my personal opinion.
<evan>
it shouldn't matter what a distro calls it's packages, honestly.
mikestok has joined #rubygems
<evan>
you should be able to ask for a feature "mysql.h and libmysqlclient.so" and it just installs whatever it needs to.
<evan>
the header names aren't up to the opinion of the vendors.
* paulsher2ood
and colleagues aim to remove the whole idea of packaging - everything from git all the time
<evan>
thats a nice idea
<paulsher2ood>
thank you :)
<evan>
but I feel it's still too big.
<evan>
honestly.
<Defiler>
If git had a feature where an entry in the index could have a 'static tarball of this state available at this url' attached to it
<Defiler>
that could be keen
<Defiler>
without it, I'm skeptical.. git gets nasty on large projects
<evan>
and with large files
<Defiler>
oh yeah
<evan>
it's like sucking your steak through a straw.
<Defiler>
I don't think the .torrent format is a good fit but something with those properties would be handy
<Defiler>
basically, all we need is a way to distribute secure index fingerprints and urls
<Defiler>
(incrementally)
jcaudle has joined #rubygems
huoxito has quit [Read error: Connection reset by peer]
acts_as_coder has quit [Quit: Leaving.]
fromonesrc has quit []
<paulsher2ood>
Defiler: thank you - very cool idea
<Defiler>
I feel like the 'next' protocol will have learned something from both bloom filters and bitcoins (in particular the 'validation chain' stuff for incremental appends)
<Defiler>
also, practical BT experience has shown that it's not important to be able to see the whole 'swarm'