#microformats 2017-05-11

2017-05-11 UTC
#
ben_thatmustbeme
gRegorLove: i finally went through my entire list issue by issue
#
ben_thatmustbeme
before correcting anything on my local copy, i filed a copy
[shaners] joined the channel
#
[shaners]
ben_thatmustbeme: does me merging #52 mean that your end of `2.9` is done?
#
ben_thatmustbeme
not yet, there are a few other things that i wanted to go over
#
ben_thatmustbeme
at a minimum, the text for install message
#
ben_thatmustbeme
which i know how to do, just haven't worked out the text for it yet
#
ben_thatmustbeme
the question was, should i go through bringing in the hyphens instead of underscores bit for 2.9 or wait for 3.0
#
[shaners]
I’d wait
#
ben_thatmustbeme
there were other possible improvements, but i don't think those are worth it then
#
[shaners]
most people are gonna upgrade all the way to 3.0
#
ben_thatmustbeme
i'd say its just a matter of figuring out the text for the install message
#
[shaners]
2.9 isn’t really about improvements. More just about warnings.
#
ben_thatmustbeme
there are some improvements certainly, but yeah, again, only because i had those done
#
[shaners]
my list is:
#
[shaners]
- version bump in readme
#
[shaners]
- version bump in version.rb
#
[shaners]
- delete branches other than master
#
[shaners]
- document the rubygems release process (as I release 2.9)
#
ben_thatmustbeme
delete branches other than master and 3.0.0
#
ben_thatmustbeme
will rebase that after 2.9 is out
#
ben_thatmustbeme
i figured i'd bump version as the last thing before release
#
[shaners]
oh nice. i hadn’t seen that you’d move your 3.0 work over from your personal account.
#
[shaners]
and yes, if you wanna do the version bump honors, it’s all yours. you’ve earned it.
#
ben_thatmustbeme
it looks like its just spec.post_install_message is all we need for the message
#
ben_thatmustbeme
suggestions on text for it?
#
[shaners]
<!channel> Any objection to me deleting the Circle CI hook on the mf2 ruby gem? It doesn’t seem to be doing anything. Each push, I get an email saying “no tests”.
#
ben_thatmustbeme
sounds good to me, don't know where it came from
#
ben_thatmustbeme
notice 3.0.0 is now passing travis tests :)
#
[shaners]
I’m drafting an idea for a 2.9 post install message
#
[shaners]
plays hold music
#
ben_thatmustbeme
carlton dances
#
[shaners]
Remind me what got deprecated but doesn’t throw a deprecation warning?
#
tantek
reads backscroll. heh.
#
ben_thatmustbeme
depending on class names
#
schmarty
is so excited for 3.0
#
ben_thatmustbeme
also having the original nokogiri objects
#
ben_thatmustbeme
best to say we are getting rid of those and if people really complain or say they need them i may be able to bring them back
tantek joined the channel
#
[shaners]
“Calling all. This is our last cry before our eternal silence.”
#
[shaners]
- The 2.X version.
#
[shaners]
3.0 is a nearly complete re-write of the Microformats Ruby parser.
#
[shaners]
Coming VERY SOON: The 3.0 Version!
#
[shaners]
3.0 will fix almost all outstanding issues on the GitHub repo,
#
[shaners]
the cost of doing this is that there will be some breaking changes
#
[shaners]
add classical Microformats support and more! But unfortunately,
#
[shaners]
and changing API.
#
[shaners]
The 2.9 release is a transitional release. Really, we want you using 3.0,
#
[shaners]
but 2.9 gives you an opportunity to run your tests, fix any deprecation warnings,
#
[shaners]
and be able to migrate to 3.0 with greater confidence.
#
[shaners]
In addition to deprecation warnings on changing methods,
#
ben_thatmustbeme
flood cut off?
#
[shaners]
what’d you call me? ?
#
ben_thatmustbeme
oh, the other hold was to make sure (:all) is the best option, i can't think of a better way to do it?
#
[shaners]
so that is actually a breaking change in 2.9?
#
[shaners]
What is flood cut off?
#
[shaners]
Oh I see. In IRC. ?
#
[shaners]
I’ll gist it
[ben_thatmustbem joined the channel
#
[ben_thatmustbem
i just jumped on slack to read it
#
[shaners]
ben_thatmustbeme will you write a bullet point about (:all) to include?
#
ben_thatmustbeme
no, that was more just a question for you
#
ben_thatmustbeme
the (:all) is working in 2.9 and has a deprecation warning to say to transition to it
#
ben_thatmustbeme
can you think of a more ruby way to do it?
#
[shaners]
remind me again how it’d be used vs when :all won’t be used
#
ben_thatmustbeme
collection.entry.cards woul become collection.entry.card(:all)
#
[shaners]
Well. The more idiomatic ruby is the plural. But I understand why we’re getting rid of it.
#
ben_thatmustbeme
the pluralization stuff really doesn't work with anything that is a plural already, so we have to drop those in order to not just break on random things
#
[shaners]
how about `collection.entry.card.all` ?
#
ben_thatmustbeme
entry.card calls method missing, so it already called that
#
ben_thatmustbeme
and whats returned is the object, not an array
#
[shaners]
what kind of object?
#
ben_thatmustbeme
entry.card returns the first item in the array (as a ParserResult) but there is no way to travel up the tree
#
ben_thatmustbeme
so you can't get back the array
#
ben_thatmustbeme
the only other way would be to always return the array, but then its a major change to being more like .card[0] or .card.first etc
#
[shaners]
entry.card.all returns what?
#
ben_thatmustbeme
it would return an error because .all is underfined for a card
#
[shaners]
could entry.card.all call a private method on entry to get the array of cards?
#
[shaners]
(or a public method, whatever)
#
[shaners]
can you link me to the impl of .card please?
#
ben_thatmustbeme
heh, magic of method missing
#
[shaners]
it’s a useful hammer, but careful to not use it too much, that way be dragons
#
[shaners]
Is a ParserResult enumerable?
#
ben_thatmustbeme
not currently
#
[shaners]
ie, can i call .each on .card(:all)?
#
ben_thatmustbeme
.card(:all) returns an array
#
ben_thatmustbeme
of ParserResults
#
[shaners]
do entry.first and entry.last do The Right Thing?
#
ben_thatmustbeme
no, those don't actually make sense
#
[shaners]
oops. mistyped.
#
[shaners]
entry.card.first and entry.card.last
#
ben_thatmustbeme
no, entry.card is a single item, so .first and .last on it would be the same as calling .entry.first or entry.last
#
ben_thatmustbeme
jumping in the shower
#
[shaners]
Well, here’s my thinking. The more Ruby Way™ would be something like:
#
[shaners]
entry.card (shorthand for entry.card.first), entry.card.first, entry.card.last, entry.card.all, entry.card[3], etc
#
[shaners]
how you’d implement that is beyond me right now with chemo brain
#
[shaners]
so. i think the prudent thing is to ship entry.card(:all), entry.card(0), entry.card. and maybe in some future you, me or some daring adventurer can implement it more idiomatically.
#
[shaners]
and in the meantime, the villagers are happy. the dragon has been pushed back into the cave for now. and we can all go about our merry lives.
#
[shaners]
in short, :shipit:
#
tantek
shaners, thanks again for all this. seriously man. however you're fighting through the chemo brain and all that keep it up. health first obv but if it helps we're here too :)
#
[shaners]
there are good days/times and less good days/times. i try to go hard and cross off TODOs on during the good times.
#
tantek
you'll appreciate this, 2 days after I tweeted about helping out, Twitter locked my @t account
#
[shaners]
i’m probably the most excited about this 3.0 work that ben has done, bc it’s been hanging on me for years that no one (namely me) was being a good steward for the mf rb gem.
#
tantek
so until they unlock it, you're effectively pinned to the top of my Twitter profile!
#
[shaners]
did you get it back?
#
[shaners]
did they say why?
#
tantek
I haven't "lost" it per se, it's just in a weird locked state
#
tantek
"rules" -> link to super long document with lots of things I didn't break
#
tantek
:shrug:
#
[shaners]
dat weird, though totes not surprising
#
[shaners]
is it in process or anything? any feedback or just a black box?
#
tantek
I'm tempted to contact press friends to video me walking into the Twitter offices on Market street demanding to speak to someone in charge
#
tantek
automated support response
#
tantek
nothing more
#
[shaners]
have you pinged benward?
#
ben_thatmustbeme
so entry.items returns the full array. so entry.items[0], entry.items.first, entry.items.last
#
ben_thatmustbeme
that all works
#
ben_thatmustbeme
entry.card is a shortcut for entry.items.select{|x|x.type == 'h-card'}
#
[shaners]
ps what’s this items@0 syntax that you use in chat from?
#
tantek
shaners - yeah I should do that now that it's been > 24h
#
tantek
I would post a tweet about it but ...
#
[shaners]
ben_thatmustbeme here’s an idea (which is more work for you and changes the API design):
#
[ben_thatmustbem
woah, that was a weird artifact of the bridge
#
[ben_thatmustbem
i types [ 0 ]
#
[ben_thatmustbem
[0]
#
[shaners]
what if entry.card does the same code, except without the .first? returning an array.
#
ben_thatmustbeme
OHHHHH. hahahaha
#
Loqi
nice
#
ben_thatmustbeme
its because IRC names are with brackets
#
ben_thatmustbeme
its trying to reference a usernamed 0
#
[shaners]
entry.card.all would quietly return its parent. .first, .last, .each, and indexing with [ 3 ] all Just Work™
#
ben_thatmustbeme
yeah, i thought of that as an option, and it would be elegant, but its a much bigger change
#
ben_thatmustbeme
entry.card.all would then not work, if entry.card returns the array
#
[shaners]
a bigger change period or a bigger change to shoehorn into 2.9?
#
ben_thatmustbeme
no, bigger change
#
ben_thatmustbeme
.card right now always returns a single item
#
ben_thatmustbeme
.card.name.to_s
#
ben_thatmustbeme
would now change to .card.first.name.to_s
#
[shaners]
yeah. ?
#
ben_thatmustbeme
thats going to be a big transition for a lot of code
#
[shaners]
trade offs
#
ben_thatmustbeme
.cards going to card(:all) is better than that
#
ben_thatmustbeme
just not as pretty
#
[shaners]
then, FILDI
#
ben_thatmustbeme
and .card.name.to_s stays the same
#
[shaners]
fuck it let’s do it
#
[shaners]
getting this gem parity with the others with a slightly less than desirable api is way more important than futzing about the api design
#
[shaners]
make it work, make it good, make it fast.
#
[shaners]
lemme know when you button up your end of things, and i’ll release and document the process
#
Loqi
[dissolve] #56 2.9
#
[shaners]
just so
#
[shaners]
ben_thatmustbeme Did you say that all the tests were passing on 2.9?
davidmead joined the channel
#
ben_thatmustbeme
No, not on 2.9 I didn't rewrite the test suite on it
#
ben_thatmustbeme
But it does fail the same number of them
[anomalily] joined the channel
#
ben_thatmustbeme
[shaners]: updated PR
#
[shaners]
aaaaaah gotcha
#
Loqi
[dissolve] #65 incorrectly using value-class-pattern for email address
#
ben_thatmustbeme
all others i was reasonably sure what to do, this one i am reasonably sure it wrong, but not sure which way to go with it. thus i put this test in my copy as pending an update on the original repo
#
ben_thatmustbeme
okay, off to bed / on phone
#
[shaners]
ben_thatmustbeme what timezone are you in?
#
ben_thatmustbeme
EDT with 2 year old twins
#
ben_thatmustbeme
that makes for early nights
#
ben_thatmustbeme
and early mornings
#
[shaners]
i’m releasing 2.9 now-ish. you’ll see it tomorrow when you wake up.
#
Loqi
does a happy dance!
#
tantek
looks at #65
#
@rubygems
microformats2 (2.9.0): Parses HTML for microformats and return a collection of dynamically defined Ruby objects https://rubygems.org/gems/microformats2
(twitter.com/_/status/862487013219606528)
#
tantek
ben_thatmustbeme++
#
Loqi
ben_thatmustbeme has 11 karma in this channel (218 overall)
#
tantek
shaners++ congrats!!!
#
Loqi
shaners has 3 karma in this channel (62 overall)
#
@veganstraightedge
@rubygems I couldn’t be happier that the Microformats Ruby parser gem has found a new steward and is getting caught… https://twitter.com/i/web/status/862487662543872000
(twitter.com/_/status/862487662543872000)
#
@veganstraightedge
@rubygems And 3.0 (a complete re-write) of the Microformats Ruby parser gem is right around the corner. (2.9 was a… https://twitter.com/i/web/status/862487854974328832
(twitter.com/_/status/862487854974328832)
#
[shaners]
aaronpk did you say that you’d take on porting your url normalization lib to a ruby gem?
#
Loqi
[jlsuttles] #21 Implement sophisticated url normalization
tantek joined the channel
#
aaronpk
[shaners] i think i could manage that. i already found a good test suite for it which is the hard part
[eddie], [michellejl], Zegnat, nitot, [kevinmarks] and barpthewire joined the channel
#
ben_thatmustbeme
Woo \o/ 2.9 is it the door. Now it's time to prep 3.0 and wait
[pfefferle] joined the channel
sebsel, KartikPrabhu, nitot_, [colinwalker], adactio, rodolfojcj, nitot, gRegorLove and [shaners] joined the channel
#
[shaners]
ben_thatmustbeme what’s the “wait” part of “prep 3.0 and wait”?
#
ben_thatmustbeme
oh, i thought you wanted to give time for people to see 2.9 first
#
ben_thatmustbeme
i'm making improvements to 3.0 anyway, specificially getting the respond_to? stuff working better
#
ben_thatmustbeme
and changing some of the class names to match the old one
#
[shaners]
Nah. Are you familiar with the Gemfile syntax for specifying versions?
#
ben_thatmustbeme
i'm assuming its similar to package.js / composer.js
#
[shaners]
does package/composer use the ~ to specify fuzzy versions?
#
[shaners]
“~2.1” means “you can update to 2.2, 2.3, 2.9, but not 3.0?
#
ben_thatmustbeme
cool, same thing
#
[shaners]
so 2.9 is for people who specified ~2.0 or ~2.1 in their Gemfiles.
#
ben_thatmustbeme
i'm finishing up some bits on 3.0.0, i'll rebase and i wouldn't mind some review from others
#
[shaners]
They won’t get a 3.0 surprise next time they bundle and break things. They’ll get the warnings.
#
[shaners]
People don’t specify a version are living on the edge and implicitly accepting that shit might get wild and break some time.
#
[shaners]
So, imo, keep doing your 3.0 work. But don’t feel like there’s an embargo period.
#
ben_thatmustbeme
has a tendency to occasionally live on the edge and implicitly accept that shit might get wild and break some time.
#
[shaners]
some 2.1 users might not see 2.9 or update for months. we can’t predict when that’ll happen or be expected to wait for everyone.
#
[shaners]
the 2.9 release is that transitional stepping stone for more conservative users
#
[shaners]
onward upward!
#
ben_thatmustbeme
now then, this is going to be a complex rebase
#
[shaners]
GOOD LUCK!
[cleverdevil] joined the channel
#
ben_thatmustbeme
[shaners]: should i push the result to a branch or just bring it directly in to master
rodolfojcj joined the channel
#
ben_thatmustbeme
interesting, i cannot actually merge the PR because i submitted it
#
aaronpk
That doesn't sound right
[jeremycherfas] joined the channel
#
aaronpk
is that a new github setting?
#
ben_thatmustbeme
i am only listed as a member on the repo?
tantek and nitot joined the channel
#
ben_thatmustbeme
he was supposed to make me an admin on the repo
#
ben_thatmustbeme
but i cannot seem to self review still
ivc, nitot_, tantek, nitot, [jeremycherfas], [colinwalker], KartikPrabhu, [eddie] and [shaners] joined the channel
#
[shaners]
ben_thatmustbeme You are an admin. But I have the box checked to required admins to do the same process as non-admins. That way all code gets at least one extra set of eye balls on it.
#
aaronpk
oh nice, i didn't even know that was a setting
#
[shaners]
it’s a little bit of an annoyance if you wanna go real fast or it’s just a little thing like fixing a typo in the readme
#
[shaners]
but i think it’s a net positive
#
[shaners]
reviewing ben_thatmustbeme’s PR now
#
[shaners]
ben_thatmustbeme is `.to_json` removed from the gem or just the README?
tantek joined the channel