greptilian logo

IRC log for #rest, 2015-06-09

https://trygvis.io/rest-wiki/

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
00:48 fumanchu joined #rest
00:59 WaRLoRD786 joined #rest
01:36 fuzzyhorns joined #rest
01:42 vanHoesel joined #rest
01:43 fuzzyhorns joined #rest
02:35 sfisque joined #rest
03:02 baweaver joined #rest
03:24 FreezingDroid joined #rest
03:25 fuzzyhorns joined #rest
04:01 vanHoesel joined #rest
04:20 fuzzyhorns joined #rest
04:32 vanHoesel joined #rest
05:14 fuzzy_horns joined #rest
06:06 locks joined #rest
06:14 rickharrison joined #rest
06:15 Left_Turn joined #rest
06:18 ChrisAnn joined #rest
06:39 ramsey joined #rest
07:01 angular_mike_ joined #rest
07:03 fuzzy_horns joined #rest
07:10 bigbluehat joined #rest
07:16 interop_madness joined #rest
07:30 ekroon joined #rest
07:38 blahdeblah joined #rest
07:39 fuzzy_horns joined #rest
08:06 FreezingDroid joined #rest
08:08 graste joined #rest
08:16 Coldblackice joined #rest
08:40 fuzzy_horns joined #rest
09:52 quimrstorres joined #rest
10:28 fuzzy_horns joined #rest
12:17 fuzzy_horns joined #rest
12:44 kevinswiber joined #rest
12:44 fuzzyhorns joined #rest
12:45 kevinswiber joined #rest
13:18 fuzzy_horns joined #rest
13:58 kevinswiber joined #rest
14:23 nkoza joined #rest
15:02 nkoza joined #rest
15:07 fuzzyhorns joined #rest
15:14 vanHoesel joined #rest
15:48 ralphschindler joined #rest
15:49 pdurbin Linked Data Platform 1.0 - http://www.w3.org/TR/ldp/ ... is this awesome?
15:53 baweaver joined #rest
15:58 pdurbin hearing about it at https://docs.google.com/presentation/d/14hVDx2xQYy8zUEmYHHwdCwvmpmBfOyIyCxyP46I9AHc/edit?usp=sharing
16:08 fumanchu meh. with only a structure for containment, not collection, it's not very "linked". no facility for secondary indexes means pretty low efficiency in my experience.
16:23 pdurbin fumanchu: by "not collection" you mean it's read-only?
16:24 fumanchu I mean there's no way to make a collection that refers to resources that aren't "owned" by the collection
16:25 fumanchu the only way to add an item to the Container is to create a new item
16:25 pdurbin hmm, ok
16:25 fumanchu what if I already have a million items and I want to make a list of my favorites?
16:26 fumanchu that would be a "secondary index" that collects items without containing them
16:27 fumanchu which then allows real linking since the items I collect on my service don't even have to live on my server
16:30 fuzzyhorns joined #rest
16:32 pdurbin fumanchu: so you would be a curator in this case
16:34 fumanchu yes, but the same principle applies to lots of secondary indexes (and orders) that aren't auto-generated from item attributes
16:35 fumanchu I just find it odd that a spec designed to facilitate linking allows you to link to...only your own stuff
16:36 foist joined #rest
16:50 kevinswiber joined #rest
16:55 fuzzyhorns joined #rest
16:58 vanHoesel joined #rest
17:10 vanHoesel joined #rest
17:12 quimrstorres joined #rest
17:23 vanHoesel joined #rest
17:50 fuzzyhorns joined #rest
18:25 fuzzyhorns i have an architecture oriented question for yall
18:25 fuzzyhorns the dir of arch where im at wants to implement a system
18:25 whartung greek columns…and lots of marble
18:26 fuzzyhorns where it is roughly layered like this: clients; client-focused apis; resource based apis; datasources
18:26 fuzzyhorns this seems... wrong... to me -- but i wondered if anyone has done something like this and what their experience was
18:26 whartung are client-focused apis in parallel with the resource ones?
18:26 fuzzyhorns in parallel?
18:27 whartung yea, do they overlap? i.e. clients -> client-focused apis -> data sources vs world -> resource api -> datasources
18:27 fuzzyhorns my understanding is the bottom layer of apis are just getters and setters on some resources (where resources are basically models)
18:27 fuzzyhorns they are meant to not overlap
18:27 whartung ok
18:28 whartung so then, another way to look at it
18:28 whartung client -> models -> resource api -> data source
18:28 fuzzyhorns so like client-focused apis would not be able to access data from a db, they would always make api calls to the resource api acting as a wrapper for the datasource
18:28 fuzzyhorns mm, it is more like client -> business logic?? -> resource api (models) -> datasource
18:29 fuzzyhorns models are kinda the rails parlance of the term, where you have containers of accessors and some minor low level object specific stuff? :/
18:29 whartung well no…it's more "we have a general purpose resource api", but "for our client demands, they like something a bit more tuned to their specific needs, so we will use that to augment the resource apis and make them more client friendly"
18:30 whartung models are simply deserialized "stuff" in the native computing environemnt
18:30 whartung for example
18:30 fuzzyhorns why have a whole separate level of apps for this though?
18:30 whartung resource api returns, say, XML. But your lcient just wants to work with properties or getters/setters, and reamin "xml ignornant"
18:31 fuzzyhorns i dont follow, the clients would be negotiating their format types
18:31 whartung because the layer is going to exist anyway. You're always going to have some serialization layer to get your data on to the wire. The client api can hide that layer from the client code.
18:31 whartung would they? You sure about that? Are there really actually options to negotiate?
18:31 fuzzyhorns yes but what is the advantage of that layer being an entire array of deployed apps?
18:32 fuzzyhorns http has content negotiation, so, i think, yes?
18:32 whartung the advnatage is to share that layer with your apps
18:32 nkoza joined #rest
18:32 fuzzyhorns what do you mean?
18:32 whartung yes, it does have that capability, doesn't mean it would be used
18:33 fuzzyhorns imo, all this does is say, oh, we get a uniform interface layer via http
18:33 whartung I mean, you write one set of reusbale code (a library, what have) that your applications leverage, which makes working with the data in a more native format easier. reather than constantly marshalling in and out of the wire protocol.
18:33 whartung that's very likely
18:33 fuzzyhorns which we'd get all within the same app too
18:34 fuzzyhorns i dont follow, maybe we're talking past each other lol
18:34 whartung appreciate, REST is really hard. MOST applications do not need it's full capability and scope (witness RPC over HTTP via JSON/XML)
18:35 fuzzyhorns idk, im curious if anyone else has opinions here :/ -- im not hearing a case that makes sense to me
18:35 whartung so most applications do not go the extra mile (or several miles) for a fully REST, Resouce bases HATEOAS architecture
18:35 whartung most applications simply are not big enough to be worth the effort
18:35 fuzzyhorns a single app can deserialize from its datastore. abstracting over datastores via multiple apps, idk
18:35 fuzzyhorns only big apps are worth hypermedia?
18:36 fuzzyhorns huh you have a lot of assumptions i dont have yet, so youd need to really flesh those out for me with sources etc
18:36 whartung the primary benefits of hypermedia are longevity, robustness to change, availability, etc.
18:36 whartung but in order to get that, it takes a lot of work
18:37 whartung compared to having a full time developer making random tweaks as "stuff" comes up in normal maintenance and development
18:37 fumanchu fuzzyhorns: those all sounds like good questions for you dir of arch?
18:37 fumanchu your*
18:38 fuzzyhorns fumanchu: he is not very good at expressing himself :/
18:38 whartung if you expect to have a LOT of clients running a bunch of different versions, REST and HATEAOS make a lot of sense
18:38 fuzzyhorns whartung: again you cant just state stuff like that to me without resource or source and expect it to have utility to me :/ it wont
18:38 fuzzyhorns resource = reason lol
18:38 whartung but if it's two branche offices talking to 100 users in an internal application, where you can just upgrade them all with a deploy…it's quite likely not  worth the effort
18:38 fuzzyhorns resource on the brain
18:39 nkoza joined #rest
18:39 fumanchu too bad :( he has reasons for those choices that are probably highly specific to your domain, which we can only guess at
18:40 whartung and I can't summarize 30 years of dealing with computers and people and change and budgets and management in IRC. So, you just have to trust me -- REST is hard, REST is expensive, MOST people do not practice it beyond RPC, because RPC is "Good Enough"
18:40 fuzzyhorns fumanchu: i dont see how the domain gives those reasons myself
18:40 fuzzyhorns whartung: yeah no ol
18:40 fumanchu I don't envy you that :/
18:40 fuzzyhorns whartung: sorry dude, i appreciate it is hard to express experiences, but that doesnt mean i take stuff on faith -- in this field, i am consciously trying to not do that anymore
18:41 fuzzyhorns whartung: it has no utility to me to be told "well trust me", it has utility to tell me "well i see the distinctions as x and y"
18:41 whartung the era we are in today is little different than were we were 25 years ago. Semantically, it's pretty much identical. It differs in details, but not dramatically
18:42 sfisque fuzzyhorns i think what whartung is trying to convey is there is a tradeoff due to diminshing returns.  any enterprise that wants to stay in business is not going to throw immense resources at a small app just to fulfill the spirit of REST or HATEAOS
18:42 whartung yea, what he siad
18:42 fuzzyhorns and still, nobody has managed to describe the tradeoffs :d
18:42 sfisque time
18:42 sfisque money
18:42 whartung yes
18:42 fuzzyhorns i guess this all counts as proof towards "rest is hard" lol
18:42 sfisque personel
18:43 sfisque enterprise is hard
18:43 sfisque anyone can slap together a 100 line app and say "done"
18:43 fuzzyhorns so REST and HATEOAS is inherently higher resource cost?
18:43 fumanchu I did implement such a system at the previous company. There were components serving various user groups (analysts, admins, etc) that all talked to a centralized data service
18:43 fuzzyhorns sfisque: indeed, though i think often, the real problem there is the invisible cost of shitty stuff
18:43 fumanchu that was more for integration needs than anything else, so the various apps didn't end up implementing incompatible DB access code
18:43 fuzzyhorns sfisque: which simply isnt accounted for, ime
18:43 sfisque it's more than that
18:44 sfisque requirements change, needs change, code becomes obsolete because workflows change
18:44 fuzzyhorns fumanchu: this would not be a centralized data service, what the dir is recommending, that is part of what confuses/worries me
18:44 fuzzyhorns sfisque: that is a distinct thing
18:44 fuzzyhorns sfisque: i am talking technical debt
18:44 whartung http://stackoverflow.com/questions/20335967/how-useful-important-is-rest-hateoas-maturity-level-3/20336307#20336307
18:44 fuzzyhorns sfisque: all code has a lifespan, it ages and dies
18:44 sfisque are you trying to avoid it?  or fix existing?
18:44 whartung all code is technical debt
18:45 fuzzyhorns whartung: lol no
18:45 fumanchu sounds more like "let's move stored procedures up to HTTP" to me
18:45 fuzzyhorns imo, no
18:45 sfisque because if you;'re trying to avoid it, get in line.  they've been trying to do that for over 50 years
18:45 fuzzyhorns there's no avoiding it, it is not a different of kind, but of degree
18:45 fumanchu but perhaps I lack detail
18:46 sfisque and what whartung said is true gold.  every line of code you write, is a maintenance footprint, whether you want to admit it or not
18:46 fuzzyhorns technical debt != maintenance to me
18:46 whartung no, it is fuzzyhorns, sorry if you don't agree. What's the key mantra people parrot all the time? "the more lines of code, the harder it is to maintain" thus the drive to different languages, abstractions, etc. No code has no mainteance. the more code, the more mainteance, and ALL of that gets folded in to the technical debt of the system. it ALL has to be understood and maintained and mastered and trained and learned…over and over and
18:46 whartung again
18:47 fuzzyhorns whartung: maintenance != technical debt to me
18:47 sfisque GOAL!!!
18:47 fuzzyhorns seriously yall? you dont consider there is any distinction there?
18:47 sfisque YELLOW CARD
18:47 whartung all code had momentum fuzzyhorns, good code, bad code, etc.
18:47 fuzzyhorns to me all code is maintenance, because all writing is rewriting
18:48 fuzzyhorns but some stuff you wont even rewrite, it is just shit lol
18:48 whartung that's why you rewrite it.
18:48 whartung to "un-shit" it
18:48 sfisque what is the difference between rewrite and throw away/replace
18:48 fuzzyhorns "wont even rewrite" != "will rewrite"
18:48 sfisque i think we're at the hand waving and semantics point
18:48 whartung so you can right "new shit" that someone will come along in 10 years and say "Man, this is shit"
18:48 fuzzyhorns sfisque: we could we, would explain why everyone is so certain i am wrong lol
18:49 whartung if I'm wrong, I've been wrong for 30 years
18:49 sfisque i do not see it as 1/0
18:49 fuzzyhorns thirty years! thirty years!!!
18:49 fuzzyhorns people can be wrong much longer than that, whartung
18:49 sfisque but i'm a mathematician and absolutes only exist on paper
18:49 fuzzyhorns absolutes are terribly inefficient anyway
18:50 whartung I'm glad my experience seems to have value to you fuzzyhorns
18:50 fuzzyhorns whartung: if it cant be communicated, it has only value to you
18:50 fuzzyhorns such is life :/
18:50 whartung hard to communicate when you don't listen
18:50 whartung you don't trust the source and you disagree with the content…not much I can do there
18:50 fuzzyhorns you gave me some rhetoric, i told you "insufficient"
18:51 fuzzyhorns it happens
18:51 fuzzyhorns i dont disagree with the content, it is just unsupported accept by "well witness me"
18:51 fuzzyhorns except*
18:51 fuzzyhorns to me there's a difference between, a car runs basically as it should, and yes, must be slowly replaced part by part until the original no longer exists
18:51 fuzzyhorns and making an entirely new vehicle because the old one blew up ;)
18:52 quimrstorres joined #rest
18:53 fuzzyhorns like you say in your post, "REST breeds complexity"
18:53 fuzzyhorns this is a very strong, falsifiable (to some degree) claim
18:53 fuzzyhorns and one that deserves more than "well ime"
18:54 fuzzyhorns im not actually in here to be a huge prick will
18:54 sfisque ok, but what are you in here for then?  are you trying to discern something or just argue some points?
18:55 sfisque and i mean that sincerely and not trolling
18:55 whartung well, in my experience, unless it's a rocket ship, systems don't blow up. I've found the software is, well, "soft". I've found that it can be changed. I've changed the wheels on that running car while it's hurtling down the highway and hitting potholes. I'm in fact not a real big fan of rewrites. Once you're rewritten a few systems you learn that the grass is always greener but someone still mow it, and that pristine rewrites will end up
18:55 whartung getting…rewritten.
18:55 whartung the primary cause for systems to be obsolete is teh people that maintain them leave. The software itself is not the problem. The magnitude of the complexity that they manage is the problem.
18:56 whartung back in the day, hardware moved fast enough, that yea, porting of that the 20 yr old NCR mainframe made a lot of sense.
18:56 whartung today, we've been runing the same software for ever. Unix is unix…and looks like unix will be unix tomorrow as well. So THOSE fundamentals aren't changing for some time
18:58 whartung hardware is gone as a denominator in system design for the vast majority of applciations. Hardware is pure commodity today. To the point where we make hardware out of thin air with vms, containers, docker, "hyper threads", what have you.
18:58 whartung hardware is purely a WATTs problem today
19:08 trygvis and network latency with all these new hipster client push apps mobile stuff
19:08 trygvis hip hip
19:19 warehouse13 joined #rest
19:21 fuzzyhorns whartung: yeah im dealing with fighting a from scratch rewrite right now :/
19:21 fuzzyhorns sfisque: what i hope, is for evidence or reason lol, either from researchers (hoping some academics are here) or industry folks that have case studies essentially
19:22 fuzzyhorns whartung: i STRONGLY agree with the "people leaving" is a problem
19:22 fuzzyhorns whartung: i think software has a ton of hidden state: programmers
19:23 sfisque fuzzyhorns  "evidence or reason" of what?  i know i pop in/out at various times, so it is unclear to me what you are trying to uncover, that's all
19:23 fuzzyhorns sfisque: too general, it comes down to different claims about REST
19:24 fuzzyhorns sfisque: like hartung claims REST breeds complexity
19:24 fuzzyhorns sfisque: imo, that is opposite to the truth (because i see the human state of managing RPC as part of the cost)
19:24 sfisque every architectural approach can breed complexity
19:24 fuzzyhorns sfisque: but! our opinions can differ, so what can we look to, to find a more solid answer?
19:25 fuzzyhorns sfisque: i disagree, entropy is distinct x)
19:25 sfisque except maybe the bauhaus approach but this isnt 1930's germany
19:25 fuzzyhorns i think that was 20s
19:25 sfisque lasted into teh 30's iirc, before the nazi's forced them out
19:25 fuzzyhorns makes sense
19:26 sfisque that whole egalaterian thing kind of didnt mesh well :P
19:27 fuzzyhorns oddly it never does with fascists
19:28 fuzzyhorns have you ever seen such a rewrite succeed, whartung? (i havent but my career is much shorter than yours)
19:37 vanHoesel joined #rest
19:40 impl joined #rest
19:44 impl so, I apologize in advance for my current ignorance... seems the REST world has moved on without me and now I'm playing catch up. is HAL still the way to go with JSON? it seems the most intuitive.
19:45 trygvis HAL is still popular
19:45 impl are there newer/better standards-track stuff?
19:55 fuzzyhorns impl: what do you want to do?
19:55 fuzzyhorns impl: HAL is a very simple hypermedia type, so the question is what sort of things do you want hypermedia to express for you
19:56 fuzzyhorns impl: you may wanna look at json-api which has a lot of comm support too
20:01 Left_Turn joined #rest
20:22 mgomezch joined #rest
20:24 Coldblackice joined #rest
20:25 impl fuzzyhorns: cool, i'll take a look at that as well. my use case is really simple for this project (basically two entity resources + a search resource), but i'd sort of like something that i can use for future stuff as well rather than worrying about people having to implement multiple standards
21:00 fuzzyhorns impl: search resource, have you looked at search specific types? slash, have you looked to see which types implement a search? :) a few do
21:00 fuzzyhorns impl: usually called "queries"
21:02 impl fuzzyhorns: it's not a typical search resource, it's actually for some geocoding stuff... so it basically just takes in a bunch of specific parameters (address, locality, administrative area(s), etc.) and the output is just one or two locations
21:02 fuzzyhorns impl: looked at geojson? :)
21:02 impl i have! i'm using it for boundaries already
21:03 impl postgis makes it all easy with ST_AsGeoJSON
21:04 fuzzyhorns oh neat! didnt know that
21:04 fuzzyhorns impl: also i think that's not far off from a usual search
21:05 impl yeah, i mean, it's simplified... like there's no options for pagination or sorting or anything like that
21:05 impl in fact ideally it's just a redirect to a single resource, but i don't know how practical that is yet
21:06 fuzzyhorns i mean, you can do that
21:06 fuzzyhorns you can have locations?include=blah&blah&blah etc
21:06 impl right
21:06 fuzzyhorns but then return a single location
21:06 impl i mean from the actual application standpoint, i don't know if it's sufficient to always return a single location
21:07 impl people might need choices, as much as i hate giving them
21:07 fuzzyhorns prob better to always return a collection or a single thing, otherwise too confusing imo
21:07 fuzzyhorns you could, though, default it to one, but if there are other choices possible
21:07 impl i might just make two resources, one that provides a list with confidences and one that's like "i'm feeling lucky"
21:07 fuzzyhorns return a hypermedia control saying "also check these out if that one isnt enough"
21:08 impl oh, i could do that too. that's not a bad idea.
21:08 fuzzyhorns :)
21:09 fuzzyhorns ill be curious how you end up crafting it
21:09 fuzzyhorns time to go try and catch my commuter rail, good luck :)
21:09 impl i already ran into an annoyance with HAL trying to create a hierarchy with multiple _embeddeds getting duplicated, so now i'm looking harder at JSON-API which doesn't appear to have that problem
21:09 impl :{
21:09 impl thanks for the help though, i'll let you know how it goes :)
21:09 fuzzyhorns i also like collection+json but it is oriented to collections
22:26 ironChicken joined #rest
22:27 cigarshark joined #rest
22:31 vanHoesel joined #rest
22:54 kevinswiber joined #rest
23:11 kevinswiber joined #rest
23:38 kevinswiber joined #rest
23:48 kevinswiber joined #rest
23:51 kevinswiber joined #rest

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

https://trygvis.io/rest-wiki/