<toretore>
i've been thinking about making something like this myself
<toretore>
(after the 50 other things i have planned)
<judofyr>
basically a way to expose plain Ruby classes as a JSON API
loincloth has quit []
<judofyr>
so POST /articles/:id just calls root.articles[ID].update(data)
gpg_ has joined #ruby-lang
<gpg_>
#=> "#<Fred:0x401b3da8 @a=\"dog\", @b=99, @c=\"cat\">" could someone explain what "0x401b3da8" means?
<gpg_>
Fred is a class
<judofyr>
gpg_: it's an id of the object
<judofyr>
gpg_: every object has a unique ID
<judofyr>
>> "Hello".object_id
Lewix has quit [Remote host closed the connection]
<Mon_Robot>
judofyr: Something went wrong when trying to evaluate your code.
<judofyr>
gives me: >> 70155346487340
<toretore>
yeah. it's pretty obvious to me that http apis are going to be the center of web apps, so with rails & friends you get lots of overhead with the html/js/css stuff
emerson_ has quit [Remote host closed the connection]
Lewix has joined #ruby-lang
<gpg_>
ok thnaks
<judofyr>
gpg_: it's only there so if you have #<Fred:0x401b3da8 @a="dog"> and #<Fred:0x401b3db4 @a="dog"> you know that it's two different objects
<judofyr>
gpg_: and changing @a in the first won't change the other
<gpg_>
what about memory
<judofyr>
gpg_: what about the memory?
Miphix has joined #ruby-lang
<gpg_>
how do i see .. where it is saved
<gpg_>
the class
<gpg_>
in ram?
<judofyr>
gpg_: yes, the object ID is directly based on where the object is stored in memory
<judofyr>
are you familiar with C?
<gpg_>
nope
<judofyr>
okay
<gpg_>
:(
<judofyr>
gpg_: not sure what you're asking for? how the objects are structured in memory? where they're located? how the class is stored?
loincloth has joined #ruby-lang
<gpg_>
all these questions i seem to be passionate about
<gpg_>
the answers
<judofyr>
toretore: other than that I've also been working on a pure-JS version of the BankID applet :)
<toretore>
oh praise be to you
<judofyr>
just to see if I can beat them
<toretore>
that thing is an abomination
<judofyr>
it's going slowly though
<judofyr>
gpg_: okay. where they're located isn't that interesting. somewhere in memory.
gss has joined #ruby-lang
<judofyr>
gpg_: an object contains two important things: a list of instance variables, and a class pointer.
Lewix has quit [Ping timeout: 264 seconds]
<judofyr>
gpg_: so #<Fred @a="foo"> is stored as {a = "foo", .klass = Fred}
<judofyr>
gpg_: you always pass along *references* to an object
<judofyr>
so if you have `a = Fred.new("foo")` you can think that `a` now contains the location of the Fred-object
<judofyr>
`b = a` means that a and b now points to the same object
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<judofyr>
toretore: I did most of the work figuring out the API last summer. working on a pure-JS version now.
<toretore>
the crypto is probably why they went an applet way back then
ari-_-e has quit [Quit: Leaving]
robbyoconnor has quit [Excess Flood]
<judofyr>
toretore: well, they claimed they used an applet because "it ships with all the algorithms we need", but they've still implemented SHA1/SHA256/AES/HMAC in the applet
brixen has quit [Excess Flood]
dhruvasagar has quit [Ping timeout: 240 seconds]
<toretore>
luckily i don't deal much with this thing anymore
<judofyr>
probably because of old Java versions or something
robbyoconnor has joined #ruby-lang
elia has quit [Ping timeout: 250 seconds]
<judofyr>
gpg_: feel free to ping me with concrete questions though. either here or judofyr@gmail.com
jsullivandigs has joined #ruby-lang
kek_ has quit [Ping timeout: 240 seconds]
ruby-lang499 has quit [Quit: Page closed]
brixen has joined #ruby-lang
<judofyr>
toretore: so many projects I'd like to finish :)
<toretore>
judofyr: was it you who wrote that io loop article a while back?
<judofyr>
toretore: probably
dhruvasagar has joined #ruby-lang
<judofyr>
I wrote one for Practicing Ruby
<toretore>
ok i ghought so
<toretore>
yeah, that's the one
<judofyr>
hah. how so?
<judofyr>
what gave me away?
<judofyr>
(other than the author-line)
<toretore>
hah
<toretore>
no it was just very helpful when i was trying to understand all this stuff so i wanted to say thanks
<judofyr>
cool
<judofyr>
that's great :)
<toretore>
writing an event loop right now actually :P
<toretore>
judofyr: another example i think is go, which is a pretty new language but with a robust set of libraries
<judofyr>
toretore: I think the stdlib is great
<toretore>
(AFAIK though, i haven't done much go)
<yorickpeterse>
Jesus, New Relic's agent is quite the beast to set up outside of a Rack environment
<toretore>
yeah stdlib is great
<judofyr>
haven't played with other stuff
<judofyr>
toretore: but the type system (no generics) and error handling (two-style arguments) is crap
<toretore>
me neither, so i'm basically just pulling this out of thin air, which i shouldn't
<toretore>
i don't know go well enough to have an opinion on that
stayarrr has joined #ruby-lang
<toretore>
yorickpeterse: they don't have a library that just submits whatever to their servers?
<judofyr>
toretore: Go got a lot right though. decent stdlib. great deployment alternative. built-in package manager.
<toretore>
yeah
<judofyr>
(not a fan of package names being based on an URL though)
<toretore>
i like that i can create binaries
<apeiros>
I'm a fan of reverse DNS notation for package ID
<toretore>
i.e. it doesn't use an interpreter
mistym has quit [Remote host closed the connection]
<apeiros>
IMO not optimal, far from it, but much better than what we have :-/
<toretore>
apeiros: com.apeiros.mylib ?
<apeiros>
toretore: like that
<apeiros>
+yes,
<ljarvis>
just makes me think of java
<apeiros>
java isn't all bad :)
<toretore>
i don't like that in particular, but i like the idea of dot notation and the hierarchical structure
elia has joined #ruby-lang
<apeiros>
I like the idea of not having namesquatters
<toretore>
i mean, com, net and org?
<ljarvis>
sure, I don't mind java
<judofyr>
apieros: for me it's more about being able to move a project from github.com to bitbucket.org without requiring all the users to change they're packages
<apeiros>
could also have com.rubygems.username.mylib for easy entry
<judofyr>
why bother with the com. ?
<apeiros>
because you'd want a verification
<judofyr>
apieros.mylib
<judofyr>
oh, you want to tie it to DNS?
<toretore>
judofyr: this is something they do in docker too, where the image tag has the uri as part of it
<apeiros>
yes. otherwise you've just moved the squatter problem
<judofyr>
is name squatting a problem?
<apeiros>
but you can implement it in a way (e.g. with the com.rubygems.username.mylib) that you usually get off with mylib, and in rare cases username.mylib
<toretore>
i'd rather prefer a system where you have a list of sources, like in rubygems
<judofyr>
toretore++
<judofyr>
or +1
<toretore>
+= 1
<apeiros>
toretore: yes. that's the natural complement. which allows what I just said :)
<toretore>
:)
* toretore
.succ
<apeiros>
judofyr: and yes, namesquatting is a problem
<apeiros>
generically named libs, unmaintained libs, …
<apeiros>
test beacons
stayarrr has quit [Quit: Leaving...]
<toretore>
in ruby too. someone took the name i was going to use for my lib :/
_elia has quit [Ping timeout: 255 seconds]
simoz1111116 has quit [Ping timeout: 260 seconds]
<apeiros>
I meant in ruby :)
<judofyr>
what about GitHub's approach? <username>/<projectname>
<apeiros>
hence my original "better than what we have now"
<toretore>
that's a good idea, decoupling the source list from the actual files
<apeiros>
and now when I do `gem install foo`, it'll search com.rubygems.myself and com.rubygems.ruby-core
<apeiros>
if I do `gem install judofyr.foobar`, it'll search com.rubygems and com.github
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<toretore>
you know, there's nothing stopping us from naming our gems author.name
<apeiros>
peer pressure :-(
<apeiros>
(gem naming guideline, in this instance)
<judofyr>
apieros: I don't like the implicit part there. I want `gem install foo.bar` to always install foo.bar, not com.rubyforge.foo.bar or something)
pvelidi has joined #ruby-lang
<toretore>
yeah, but they're *guidelines* :)
<judofyr>
apieros: and how do people refer to a library? how is it required?
<judofyr>
but the last part?
<apeiros>
judofyr: there wouldn't be a foo.bar in that world. it'd work similarly as to how require+$LOAD_PATH works
<judofyr>
or the full path?
<toretore>
hm
<toretore>
require 'foo/bar/file'
<toretore>
i think that's ok
<toretore>
make it consistent
<apeiros>
judofyr: sources are path of the path. add them to $LOAD_PATH and you don't need fully qualified
momomomomo has joined #ruby-lang
<apeiros>
but yeah, details would need to be cleared up
<judofyr>
apieros: that's the part I don't like. I'd like to decouple where packages come from their name.
<judofyr>
e.g: mirrors
<judofyr>
mirrors should just be another source, but it should not change how people require it
<apeiros>
valid point
<toretore>
is this in regards to the com.whatever part?
<judofyr>
also: dependencies
<apeiros>
but you could list the mirrors
<pvelidi>
Hi Guys .. need some help regarding Ruby RDoc. I was able to generate the documentation for my ruby class file. However if i wanted to also include some sample code as to how to use my class just beneath each method in the documentation. is there any method to add some chunk of sample code in RDoc.
MickeyO has quit [Read error: Connection reset by peer]
<judofyr>
also: I'm not sure if I'm going to bother implement this for Ruby…
<apeiros>
sources: [], mirrors: […]
Miphix has quit [Quit: Leaving]
<judofyr>
pvelidi: I think RDoc supports Markdown these days.
saarinen has quit [Quit: saarinen]
<yxhuvud>
it is quite possible to have several sources that is not mirrors though. making it possible to select which source to fetch from could be necessary.
<apeiros>
you could provide mirrors as either "might mirror everything" or "mirrors only com.foo"
<judofyr>
apieros: I'd like sources and mirrors to be the same thing :) unification!
<pvelidi>
judofyr, i googled many times regarding that feature, came up with nothing. isnt it popular already
<toretore>
yxhuvud: doesn't bundler support that?
<yxhuvud>
toretore: no idea.
<apeiros>
judofyr: IMO they aren't the same. as source should IMO be verified. A mirror only needs verification that it really mirrors what it says it mirrors.
<gpg_>
result = Hash.new {|h, k| h[k] = [] } Modifiers.all.each do |it| result[it.product_category_id] << it.modifier_id end * OUTPUT is: { 7: [5, 4, 54, 55] } { 8: [6] } { 93: [7] } *also here's db values * http://stackoverflow.com/questions/24675023/iterate-over-rails-active-record-model * Question is how does the iteration only collect the modifier_id for product_category_id 7 for example? Is there a way of seeing what iteration does
<toretore>
apeiros: i don't think verification is necessary
<apeiros>
judofyr: but I'd have to think about that. I do think proper mirror handling is important. also proper local gemserver handling would be a good idea.
<toretore>
apeiros: anyone should be able to list any uri as their source
<pvelidi>
judofyr, thanks for the link ..
<judofyr>
gpg_: use gist.github.com or pastie.org for pasting
<yxhuvud>
toretore: I know it is possible to set several soruces, but I dunno if it is possible to specify where something should be fetched from.
<gpg_>
judofyr: ok will do
<apeiros>
toretore: insecure by default has proven to be a recipe for disaster
<whitequark>
thin is such a piece of shit
<whitequark>
it segfaults on ruby >=2 for at least a year by now
<judofyr>
haha, hi whitequark
<apeiros>
toretore: I'm ok with allowing insecure sources through options. but by default? :-O
nofxx has joined #ruby-lang
nofxx has joined #ruby-lang
<pvelidi>
judofyr, that page is long, takes some time to go through .. really appreciate your help ..
<whitequark>
hi judofyr
mistym has joined #ruby-lang
<judofyr>
apieros: I've always been a fan of including checksums everywhere. and signing checksums instead of signing packages themselves.
<judofyr>
and storing checksums in Gemfile.lock (or similar)
<apeiros>
judofyr: that's useless if your source is the same as the checksum provider
<toretore>
yxhuvud: ah no it supports :git as a git source, not gem source
<toretore>
judofyr: they would be in different modules
<toretore>
right, that's another convention that would need to be followed
charliesome has joined #ruby-lang
<toretore>
ToreTore::Foo and Judofyr::Foo
<judofyr>
right
<toretore>
ideally you could load different versions as well :)
<toretore>
but that's difficult
<judofyr>
yep
arBmind has joined #ruby-lang
<judofyr>
oh well, I've kinda given up on Ruby as a ecosystem now
<whitequark>
judofyr: I'm convinced that's a bad idea anyway
<toretore>
as for the security aspect; you would control the list of sources you want to use, and use ssl or w/e, that's decoupled from the naming scheme
<judofyr>
whitequark: care to elaborate?
<judofyr>
if you have time
<yxhuvud>
judofyr: do you have an example of a different ecosystem that you would prefer?
<whitequark>
judofyr: you want to conflate macros and generics
<whitequark>
this rips you off the benefits of staging
<judofyr>
yxhuvud: (1) allowing multiple packages to co-exist in the same runtime. either by convention (Perl packages) or sandboxes (Node.js). (2) one solution for browsing documentation (MetaCPAN, godoc).
<judofyr>
that would be a good start
<toretore>
rdoc.info works well for #2
<judofyr>
(1) is basically "Don't behave like ActiveSupport"
<judofyr>
rdoc.info works except when it doesn't :)
<judofyr>
as in, when gem authors puts documentation other places
<judofyr>
whitequark: staging?
<toretore>
oh you mean outside the code?
<toretore>
there could be a convention for that!
<toretore>
(i love standards and conventions)
<judofyr>
toretore: for instance. or if someone uses TomDoc instead of YARD
<toretore>
right
<judofyr>
conventions are fine. but right now they don't exist.
<whitequark>
judofyr: at some point you want to be able to tell "I'm not going to execute any code anymore"
<toretore>
well, it's not righ to make everyone use yard either..
<whitequark>
specifically, it must happen before typechecking, or it'll be undecidable
banister has joined #ruby-lang
<whitequark>
which is probably possible to make a language upon, but is a spectacularly bad idea
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<judofyr>
whitequark: right. after you've parsed the input-file once, all macros are resolved.
<whitequark>
so, well, I've been convinced by my own creations that a macro + parametric type system is much better what I tried to do
<judofyr>
*nods*
<whitequark>
it's more generic, less convoluted, and has MUCH less corner cases
<judofyr>
I guess it's because I don't really know the details behind parametric type systems
<judofyr>
they feel tricky to me
Sirupsen has joined #ruby-lang
<whitequark>
they're really simple inside
<whitequark>
the ML value restriction paper gives a good introduction, IIRC
jarto has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)]
stayarrr has joined #ruby-lang
verto has joined #ruby-lang
Muz has quit [Ping timeout: 240 seconds]
clamstar has quit [Ping timeout: 260 seconds]
stamina has joined #ruby-lang
Cakey has quit [Ping timeout: 240 seconds]
sunaku has joined #ruby-lang
kaiza has quit [Ping timeout: 240 seconds]
Muz has joined #ruby-lang
amerine has quit [Ping timeout: 250 seconds]
bokafly has quit [Quit: bokafly]
Cakey has joined #ruby-lang
symm- has quit [Ping timeout: 255 seconds]
clamstar has joined #ruby-lang
jtperreault has quit [Ping timeout: 264 seconds]
amerine has joined #ruby-lang
ironcamel has quit [Ping timeout: 245 seconds]
yeltzooo4 has quit [Ping timeout: 255 seconds]
yeltzooo has joined #ruby-lang
kaiza has joined #ruby-lang
lguardiola has joined #ruby-lang
dorei has joined #ruby-lang
saarinen has joined #ruby-lang
ironcamel has joined #ruby-lang
jtperreault has joined #ruby-lang
eeezkil has joined #ruby-lang
carth3l has joined #ruby-lang
spiffy_ has joined #ruby-lang
michaeldeol has quit [Ping timeout: 264 seconds]
weems|mac has joined #ruby-lang
Cakey has quit [Ping timeout: 250 seconds]
loincloth has quit [Remote host closed the connection]
durnoyabsurd has joined #ruby-lang
durnoyabsurd has quit [Client Quit]
michaeldeol has joined #ruby-lang
jgpawletko_away is now known as jgpawletko
lianj has quit [Ping timeout: 272 seconds]
lianj has joined #ruby-lang
lianj has joined #ruby-lang
lianj has quit [Changing host]
stayarrr has quit [Quit: Leaving...]
mehlah has quit [Quit: Leaving...]
jsullivandigs has quit [Remote host closed the connection]
amerine_ has joined #ruby-lang
jsullivandigs has joined #ruby-lang
danijoo has quit [Read error: Connection reset by peer]
danijoo has joined #ruby-lang
amerine has quit [Ping timeout: 255 seconds]
__butch__ has joined #ruby-lang
weems|mac has quit [Quit: weems|mac]
mehlah has joined #ruby-lang
Lewix has quit [Remote host closed the connection]
Lewix has joined #ruby-lang
__butch__ has quit [Client Quit]
relix has quit [Remote host closed the connection]
__butch__ has joined #ruby-lang
hahuang65 has joined #ruby-lang
relix has joined #ruby-lang
Lewix_ has joined #ruby-lang
Lewix has quit [Read error: Connection reset by peer]
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
sunaku has quit [Quit: WeeChat 0.4.3]
Sirupsen has joined #ruby-lang
weems|mac has joined #ruby-lang
loincloth has joined #ruby-lang
stamina has quit [Ping timeout: 272 seconds]
Cakey has joined #ruby-lang
David__ has joined #ruby-lang
go|dfish has joined #ruby-lang
gss has joined #ruby-lang
vintik has quit [Remote host closed the connection]
vintik has joined #ruby-lang
centrx has joined #ruby-lang
yfeldblum has joined #ruby-lang
gss has quit [Ping timeout: 250 seconds]
Cakey has quit [Ping timeout: 240 seconds]
vintik has quit [Ping timeout: 245 seconds]
AKASkip has joined #ruby-lang
yxhuvud has quit [Remote host closed the connection]
yfeldblu_ has joined #ruby-lang
MichD is now known as michd
weems|mac has quit [Quit: weems|mac]
yxhuvud has joined #ruby-lang
yfeldblum has quit [Ping timeout: 240 seconds]
yfeldblu_ has quit [Ping timeout: 240 seconds]
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #ruby-lang
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Sirupsen has joined #ruby-lang
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jlovick has joined #ruby-lang
michaeldeol has joined #ruby-lang
yeltzooo has quit [Ping timeout: 260 seconds]
skade has quit [Quit: Computer has gone to sleep.]
kaiza has quit [Ping timeout: 255 seconds]
verto has quit [Ping timeout: 240 seconds]
clamstar has quit [Ping timeout: 264 seconds]
Muz has quit [Ping timeout: 250 seconds]
yeltzooo has joined #ruby-lang
redgetan has quit [Ping timeout: 260 seconds]
verto has joined #ruby-lang
redgetan has joined #ruby-lang
ironcamel has quit [Remote host closed the connection]
ironcamel has joined #ruby-lang
jtperreault has quit [Ping timeout: 250 seconds]
momomomomo has joined #ruby-lang
bruno- has joined #ruby-lang
kaiza has joined #ruby-lang
Muz has joined #ruby-lang
clamstar has joined #ruby-lang
eeezkil has quit [Read error: Connection reset by peer]
Johz has joined #ruby-lang
jtperreault has joined #ruby-lang
sarkyniin has joined #ruby-lang
karamazov has quit [Remote host closed the connection]
karamazov has joined #ruby-lang
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
banister has joined #ruby-lang
djbkd has quit [Remote host closed the connection]
verto has quit [Ping timeout: 245 seconds]
yeltzooo has quit [Ping timeout: 245 seconds]
karamazov has quit [Ping timeout: 255 seconds]
David__ has quit [Read error: Connection reset by peer]
David__ has joined #ruby-lang
verto has joined #ruby-lang
bantic has joined #ruby-lang
yeltzooo has joined #ruby-lang
karamazov has joined #ruby-lang
weems|mac has joined #ruby-lang
robbyoconnor has joined #ruby-lang
karamazov has quit [Client Quit]
loincloth has quit [Remote host closed the connection]
loincloth has joined #ruby-lang
weems|mac has quit [Quit: weems|mac]
skade has joined #ruby-lang
JohnBat26 has quit [Ping timeout: 255 seconds]
seamon has joined #ruby-lang
ayonkhan has joined #ruby-lang
toastynerd has quit [Remote host closed the connection]
ayonkhan_ has joined #ruby-lang
ayonkhan has quit [Client Quit]
ayonkhan_ has quit [Client Quit]
mehlah has quit [Quit: Leaving...]
vintik has joined #ruby-lang
ayonkhan has joined #ruby-lang
Sirupsen has joined #ruby-lang
ayonkhan has quit [Client Quit]
Sirupsen has quit [Client Quit]
eeezkil has joined #ruby-lang
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
t_ has joined #ruby-lang
simoz1111116 has joined #ruby-lang
<seamon>
From a pragmatic point of view, or a semantic, what would be best? An additional keyword aka :import to add module-like functionality to a class or a modified version of :include?
simoz1111117 has joined #ruby-lang
<centrx>
What's different about it versus require/include/extend ?
<seamon>
It “imports” a subclass of Module with some additional functionality.
postmodern has joined #ruby-lang
simoz1111116 has quit [Ping timeout: 245 seconds]
<centrx>
seamon, Like adding namespacing support a la Python's import?
<seamon>
Yeah?
<centrx>
Is that what you mean?
<seamon>
Yes
<centrx>
cool
<centrx>
To me, that seems more the province of require (or new "import"), as opposed to include
<centrx>
include already allows accessing namespaces, using the ::
<centrx>
whereas require only works with the directories, and ends up grabbing everything
<seamon>
This is more of a language level than a file level feature
<centrx>
seamon, Also try asking in #ruby that channel is usually more active
<seamon>
Thanks for input
<seamon>
Ok
robbyoconnor has quit [Ping timeout: 245 seconds]
wallerdev has quit [Quit: wallerdev]
momomomomo has quit [Quit: momomomomo]
solars has joined #ruby-lang
havenwood has quit [Remote host closed the connection]
hahuang65 has quit [Ping timeout: 245 seconds]
dorei has quit [Read error: Connection reset by peer]
<whitequark>
centrx: why do you even need a keywrd for that?
fragamus has joined #ruby-lang
enebo has quit [Quit: enebo]
<whitequark>
"import foo.bar" → "Bar = Foo::Bar" or something.
<centrx>
whitequark, Foo::Bar and all of its friends are in the namespace already, there could be conflicts, or maybe you don't want to load the entire file when you do require
hahuang65 has joined #ruby-lang
* whitequark
checks the channel name
<whitequark>
how is it related to ruby?
<centrx>
whitequark, Of course, we handle that through conventions like one class per file, a Python-like import would have some use
mistym_ has quit [Remote host closed the connection]
<centrx>
Apparently an enterprising young seamon intends to add this feature...to something
bokafly has joined #ruby-lang
<yorickpeterse>
seamon: Neither
<yorickpeterse>
If you want to run something when a module is included, overwrite "self.included" in the module
symm- has joined #ruby-lang
<yorickpeterse>
e.g.
yfeldblum has joined #ruby-lang
<yorickpeterse>
>> module Foobar; def self.included(by); p "Hello #{by}"; end; end; class A; include Foobar; end
<jhass>
oh great, that differs between ::HTML and ::XML
<yorickpeterse>
Ah yeah derp, that's invalid XML
skade has joined #ruby-lang
<yorickpeterse>
needs a single root element, whoever came up with that
<jhass>
yeah, add a common root and it works for ::XML too
<yorickpeterse>
ugh, why did I start working on this
<yorickpeterse>
at least CSS selectors aren't as breaindead
Sirupsen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<yorickpeterse>
"Following axis: following siblings and their children and their children, etc." Oh great, contradicting docs too
<yorickpeterse>
From the spec: "the following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes"
<yorickpeterse>
(╯°□°)╯︵ ┻━┻
Sirupsen has joined #ruby-lang
<jhass>
MDN says "Indicates all the nodes that appear after the context node, except any descendant, attribute, and namespace nodes."
<yorickpeterse>
Yeah so my guess is that they mean "except descendants *of the current context*"
<yorickpeterse>
And not "except *any* descendants"
mehlah has quit [Quit: Leaving...]
<jhass>
interesting, the MDN one is copy pasted from the MSDN docs
<yorickpeterse>
For an organization paid to write docs (and bend over to media companies) the W3 is exceptionally bad at speccing things
hahuang65 has quit [Quit: WeeChat 0.4.3]
<yorickpeterse>
Yeah so it seems "following" *does* take the descendants of nodes *after* the context one