- [00:08] quest88 (~quest88@c-98-207-205-137.hsd1.ca.comcast.net) left irc: Quit: quest88
- [00:22] Wombert (~Wombert@dslb-088-067-188-023.pools.arcor-ip.net) joined #rest.
- [02:15] Hakon|mbp (~hakon1@130.82-134-26.bkkb.no) joined #rest.
- [03:17] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) joined #rest.
- [05:08] bigbluehat (~bigblueha@nmd.sbx08595.greensc.wayport.net) joined #rest.
- [05:54] darrelmiller (~darrelmil@70.24.176.12) joined #rest.
- [06:18] pezra (~Adium@208.77.204.4) joined #rest.
- [06:36] bigbluehat (~bigblueha@nmd.sbx08595.greensc.wayport.net) left irc: Ping timeout: 276 seconds
- [06:41] bigbluehat (~bigblueha@nmd.sbx08595.greensc.wayport.net) joined #rest.
- [07:06] pezra (~Adium@208.77.204.4) left irc: Quit: Leaving.
- [07:25] pezra (~Adium@webmail.openlogic.com) joined #rest.
- [07:30] <mk_> so...
- [07:30] <mk_> someone just phoned me looking for HATEOAS consultancy.
- [07:31] <mk_> "HATEOAS consultancy"
- [07:31] <mk_> pwaha. awesome.
- [07:41] <fu-manchu> who'd like to talk about application state this morning? :)
- [07:41] <fu-manchu> (evening/whatever-you're-in-at-the-moment)
- [07:42] <fu-manchu> we're building a RESTful internal API (which is working great)
- [07:43] <fu-manchu> but I realized today that a lot of the discussion about REST focuses on what "the client" (notice the definitive article there) intends to accomplish
- [07:43] <fu-manchu> that intent is the essence of "the application"
- [07:44] <fu-manchu> which is great, because you can constrain "the client" to advance the application state by following links
- [07:44] <fu-manchu> i.e. they don't "jump in" in the middle of a workflow somewhere
- [07:44] <fu-manchu> but I'm finding that more difficult to reason about when "the client" is actually a set of cooperating components
- [07:45] <fu-manchu> here at YouGov, a portal system might hand someone off to an interviewing system which might hand them back to the portal, and then they call on the phone and have a staff member adjust their resource state via an admin app
- [07:46] <fu-manchu> that makes it much harder to constrain the resource state by constraining the application navigation
- [07:48] <fu-manchu> anyone else run into this?
- [07:54] <mk_> well the client is the client, right ?
- [07:55] <mk_> the client has state
- [07:55] <mk_> resources have state
- [07:55] <mk_> the client performs 'activities'/'applications' which modify its state
- [07:56] fu-manchu waits patiently for the conclusion...
- [07:56] <mk_> clients need to do the work of 'composition'
- [07:57] <mk_> in a browser situation that's probably a single page web app that interacts with each of the different backends
- [07:58] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) left irc: Remote host closed the connection
- [07:58] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) joined #rest.
- [08:01] <mk_> composing two seperate backends means that single page web app has to get smart at managing its state and 'gluing' the two together
- [08:02] <mk_> that is at least at a basic level
- [08:02] <mk_> it gets more convoluted if/when you start dicking around with 'web hooks'
- [08:03] <mk_> which, btw, are super fun and I need to write a blog post about
- [08:04] <fu-manchu> I'm talking more about two separate frontends
- [08:04] <fu-manchu> four or five, actually
- [08:05] <fu-manchu> that have to cooperate to perform one application against a common single backend
- [08:05] <mk_> hidden fields much?
- [08:05] <fu-manchu> (and that are developed by different teams, which adds to the fun)
- [08:07] <mk_> you can stick all the info that inconsequential to the user but necessary when transferring between the apps into hidden fields in post forms
- [08:07] <mk_> and in URL params for GETs
- [08:07] <mk_> btw I don't mean session id's :)
- [08:07] <fu-manchu> this is all m2m
- [08:08] <mk_> what is a front-end exactly, in that context ?
- [08:10] <fu-manchu> anything that calls the backend :) a portal website, an interviewing system, an admin website, a nightly batch job to sample panelists...
- [08:10] <fu-manchu> the kind of problem this generates is: app A advances resource X from state 1 to state 2, app B from 2 to 3, and then app C decides to jump to state 6, which isn't part of the allowed transitions
- [08:10] <fu-manchu> but app C hasn't been following links to know that
- [08:11] <mk_> workers
- [08:11] <fu-manchu> maybe that resource needs to expose some... hmm...
- [08:11] <mk_> I do that with workers - clients
- [08:25] bigbluehat (~bigblueha@nmd.sbx08595.greensc.wayport.net) left irc: Quit: Leaving.
- [08:37] Hakon|mbp (~hakon1@130.82-134-26.bkkb.no) left irc: Quit: Leaving...
- [08:39] mamund shows up
- [08:57] darrelmiller (~darrelmil@70.24.176.12) left irc: Read error: Connection reset by peer
- [09:00] darrelmiller (~darrelmil@70.24.176.12) joined #rest.
- [09:10] KevBurnsJr (~KevBurnsW@50.0.103.39) joined #rest.
- [09:22] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) left irc: Remote host closed the connection
- [09:49] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) joined #rest.
- [09:54] nuclears1ndwich (~nuclearsa@74-93-3-244-SFBA.hfc.comcastbusiness.net) left irc: Read error: Operation timed out
- [10:21] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) joined #rest.
- [10:33] bigbluehat (~bigblueha@adsl-98-84-71-190.gsp.bellsouth.net) joined #rest.
- [10:34] <mamund> i LOL'ed at this response from Roy....
- [10:34] <mamund> http://lists.w3.org/Archives/Public/www-tag/2012Jan/0071.html
- [10:35] <mamund> all i could think of is how Roy seems to be so aware of the "time dimension" and so many others don't even consider how time threatens to alter even the most mundane circumstances
- [10:56] <whartung> well as I say, while standards can be specific, they happen to be written in english -- which is subject to interpretation.
- [10:57] <darrelmiller> whartung: Very well PUT ;-)
- [10:57] <fu-manchu> I GET it!
- [10:57] <whartung> You GET it? Maybe you can POST it somewhere
- [10:57] <darrelmiller> Maybe I can give you some OPTIONS?
- [10:58] <whartung> I think I'll avoid references to HEAD right about now...
- [10:58] <darrelmiller> If you do I'll just DELETE them
- [10:58] <whartung> 200
- [10:59] <fu-manchu> 303 Location: http://www.flickr.com/photos/girliemac/sets/72157628409467125
- [11:00] <whartung> heh
- [11:03] <whartung> http://httpstatuscats.com/
- [11:04] <darrelmiller> whartung: Where have you been? that is soooooo 2011.
- [11:04] <whartung> Hey man, I have work, yo
- [11:04] <darrelmiller> 409
- [11:05] <whartung> bah they don't have a 409
- [11:06] <fu-manchu> yes they do; above 404
- [11:06] <whartung> oh there it is
- [11:06] <whartung> silly mean to think they'd be in numeric order
- [11:07] <whartung> 431 lol
- [11:07] <darrelmiller> order? cats? are you crazy?
- [11:09] <darrelmiller> Apparently you can have too much of a good thing... http://httpstatusdogs.com/
- [11:09] <whartung> I'm more a cat person :)
- [11:10] <whartung> My cat had to wear the cone of shame for two weeks -- it was horribly funny.
- [11:12] <whartung> didn't help that she had to have an eye removed so kept bonking in to the wall...also painfully funny.
- [11:17] <bigbluehat> http://stopsoap.com/ !!!!!!!!!!!!!!
- [11:17] <whartung> haha
- [11:18] <whartung> funny
- [11:18] <whartung> thing tho
- [11:18] nuclearsandwich (~nuclearsa@74-93-3-244-SFBA.hfc.comcastbusiness.net) joined #rest.
- [11:18] <whartung> that file, that WSDL, is basically exactly what "everybody wants" for REST services...always a hue and cry for the "REST WSDL"
- [11:19] <Jarda> http://stopsoap.com/
- [11:20] <whartung> that's right, I'm not supposed to talk to any of you people today -- the internet is dark.
- [11:21] <bigbluehat> :)
- [11:26] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) left irc: Remote host closed the connection
- [11:26] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) joined #rest.
- [11:30] celeritas (~Adium@cob-rbb117sbi-dhcp32d085.cob.fsu.edu) joined #rest.
- [11:40] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) left irc: Read error: Connection reset by peer
- [11:40] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) joined #rest.
- [11:45] aGHz (~Adium@modemcable153.0-178-173.mc.videotron.ca) left irc: Quit: Leaving.
- [11:52] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) left irc: Remote host closed the connection
- [11:53] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) joined #rest.
- [12:02] aGHz (~Adium@modemcable048.88-80-70.mc.videotron.ca) joined #rest.
- [12:03] Hakon|mbp (~hakon1@193.137.202.84.customer.cdi.no) left irc: Ping timeout: 245 seconds
- [12:03] NOKAH (~hakon1@193.137.202.84.customer.cdi.no) joined #rest.
- [12:04] aGHz1 (~Adium@74.198.165.12) joined #rest.
- [12:07] aGHz (~Adium@modemcable048.88-80-70.mc.videotron.ca) left irc: Ping timeout: 244 seconds
- [12:45] steveklabnik (~steveklab@c-67-165-87-244.hsd1.pa.comcast.net) joined #rest.
- [12:45] <steveklabnik> mamund: hey, you around?
- [12:52] <mamund> yep
- [12:52] <mamund> 'sup?
- [12:53] <steveklabnik> so
- [12:53] <steveklabnik> i just did this: http://alps-microblog.herokuapp.com/microblog/
- [12:53] <steveklabnik> HOWEVER
- [12:53] <steveklabnik> it's still connected to your database.
- [12:53] <mamund> ok
- [12:53] <steveklabnik> i dont plan on making it super public or anything
- [12:53] <steveklabnik> but really, heroku offers free couch dbs
- [12:53] <mamund> yep
- [12:54] <steveklabnik> sooo i dont want to hit your database, because that's a jerk thing to do.
- [12:54] <steveklabnik> however, i'm not a node guy.
- [12:54] <mamund> that db is running on cloudant right now, i think.
- [12:54] <steveklabnik> or a couch guy.
- [12:54] <mamund> well, couch is pretty easy to handle.
- [12:54] <steveklabnik> i think so, yes.
- [12:54] <steveklabnik> does it automatically make schemas, or do i have to do that somehow?
- [12:54] <mamund> i think the repo has a script to spin up your first set of data, too.
- [12:54] <steveklabnik> ahh, cool. i'll dig in farther.
- [12:55] <mamund> no schema needed for these doc dbs
- [12:55] <mamund> https://github.com/mamund/Building-Hypermedia-APIs/tree/master/couchdb/microblog
- [12:56] <mamund> pretty sure that's the full startup for the app.
- [12:56] <steveklabnik> i still have yet to read your book. it's on the next list.
- [12:56] <mamund> LOL
- [12:56] <mamund> np
- [12:56] <steveklabnik> we're going to have a hypermedia api for rstat.us
- [12:56] <mamund> check the shell script
- [12:56] <steveklabnik> and i think we're going to use your spec.
- [12:56] <steveklabnik> because why not
- [12:56] <mamund> really?
- [12:56] <mamund> cool
- [12:56] <mamund> love to hear your experience on that
- [12:56] <steveklabnik> absolutely.
- [12:57] <steveklabnik> hmm, which shell script? i'm dense.
- [12:57] <steveklabnik> oh
- [12:57] <steveklabnik> sorry
- [12:57] <mamund> anyway, the shell script uses curl and creates the db, pushes the design doc (closest to a schema) and the data
- [12:57] <steveklabnik> i see it
- [12:57] <steveklabnik> ahhh nice. cool.
- [12:57] <mamund> you'd just need to adjust your args up top to pass credentials, i think.
- [12:57] <steveklabnik> couch is ALSO on my 'to try soon' list...
- [12:58] <steveklabnik> yeah, the credentials are in the URL
- [12:58] <mamund> if this is a bit obtuse, email me and i'll show you what i did to update ht cloudant site
- [12:58] <mamund> yep
- [12:58] <mamund> url style is cool
- [12:58] <mamund> you can use this as a starter and push your own data, too.
- [12:59] steveklabnik nods
- [12:59] <steveklabnik> I _THINK_ it just impoted the data
- [12:59] <steveklabnik> it appears to have gotten 200s
- [12:59] <steveklabnik> wooo
- [13:00] <steveklabnik> can the cradle.connection string take the URL instead of making me parse it out?
- [13:00] <mamund> ummm
- [13:00] <mamund> i think cradle wants some options.
- [13:01] <mamund> hmmm....
- [13:01] <steveklabnik> okay, i can dig through docs
- [13:01] <mamund> hold on, let me see if i can find my version
- [13:01] <steveklabnik> i was curious if you knew off the top of your head
- [13:01] <mamund> pretty sure i used an options block
- [13:02] <mamund> https://github.com/cloudhead/cradle/blob/master/lib/cradle.js
- [13:04] <mamund> maybe: http://stackoverflow.com/questions/6604779/nodejs-and-cradle-not-connecting
- [13:04] <mamund> can't reach my code from here, but can send it to you later today
- [13:05] <steveklabnik> no worries, it is NOT a priority.
- [13:05] <mamund> :)
- [13:05] <steveklabnik> your string was https://github.com/steveklabnik/microblog/blob/master/server.js#L23
- [13:05] <mamund> well, very cool you got the app up an dcookin'
- [13:06] <steveklabnik> yeah, this'll let the client people write some tests while the server people get the server up and going.
- [13:06] <mamund> maybe someone can give this demo a decent visual treatment<g>
- [13:06] <steveklabnik> it's a great example.
- [13:06] <mamund> was fun
- [13:06] <mamund> lots more is possible, too.
- [13:09] <mamund> steveklabnik: here ya go
- [13:09] <mamund> https://gist.github.com/1635675
- [13:10] <steveklabnik> right
- [13:10] <steveklabnik> the issue is that i have an env var
- [13:10] <steveklabnik> with the username and credentials in it
- [13:10] <steveklabnik> so i guess i have to parse that out
- [13:10] <mamund> yeah
- [13:10] <steveklabnik> i was hoping it would be able to just infer it from the url.
- [13:10] <steveklabnik> mongodb stuff does that, postgres stuff does that
- [13:10] <mamund> ahh
- [13:10] <mamund> well, it might work, but haven't tried it
- [13:11] <steveklabnik> oh no, i guess i'll just have to do some programming. :)
- [13:11] <mamund> LOL
- [13:11] <mamund> first-world problems!
- [13:11] <steveklabnik> exactly
- [13:17] carols10cents (~carols10c@pool-72-95-136-159.pitbpa.fios.verizon.net) joined #rest.
- [13:17] steveklabnik waves at carols10cents
- [13:18] carols10cents takes a nap
- [13:18] <carols10cents> this is the nap room, right?
- [13:19] <steveklabnik> only if you get good sleep
- [13:22] <mk_> still haven't finished that post mamund
- [13:22] <mk_> I suck at writing.
- [13:24] <mamund> :)
- [13:24] <mamund> proly not bad at writing, just suck at editing<g>
- [13:24] <mk_> no I suck at both
- [13:25] <mamund> LOL
- [13:25] <mamund> that was a line i got from an editor, eyars ago
- [13:25] <mamund> "writing is easy, editing is a bitch"
- [13:25] <mamund> either you edit too soon (i.e. you never actually write it down)...
- [13:25] <mamund> or too late (you don't take the time to clean up what you did)
- [13:26] <mamund> most ppl suffer the first type<g>
- [13:27] <mk_> yeah I need to just poop my brain out I geuss
- [13:27] <steveklabnik> yay!
- [13:28] <carols10cents> that sounds a lot like writing code
- [13:28] <carols10cents> either you design too much up front, or you don't refactor
- [13:30] <steveklabnik> mamund: https://github.com/steveklabnik/microblog/blob/master/server.js#L16 bam
- [13:30] <mamund> true
- [13:32] <mamund> steveklabnik: wicked!
- [13:34] <steveklabnik> now i wont be messing with your server. awesome.
- [13:35] <mamund> very cool
- [13:43] <steveklabnik> gotta run!
- [13:43] <steveklabnik> thanks for all the help mamund
- [13:43] <steveklabnik> and for leaving the code up on github
- [13:44] <steveklabnik> ill see you guys around!
- [13:44] steveklabnik (~steveklab@c-67-165-87-244.hsd1.pa.comcast.net) left irc: Quit: bai
- [13:45] <mamund> laters!
- [14:03] bigbluehat (~bigblueha@adsl-98-84-71-190.gsp.bellsouth.net) left irc: Quit: Leaving.
- [14:18] NOKAH (~hakon1@193.137.202.84.customer.cdi.no) left irc: Read error: Connection reset by peer
- [14:18] NOKAH (~hakon1@193.137.202.84.customer.cdi.no) joined #rest.
- [14:23] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) left irc: Ping timeout: 244 seconds
- [14:36] aGHz1 -> aGHz
- [14:39] whartung (~whartung@wsip-98-189-78-118.oc.oc.cox.net) left irc: Quit: whartung
- [14:41] whartung (~whartung@wsip-98-189-78-118.oc.oc.cox.net) joined #rest.
- [14:45] aGHz (~Adium@74.198.165.12) left irc: Quit: Leaving.
- [14:50] <trygvis> when you need a 4:10 minute laugh: https://www.destroyallsoftware.com/talks/wat
- [14:51] <mamund> yeah, i LOL'ed all through that talk!
- [14:58] NOKAH (~hakon1@193.137.202.84.customer.cdi.no) left irc: Quit: Leaving...
- [15:13] mamund is all LOL'ed out. staggering home now....
- [15:13] <trygvis> ta ta
- [15:19] bigbluehat (~bigblueha@adsl-98-71-142-54.gsp.bellsouth.net) joined #rest.
- [15:56] pezra (~Adium@webmail.openlogic.com) left irc: Quit: Leaving.
- [16:12] bigbluehat (~bigblueha@adsl-98-71-142-54.gsp.bellsouth.net) left irc: Quit: Leaving.
- [16:51] aGHz (~Adium@modemcable153.0-178-173.mc.videotron.ca) joined #rest.
- [16:52] aGHz (~Adium@modemcable153.0-178-173.mc.videotron.ca) left #rest.
- [16:59] celeritas (~Adium@cob-rbb117sbi-dhcp32d085.cob.fsu.edu) left irc: Ping timeout: 244 seconds
- [17:58] rpaddock (~rpaddock@rrcs-76-79-208-202.west.biz.rr.com) joined #rest.
- [17:58] <rpaddock> Is 400 the correct response code for a POST that's missing required params?
- [17:59] <fu-manchu> from the entity body? usually
- [17:59] <fu-manchu> if they're missing from the URL, 404 is better
- [18:00] <rpaddock> from the entity body. Just didn't really feel right since the request isn't malformed
- [18:02] <fu-manchu> 400 can apply to any client error: http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-18#section-7.4.1
- [18:02] <rpaddock> ah, thanks for the link
- [18:03] <fu-manchu> (note that "malformed syntax" is exempli gratia there)
- [18:04] <fu-manchu> if the params are wrong because of the current state of the resource (but might be correct when the resource is in a different state), use 409 instead
- [18:08] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) joined #rest.
- [18:13] KevBurnsJr (~KevBurnsW@50.0.103.39) left irc: Quit: drah
- [18:30] rpaddock (~rpaddock@rrcs-76-79-208-202.west.biz.rr.com) left #rest.
- [20:15] sbanwart (~sbanwart@99-177-126-136.lightspeed.bcvloh.sbcglobal.net) left irc: Read error: Operation timed out
- [21:25] SvenDowideit_ (~SvenDowid@203-206-171-38.perm.iinet.net.au) joined #rest.
- [21:27] SvenDowideit (~SvenDowid@foswiki/developer/SvenDowideit) left irc: Ping timeout: 240 seconds
- [21:27] SvenDowideit_ -> SvenDowideit
- [00:00] --- Thu Jan 19 2012