#indiewebcamp 2013-05-15

2013-05-15 UTC
scor joined the channel
#
aaronpk
heading out, see you in SF!
caseorganic, b0bg0d, tantek, duckbillp, peck_lx, catsup, bret and andreypopp joined the channel
#
@pip
RT @veganstraightedge: I was just invited to post on @medium. So, I published a post about sharecropping. ;)
b0bg0d and cweiske joined the channel
#
tantek.com
edited /Main_Page (+21) "/* More */ social web map"
(view diff)
andreypopp and b0bg0d joined the channel
#
tantek.com
created /social_web_map (+2367) "draft with brain dump of regions and sites of each type"
(view diff)
#
tantek.com
created /map (+28) "r"
(view diff)
#
tantek.com
edited /social_web_map (+20) "/* Silo Island Nations */ no one is POSSEing to them yet"
(view diff)
#
tantek.com
edited /social_web_map (+28) "/* IndieWeb Alliance */ Chris Wilson"
(view diff)
seyz and eschnou joined the channel
#
aaronparecki.com
edited /social_web_map (+0) "/* Sketches */"
(view diff)
duckbillp, cweiske, andreypopp, peck_lx, barnabywalters, b0bg0d and tantek joined the channel
#
@xtof_fr
Chronorêve #indieweb : "Je veux bosser dans Scrivener et publier où je veux sur le web !" http://christopheducamp.com/blog/chronoreve-indieweb-je-veux-bosser-dans-scrivener-et-publier-ou-je-veux-sur-le-web/
#
@xtof_fitbit
Chronorêve #indieweb : "Je veux bosser dans Scrivener et publier où je veux sur le web !" http://christopheducamp.com/blog/chronoreve-indieweb-je-veux-bosser-dans-scrivener-et-publier-ou-je-veux-sur-le-web/
#
@QSParis
Chronorêve #indieweb : "Je veux bosser dans Scrivener et publier où je veux sur le web !" http://christopheducamp.com/blog/chronoreve-indieweb-je-veux-bosser-dans-scrivener-et-publier-ou-je-veux-sur-le-web/
#
@MyDataLabs
Chronorêve #indieweb : "Je veux bosser dans Scrivener et publier où je veux sur le web !" http://christopheducamp.com/blog/chronoreve-indieweb-je-veux-bosser-dans-scrivener-et-publier-ou-je-veux-sur-le-web/
#
tantek.com
edited /social_web_map (-1) "/* IndieWeb League */ Superset"
(view diff)
xtof, b0bg0d and friedcell joined the channel
peck_lx and eschnou joined the channel
#
@LucBizeul
+1 “@xtof_fr: Chronorêve #indieweb : "Je veux bosser dans Scrivener et publier où je veux sur le web !" http://t.co/2uAuT5HmiV”
eschnou, andreypopp, xtof, scor and peck_lx joined the channel
#
@Mamie_Zinzin
RT @t: brilliant #indieweb #irony: @veganstraightedge sharecropping on @Medium about #sharecropping: https://medium.com:443/m/signin?redirect=/indieweb-thoughts/9d0e36524dbf (ttk.me t4Pz1)
eschnou, bnvk, brianloveswords, singpolyma, tantek and duckbillp joined the channel
#
aaronpk
barnabywalters: do you have tests or example for twitter parsing in php-mf2?
#
aaronpk
I can't figure out how to use it
#
barnabywalters
aaronpk: it’s actually a bit broken, I can’t guarantee that you’ll get valid results when using the legacy converter
#
aaronpk
I want to refactor that part of the code somewhat anyway
#
aaronpk
I want to be able to write hooks for other known sites like instagram
#
aaronpk
I'm thinking a class map may not be able to parse all sites, it may take some custom xpath queries
#
barnabywalters
aaronpk: that’s easy enough, just create an array of oldclassname => mf2-classname
#
barnabywalters
so, to use the legacy classmaps, you create the parser, then addClassMap() with each classmap you want (legacy included by default), then call convertLegacy
#
barnabywalters
then when you call parse(), you’ll get the results as usual
#
aaronpk
so on instagram for example, the user profile picture is actually in the src attribute of the element: .user-avatar img
#
aaronpk
but the img tag doesn't have a class of its own so it can't be addressed directly with a class name
#
aaronpk
ah here we go... the phpQuery library lets you do CSS3 selectors to parse documents https://code.google.com/p/phpquery/
#
barnabywalters
I really don’t want to turn php-mf2 into a generic website scraping library
#
aaronpk
how would you feel about removing the twitter classmap from the core, and instead writing a new class that just calls mf2\Parser or does its own parsing?
#
aaronpk
i'll make it so you pass in the html and base URL to the parse function, and if it recognizes the URL as one of the known sites, it does its own parsing, otherwise calls mf2\Parser
#
barnabywalters
after trying to use the twitter classmap and getting awful results I’m inclined to think that it’d be better to create a new class for each service
#
aaronpk
yea exactly, easier to add stuff to later as well
#
barnabywalters
let’s keep this separate from mf2\Parser
#
aaronpk
it's more like mf2\Shim
#
barnabywalters
mf2\Shim\Twitter, \Instagram, etc
#
barnabywalters
okay, good plan. I’ve wanted to get rid of the twitter classmap for a while
#
aaronpk
this will give me a good excuse to finally figure out phpunit
#
barnabywalters
aaronpk: yay :)
#
aaronpk
yesterday I was writing a test suite for a PHP API in Ruby
#
barnabywalters
earlier today I was giving Behat a go — cucumber-style BDD in PHP
#
aaronpk
whoa crazy
#
barnabywalters
it’s actually really nice — Mink is a great abstraction of all the different browser emulators
#
barnabywalters
I might start using it a bit more seriously for Taproot
#
barnabywalters
aaronpk: great!
#
aaronpk
i'll see what I can put toghether in an hour or so
#
barnabywalters
aaronpk: if you want a css -> xpath library managable by composer, the Symfony2 one is pretty good: http://symfony.com/doc/master/components/css_selector.html
#
aaronpk
oh ok great
b0bg0d joined the channel
#
aaronpk
barnabywalters: do you install phpunit using the .phar?
#
barnabywalters
aaronpk: I either install it using composer, the run it with bin/phpunit, but I also have it installed globally via PEAR. the global one is harder to update though, so I prefer composer
#
barnabywalters
might get rid of the PEAR version
#
barnabywalters
I’ve not tried the phar, it might be a good solution
#
barnabywalters
provided you can update it easily
#
aaronpk
cool, composer works well
#
barnabywalters
by default the phpunit binary will be installed in vendor/bin, I change it to bin/ so there’s less typing :)
#
barnabywalters
"bin-dir": "path" in composer.json IIRC
#
aaronpk
let's see if I can write a failing test before writing any of the Shim code!
#
barnabywalters
phpunit-skelgen is also pretty awesome — give it a test suite, it spits out a class template (and vice versa)
#
aaronpk
whoa neat
bnvk joined the channel
#
aaronpk
heh I may need your help getting the structure of this set up
#
barnabywalters
aaronpk: np :) what’s the problem?
#
aaronpk
i will commit this up in a minute
#
aaronpk
can't quire figure out the autoloading and folder structure
#
barnabywalters
ah, yeah, it is a bit weird at first
#
barnabywalters
one of the less well-designed/documented parts of composer
#
barnabywalters
let’s try to capture what’s difficult about it from this, and I’ll send them a doc PR
bnvk_ joined the channel
#
aaronpk
good idea
bnvk joined the channel
#
aaronpk
barnabywalters: ok just pushed up my outline https://github.com/indieweb/php-mf2-shim
#
aaronpk
when you run the tests, it can't load the Twitter or Instagram classes, somehow they are not configured properly to be in the autoloader
benwerd joined the channel
#
barnabywalters
aaronpk: looks like you’ve got the autoloader configured perfectly (in fact I think you can get away with just the top level namespace)
tantek joined the channel
#
barnabywalters
looking in InstagramTest, the problem is that your namespace deferefencing is wrong
#
barnabywalters
so, you’re aliasing mf2\Shim to Shim
#
aaronpk
ohhh I get it now
#
barnabywalters
but then trying to instanciate mf2\Shim\Instagram
#
barnabywalters
so new Shim\Instagram should work
#
aaronpk
I also tried just Instagram and that failed too
#
aaronpk
ok well that was easy
#
barnabywalters
you might want to put the autoloader require into a bootstrap file so you don’t need it in all of your test files
#
aaronpk
can I put the "use" in the other file too?
#
aaronpk
ah cool
#
barnabywalters
aaronpk: no, use is on a file-by-file basis
#
barnabywalters
use does nothing more than alias classnames/namespaces — it doesn’t actually include anything
#
barnabywalters
that is done lazily when a classname not yet defined in local (file) scope is accessed for the first time
spinnerin joined the channel
#
aaronpk
ah great now my bootstrap file works great
#
barnabywalters
yay! so you should be able to run the tests by just running `bin/phpunit` in the project folder
#
aaronpk
much better!
#
aaronpk
thanks!
#
barnabywalters
aaronpk: no problem :) happy to help anyone make the php ecosystem less crap
#
aaronpk
if you're interested, google i/o keynote is being liveblogged very well here http://techcrunch.com/2013/05/15/live-blog-live-from-the-google-io-2013-keynote/
#
barnabywalters
ooh cool — how’s IO going so fat?
#
Loqi
barnabywalters meant to say: s/far/far
#
aaronpk
i don't actually have a ticket, but caseorganic and some others on our team do
#
aaronpk
i'm watching the liveblog while sitting at a coffee shop 3 blocks away
#
aaronpk
going dark for a minute... need to write a very careful email
caseorganic and tantek joined the channel
#
tantek
good morning #indiewebcamp!
#
barnabywalters
afternoon tantek — how’s IO?
caseorganic joined the channel
#
tantek
so far mostly Android stuff - yawn
tantek-ipod joined the channel
#
tantek
barnabywalters - looks like some activity this morning in the channel
#
tantek
happy to hear that you're separating the Twitter shim out from phpmf2
#
barnabywalters
tantek: yeah, it was broken
#
tantek
it was implemented pragmatically ;)
#
tantek
you shipped :)
#
barnabywalters
tantek: yay positive reframing :)
#
Loqi
woot
#
barnabywalters
currently scanning more of my venue UI brainstorming stuff to stick on taproot/design
#
tantek
shipping is hugely positive
#
barnabywalters
tantek, aaronpk, tommorris: any thoughts on this as a venue UI? https://github.com/Taproot/design/blob/master/venue-ui.jpg
#
tantek
click
#
tantek
is this an ideal UI or what you think you can code quickly or somewhere in between?
#
tantek
my first impression - looks like a lot going on
#
barnabywalters
tantek: somewhere in between
#
barnabywalters
some parts are far-future (e.g. image gallery)
#
tommorris
barnabywalters: I'll have a look later. I'm currently mid-flow in working on an app for work that runs in a big blue silo. ;)
scor joined the channel
#
barnabywalters
tommorris: thanks — ah, what fun :)
#
barnabywalters
hah, my brain will now have a permanent s/facebook/big blue silo filter going
jzb, caseorganic and tantek joined the channel
#
tantek
barnabywalters, consider: what's the minimum viable venue UI could you implement and start using to check-in via your website?
#
tantek
I'm going to suggest that you may find that once you design/implement that MVVUI and use it, by actual use in the wild you'll come up with a much more informed set of next-most-important-to-you features to implement.
#
barnabywalters
oh, this is separate to check in UI — this is venue permalink page, then I specced out a *really* minimal UI for adding venue checkin data to the note posing UI
#
barnabywalters
bbiab, off to some event (not entirely sure what)
jzb and tantek joined the channel
#
tantek.com
created /design (+776) "capture a few thoughts on design and implementation"
(view diff)
bnvk, xtof and andreypopp joined the channel
#
tantek
aaronpk - you done with your important email?
#
tantek
thinking about URL conversions when POSSEing
#
tantek
so the obvious one is the implicit in-reply-to change from original to POSSE copy when posting a POSSE copy to Twitter so that it can thread properly per http://indiewebcamp.com/comment#POSSE_a_comment
tilgovi joined the channel
#
tantek
and some folks (aaronpk, barnabywalters?) convert URLs to people's personal sites to their @-names in POSSE copies as well
#
tantek
(though I don't know where we document that)
#
tantek
do any other URLs make sense
#
tantek
like if I post a note that refers to an earlier note of mine (a mention, not a reply), should I convert that mention of a note on my site, to URL of its POSSE copy, when I POSSE the new note?
tantek joined the channel
#
@t
updated @cassisjs tw_text_proxy constants - easier/less work than writing new caching code per: http://tantek.com/2013/133/t1/indieweb-twitter-bumped-lengths-update-posse (ttk.me t4Q02)
#
tantek
cool. I used that post to test the code changes I made for the t.co URL length changes and it worked!
#
@coda_quora
RT @t: updated @cassisjs tw_text_proxy constants - easier/less work than writing new caching code per: http://tantek.com/2013/133/t1/indieweb-twitter-bumped-lengths-update-posse (ttk.me t4Q02)
#
@Carloselcotize
RT @t: updated @cassisjs tw_text_proxy constants - easier/less work than writing new caching code per: http://tantek.com/2013/133/t1/indieweb-twitter-bumped-lengths-update-posse (ttk.me t4Q02)
andreypopp, caseorganic, jzb, tantek and texburgher joined the channel
#
tantek
I'm at the Google+ Platform Overview talk at Google IO
#
tantek
if you have questions you want me to ask, add them to my Etherpad: https://etherpad.mozilla.org/googleio
#
pdurbin
can we just ask here? :)
#
pdurbin
when will Google+ comments get permalinks?
scor, cyg^ and andreypopp joined the channel
#
@gravitydrift
@t: updated @cassisjs tw_text_proxy constants - easier/less work than writing new caching code per": http://tantek.com/2013/133/t1/indieweb-twitter-bumped-lengths-update-posse (ttk.me t4Q02)
tilgovi, andreypopp and tantek joined the channel
#
bret
sounds like lots of disapointing g+ news from io
#
pdurbin
the new g+ desktop interface is a little... random
#
bret
why do they have to follow in FB's footsteps, rather than be an example?
#
bret
is it true that every silo'd social network thus far has failed?
#
pdurbin
bret: facebook and twitter haven't failed
#
bret
those are still in right now
#
bret
people are beginning to hate facebook in a bigger and bigger way, with much reason
#
pdurbin
as well they should
#
bret
twitter has already pissed a ton of people off, and shows no sign of slowing down
#
bret
so much so that we have a OG-twitter clone called app.net
#
bret
its only a matter of time before more people have the though "why are all these companies so interested in me socializing!?!? could this be one big tupperware party for advertisers?"
#
bret
I can't wait till facebook is irrelevant, but honestly, I am a bit afraid of what would replace it
#
pdurbin
bret: dream a little. what do you want?
#
bret
Something that isnt taking the approach of apple, google, facebook. "just put all your eggs in a single basket, dont worry we will never fail you"
#
bret
what is this g+ desktop you are speaking of?
#
pdurbin
oh, vs. the android app, I mean
#
bret
wasnt the browser invented so that you DIDNT need a goddamn specific application to retreive information?
#
bret
from different sources
#
pdurbin
meh, I like apps
#
bret
for what though, they have their place, but I dont want an app for every website thats just insane
#
pdurbin
bret: I definitely agree with you about eggs and baskets. I think of it as vendor lock-in
#
bret
if you want to interface with your computers hardware to do some serious number crunching on your local hardware, apps are awsome
#
bret
but for retreiving information from someone else, I want to use the browser
tantek, mxuribe and b0bg0d joined the channel