#indiewebcamp 2012-10-07

2012-10-07 UTC
brennannovak, dascher, sandeepshetty, brennann_, tantek and lmorchard joined the channel
#
tommorris
great news. a friend of mine who used to run a now-dead URL shortener I used on Twitter back in 2007/2008 sent me the MySQL dump of the short to long URL mappings.
#
tommorris
just asked him if he's okay with me releasing a CSV of them to add to 301works.org
barnabywalters joined the channel
#
tommorris
morning barnabywalters
#
Loqi
*yawn* Clear and 50 degrees
#
barnabywalters
morning tommorris
#
barnabywalters
been reading some of your new posts
#
barnabywalters
+1 for the thoughts on API providers
#
barnabywalters
I packaged up the php µf-2 parser and released it: https://github.com/indieweb/php-mf2
josephboyle joined the channel
#
tommorris
excellent
#
tommorris
barnabywalters: got even better news. a friend of mine who used to run a URL shortener has given me the SQL dump and is okay with me releasing it.
#
tommorris
I can finally resolve a lot of the broken links in my old tweets
#
barnabywalters
tommorris: brilliant! so you get to resurrect a little bit of the web
#
barnabywalters
what was the shortener?
#
tommorris
urlb.at
#
tommorris
389,308 URIs. ;-)
#
tommorris
a lot of them spam, but whatever.
#
tommorris
just need to write a crappy little script to turn the MySQL table into a CSV.
#
barnabywalters
I usually let phpmyadmin do that for me, 'cos I’m such a script kiddie ;)
#
tommorris
I usually use Postgres. ;-)
#
tommorris
It's like every other database except it actually does what I tell it to.
#
barnabywalters
hah — postgres is another thing on my long list of "stuff I need to learn ’cos I’ve heard it’s great"
josephboyle and voxpelli joined the channel
#
tommorris
barnabywalters: the administration is slightly harder than MySQL, but it's well worth it, because the type system is actually pretty solid, and MVCC is brilliant.
#
tommorris
I'm not a big fan of RDBMSes (the inner RDFer rebels: the problem with relational databases is they kind of suck at representing relations) but Postgres is the best you can get without spending any money. and even lined up against commercial databases like MS-SQL and Oracle, it rocks hard.
#
barnabywalters
tommorris: just looking at the list of types has pretty much converted me already
#
tommorris
plus, unlike MySQL there isn't an evil corporate overlord. it's an open source project rather than just an open source product.
#
tommorris
there are corporate contributors (NTT, the Japanese telcoms company
#
tommorris
Skype etc.) but they don't run things like Oracle now does with MySQL
#
tommorris
the geometric types in Postgres are also pretty useful. ;-)
#
barnabywalters
moves postgres several places up in his list of cool things to learn
#
tommorris
you on a Mac?
#
tommorris
I also quite like Navicat Essentials, which is like £2.99 in the App Store.
#
barnabywalters
my current cool thing to learn is unit/integration testing, which is what I’m doing now for php-mf2
#
barnabywalters
downloading
#
tommorris
some people are also using http://inductionapp.com/
#
tommorris
which is free, but it's kind of experimental at the moment.
#
tommorris
Postgres comes with PGadmin3, which is a sort of desktop version of PHPmyadmin but it's ugly as sin and confusing as hell
#
tommorris
and it's more intended for administration rather than, like, query design and table noodling which is the bread and butter work of web dev. ;-)
#
barnabywalters
worse than sqlitemanager?
#
tommorris
I try very hard not to think about SQLite
#
tommorris
Although I use it with Rails a lot.
#
tommorris
the whole not-enforcing-types thing annoys me greatly.
#
tommorris
right, found my GPS, time to convince someone to go for a footpath-mappin' walk.
#
barnabywalters
tommorris: tempted to borrow my dad’s GPS this afternoon and map somewhere round here
#
barnabywalters
looks on OSM for things not yet mapped around Buckfastleigh
#
tommorris
I'm running out of rural footpaths that I can walk to.
#
barnabywalters
damn, OSM fails when I try to login using openid
#
barnabywalters
so when I’m writing tests for php-mf2 and I’m doing multiple tests on multiple files, is having a test file per input file likely to be the best way to organise stuff?
#
barnabywalters
or one test suite to do sanity checks of the individual property parsing methods, then a test suite for each input file
#
tommorris
dunno about that. steal what Glenn's done. ;-)
#
tommorris
barnabywalters: ^^
#
barnabywalters
I don’t really understand the way his tests are presented — I did manage to get the unit test runner to work once, but no more
#
barnabywalters
I’m going for one suite to do basic checks, one for dt-* value class (seeing as there are so many to test) and then a separate suite for each real-world input file
#
tommorris
so, I need to work out some way of ensuring that my quick off-hand jottings on my site, my 'notes' don't get interpreted as a blog post.
#
tommorris
because my rant about APIs is now the top story on Hacker News
#
barnabywalters
Loved that post. It’s comforting to know there are others who get annoyed over having an entirely separate URL scheme which requires auth and only serves content in one format
#
barnabywalters
so, I went through the posts => articles + notes thing a while back
#
barnabywalters
I started out with everything under one endpoint, differentiating notes from articles by a type field in the db
#
barnabywalters
I ended up getting irritated with it and splitting them out into /articles and /notes, with /activity as well
#
barnabywalters
with /activity being a resource full of activities (e.g. post, update, share, like) and /articles and /notes being endpoints full of objects, where object-type = the endpoint dirname
#
tommorris
yeah, I might split them out.
singpolyma, dascher and dascher_ joined the channel
#
aaronpk
tommorris: wow quite a comment thread on your API rant! http://news.ycombinator.com/item?id=4622973
#
tommorris
Indeed.
#
aaronpk
I want to chime in on the discussion, so this is a good chance to test using my site to reply to your post
catsup joined the channel
#
tommorris
aaronpk: I haven't got pingback working yet.
#
tommorris
that was on this forthcoming week's todo, but then tantek kind of nudged me into launching ahead of schedule. ;-)
#
aaronpk
well I don't need pingback working to make a post
#
aaronpk
also I don't have my site set up yet to send pingbacks
tantek, brennannovak, sandeepshetty, josephboyle and barnabywalters joined the channel
#
tommorris
aaronpk: thanks.
#
tommorris
I'll link that back in a second.
#
tommorris
can add pingbacks manually.
#
aaronpk
IRC as manual pingback
barnabywalters joined the channel
#
barnabywalters
evening aaronpk
#
barnabywalters
in reply to your reply to tommorris’ post, my approach to content negotiation is (soon to be) to use Accept headers, falling back to tacking an extension onto the end of the URL
#
barnabywalters
my main reasons for implementing extensions before Accept header negotiation were simplicity for me and ease of preliminary use for everyone else
#
aaronpk
how are you generating the JSON version? is it created by parsing the microformats from the page?
#
barnabywalters
nope, at the moment the JSON is pretty much just a dump of what’s in my db
#
tommorris
so, Rails has sensible defaults. ;-)
#
barnabywalters
I may change that to make it valid activitystreams objects in the future
#
barnabywalters
btw, turns out the Livefyre commenting system (like Disqus) uses styling v. similar to your inline h-cards, aaronpk
#
aaronpk
oh yea, neat
#
barnabywalters
they all have the same image, which is a bit rubbish, but the reply arrow is nice
#
aaronpk
hey you guys should upvote this so we get more people talking about it! http://news.ycombinator.com/item?id=4624105
#
barnabywalters
upvoted. I should braindump now the topic is trendy :)
#
aaronpk
please do!
#
tommorris
oh god, I need a way of marking in CSS when I'm just making a joke.
#
tommorris
It was only an excuse to use the word "fuckbuddies"
#
barnabywalters
tommorris: that’s an interesting design challenge
#
aaronpk
hahaha
#
Loqi
hehe
#
aaronpk
hey cool -- currently #20 on the front page!
#
barnabywalters
okay, livefyre has the best autosuggest UI I’ve seen so far
#
barnabywalters
add in profile pics and it’s near-perfect
#
tommorris
barnabywalters: not sure it's a design challenge. the difficulty is convincing everyone else that they are Doing It Wrong. evidently using it as an opportunity to make sex jokes is not the optimal way of convincing people they are doing web architecture wrong.
#
barnabywalters
tommorris: I was referring to having a way of styling jokes
#
tommorris
oh that
#
tommorris
yeah. I think that's a genre problem though.
#
tommorris
if I say something goofy on Twitter, it never gets on Hacker News
#
barnabywalters
tommorris: well, can you think of any services which offer THE OPTIMAL HTTP experience, e.g. real content negotiation, HTTP localisation, **actual** REST?
#
barnabywalters
I can’t, which is why I’m trying to build one
#
tommorris
the semweb folks tend to do that stuff marginally better, but no
#
tommorris
everyone talks about REST but nobody actually seems to get to the good bits.
#
barnabywalters
tommorris: I just get tired of people claiming "RESTful HTTP APIs" which aren’t remotely RESTful and usually don’t return HTML
#
barnabywalters
*H*TTP — transferring *hypertext*
#
barnabywalters
how about blogging about what you consider to be the best bits?
#
tommorris
too busy. gotta get ready for going to London and training education bureaucrats on how to do the Wikipedia thing.
brennannovak joined the channel
brennannovak and josephboyle joined the channel
#
tommorris
aaronpk: responded on Hacker News.
sandeepshetty joined the channel
#
sandeepshetty
barnabywalters: got quite a lot done with pingback.converspace.com
#
barnabywalters
sandeepshetty: I had a look — looks good going
#
barnabywalters
I notice Content-type: application/stream+json
#
sandeepshetty
Follow ups that haven't gone through yet:
#
barnabywalters
wow, I didn’t realise there was a delay with google groups
#
sandeepshetty
it takes a couple of hrs.. maybe its moderation?
#
sandeepshetty
haven't checked.. but its irritating and a big barrier to communicate/collaborate
#
barnabywalters
sandeepshetty: I gave up on email lists a while ago. The only one I use now is freecycle
#
barnabywalters
looks at pastebin
#
barnabywalters
IMO "stream" is a bit generic, but if it’s been used before…
#
barnabywalters
isn’t there some process for new content types? a vnd- prefix?
#
sandeepshetty
I'm guessing the vnd is for app specific stuff..
#
sandeepshetty
Next up, check content-type and if it's html get the AS microformat..
#
sandeepshetty
I might go with what the Flattr guys have done..
#
sandeepshetty
I've only taken a cursory looks at microformats in the past... so all this is new to me.. need to read the wiki thoroughly...
#
barnabywalters
sandeepshetty: that post is interesting. I can think of several disadvantages to the methods tantek and pelle are using
#
barnabywalters
and microformats are awesome :)
#
sandeepshetty
Or I could just wait till more work is done on this by people more smarter than me :) and just go with the stream+json for now
#
barnabywalters
sandeepshetty: that is my default approach too :) Hack out the dumbest thing which works and wait for someone more intelligent to fix it!
#
barnabywalters
stream+json works.
#
barnabywalters
looks to see if there’s some official process for content types
#
sandeepshetty
In which case my next step is just to persist the activity and create a stream for a given resource..
#
tommorris
oh crap, I'm back on Hacker News again: https://news.ycombinator.com/item?id=4624378
josephboyle joined the channel
#
barnabywalters
sandeepshetty: okay, it’s the IANA who organise MIME types
#
sandeepshetty
yeah.. you need to fill out a form and send to them I think..
#
barnabywalters
or x-* can be used for non standard types
#
sandeepshetty
barnabywalters: Thinking of writing a bookmarklet that I click on my blog posts that will use my blog/twitter/fb post url as source and let me cycle through all URLs in the post to send an activity pingback to them... but since they don't support AP, pingback.converspace.com will save it instead..
#
sandeepshetty
x-* has been deprecated
#
barnabywalters
oh, has it? hm, the wikipedia article needs updating
#
barnabywalters
well, no problems with sticking with application/stream+json anyway
#
sandeepshetty
barnabywalters: the bookmarklets approach, will give me all my activities at pingback.converspace.com/activity/by/http://sandeep.shetty.in
#
sandeepshetty
Which I can feed into the AS of my blog
#
sandeepshetty
as an iframe to start with till I have converspace doing this natively
#
barnabywalters
sandeepshetty: sounds like a good approach
#
sandeepshetty
Will you update the wikipedia article about the x-* headers or should I?
#
sandeepshetty
If you want me to do it, just send me the link :)
#
barnabywalters
I’ll give it a go, it’s a while since I edited wikipedia
#
barnabywalters
wow, those RFCs are horrible
#
barnabywalters
extremely long HTML styled to look like plaintext for some reason
#
sandeepshetty
I don't open them unless I have to implement them.. so i haven't looked into it..
#
sandeepshetty
thats the common format you see..
#
sandeepshetty
I think they are written in xml and them converted using some tool
#
barnabywalters
apart from when they’re completely plaintext (I’m assuming they’re the old ones)
#
sandeepshetty
Can't believe they are written in xml :) could drive anyone crazy
#
sandeepshetty
even those are written in xml and them converted to plain text
brennannovak joined the channel
#
barnabywalters
XML=>plaintext? WTF?
#
tommorris
hey, I actually like XML. it's a pretty good way of writing that kind of thing. with a validating editor, writing XML is actually quite good.
#
tommorris
knows he will get death threats from the JSON kids now.
#
sandeepshetty
I think it's about hte flexibility to convert to different formats..
#
barnabywalters
tommorris: I have nothing particularly against XML
#
barnabywalters
converting XML to plaintext just feels so wrong
#
sandeepshetty
me too... but it drives me crazy... I've written some of them in xml and its crazy..
#
sandeepshetty
used to write internal spec docs a long time ago using the similar tools
#
barnabywalters
the only time XML has ever really, really irritated me is queries to CardDAV servers. It returned VCard syntax (lots of uppercase letters) inside XML and was horrible to parse
#
sandeepshetty
wonders if there is a market for a WYSIWYG editor for RFCs
#
sandeepshetty
BTW, I'm hosting all my new stuff on appfog.com
#
tommorris
barnabywalters: trust me, if there's a reason to hate XML, I've experienced it. Double encoded HTML inside XML attributes. Done. Storing RDF/XML inside XQuery servers. Done. And I still have a certain amount of affection for it. The job it does, it does pretty well. The problem was everyone decided that it should do a different job than the job it is actually good for.
#
sandeepshetty
the free tier is awesome and because they use cloudfoundry you can move beetween IaaS vendors
#
tommorris
as a more modern up-to-date publishing pipeline format for things like books, it's pretty awesome.
#
barnabywalters
strongly dislikes double encoded *anything* , let alone HTML inside attributes :-S
#
tommorris
like, if I was building a custom typesetting system for commercial publishing, XML would be what I use.
#
tommorris
we had a phase when everyone and their sister was writing their own something-ML. angle bracket mania. apparently, having a sound and reasonable data model or vocabulary doesn't matter: the angle brackets make people think "I could come up with my own format!"
#
tommorris
I once wrote a scathing takedown of one of these: https://gist.github.com/223649
#
barnabywalters
tommorris: wow, tweepML looks nasty. Are underscores in element names frowned upon?
#
tommorris
they are valid, but I generally think camelCase is preferable. or all lowercase
#
tommorris
the expectations of HTML.
#
sandeepshetty
barnabywalters: the bookmarklet approach is what I want to start off with for Activity Dialog as well..
#
barnabywalters
sandeepshetty: give me a minute to finalise this wp edit and move my computer, then I’m up for disucssion about activity dialog
#
sandeepshetty
I visit a website... click on my bookmarklets.. which pick up the current URL as object, me as actor and presents a drop down of verbs.. like, read, etc..
#
sandeepshetty
and publish that to my activitystream... so I get a lifestream of what I've been upto...
#
sandeepshetty
the activity will in turn send a pingback to the source.. and like before it will get saved on pingback.converspace.comn
#
barnabywalters
sandeepshetty: be with you in a sec, having some printer problems :(
#
sandeepshetty
is shocked that ppl still use printers :)
#
barnabywalters
sandeepshetty: printing stuff for my mum, who works at a school
#
sandeepshetty
Most printouts that I take are for my parents too :)
#
sandeepshetty
very rare these days though..
#
barnabywalters
*sigh* third time lucky
#
barnabywalters
aaand the printer is broken. what a surprise. So, activity dialog. What you’re proposing sounds great
#
sandeepshetty
Do you want to discuss the web actions stuff now? I have about 15 min.. before I crash...
#
barnabywalters
sandeepshetty: I should go to bed now really as well. By the sound of it neither of us are in optimum discussion mode :)
#
barnabywalters
goodnight all
#
Loqi
goodnight!
josephboyle, brennannovak and josephboyle1 joined the channel