Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Dirk Pitt
Sep 14, 2007

haha yes, this feels good

Toilet Rascal
I was told that REST style programming is dumb, when RPC exists. Is this at all true? I don't know enough bout either to make that kind of claim, but absolutism in tech is usually rather silly.

Adbot
ADBOT LOVES YOU

Stringent
Dec 22, 2004


image text goes here

Dirk Pitt posted:

I was told that REST style programming is dumb, when RPC exists. Is this at all true? I don't know enough bout either to make that kind of claim, but absolutism in tech is usually rather silly.

rpc makes sense when you want to tightly couple two services using different languages or both using c#

Zombywuf
Mar 29, 2008

http://www.dadhacker.com/blog/?p=2024

I tend to judge distributed systems by their ability to cope with a fuctuation.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
any such statement made without even nominal reasons to back it up can be ignored

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
no true RPC lacks caching and proxying solutions :scotland:

MononcQc
May 29, 2007

Nomnom Cookie posted:

not quite PL but im a rebel

Are Subqueries RESTful?

well tef. are they

tbh i didnt read the article cause it looks boring and idgaf. i just hope its terrible and pisses someone off

I don't think subqueries (or query refinement) with the querystring or a fancier URL is a problem, but if you do ?type=json in HTTP you're bad, and should use the Accept and Content-Type headers to do proper type support and negotiation, given it's already part of the protocol, instead of reimplementing it all yourself.

Also ideal RESTful document types should allow for hypermedia and have an explicit 'link' type you can follow in a machine-readable way if required, so that links to alternative resources can be read automatically. HTML is restful (<a>, <link>, etc.), but regular JSON isn't really.

tef
May 30, 2004

-> some l-system crap ->

Dirk Pitt posted:

I was told that REST style programming is dumb, when RPC exists. Is this at all true?

heh

quote:

I don't know enough bout either to make that kind of claim, but absolutism in tech is usually rather silly.

yep. it's ok the person who said this probably didn't understand it either.

Squinty Applebottom
Jan 1, 2013

Dirk Pitt posted:

but absolutism in tech is usually rather silly.

so you admit there are reasons to use node.ks

Shaggar
Apr 26, 2006

Dirk Pitt posted:

I was told that REST style programming is dumb, when RPC exists. Is this at all true? I don't know enough bout either to make that kind of claim, but absolutism in tech is usually rather silly.

rest is for when you want to serve a resource like an image or another file. rpc is for when you want to perform a remote method as if it were local. you could build your own custom rpc on top of rest but that would be silly when there are already standardized rpc protocols.

Dirk Pitt
Sep 14, 2007

haha yes, this feels good

Toilet Rascal

Shaggar posted:

rest is for when you want to serve a resource like an image or another file. rpc is for when you want to perform a remote method as if it were local. you could build your own custom rpc on top of rest but that would be silly when there are already standardized rpc protocols.

It's funny you say this because I was told this in the middle of a discussion about why we are wrapping webapi references and using them in a rpc style manner, when we could just use a REST endpoint like webapi or service stack and not spend a week writing visual studio extensions and t4 templates.

All this from the "fragility" of wcf and silver light (not my solution)

Shaggar
Apr 26, 2006
if ur using c# or java they both have service frameworks (wcf and cxf respectively) that are designed to allow you to extend existing interfaces across the wire with little effort. the developer doesn't have to think about anything other than "wheres the endpoint?" or maybe "what is my security config?". and both of those are configured outside of code too, so really you just replace a local implementation of an interface with a remote implementation by swapping a DI object and whammo blammo its done. no worrying about serialization cause its being handled by the runtime.

its always painful to see a REST "api" that someone makes for a thing and find that there are 3 or 4 different versions and they have prebuilt clients for the old ones but not the new ones so have fun writing all that serialization code urself. oh wait they hosed up the documentation and/or left out features so it doesn't work the way their docs say.

I think wcf has a wsdl type deal for rest, but idk if there are any real standards. that would probably go a long way to making rest rpc usable, even if the entire point of most rest apis is to not have well defined data + syntax.

Dirk Pitt
Sep 14, 2007

haha yes, this feels good

Toilet Rascal
The writing my own service is the scary part about what some developers like to do. I would rather work on WCF channel management, rather than re-write my service in an entirely different framework, and then write my own wsdl.exe to generate my new rest "methods" that are rpc.

Anyways, that's my story, thanks for reading. Any one have a good link for rpc vs. rest? Just so I can get some better understanding and rebut statements like "REST is useless when you have rpc".

Nomnom Cookie
Aug 30, 2009



REST and WebSockets

Nomnom Cookie
Aug 30, 2009



Can I have REST ful WCF service use TCP instead of HTTP for transport ?

Nomnom Cookie
Aug 30, 2009



RESTful UDP: a Live Framework Feature Request

Nomnom Cookie
Aug 30, 2009



i looked at go again yesterday and it's p cool. a lot better than the initial release, starting to live up to "c done better"

still no generics, but you get generic map which is what everyone really wants anyway

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Imagine walking up to a large-screen Mesh-enabled device such as an XBox, Microsoft Surface, or public kiosk. You pair your Mesh-enabled smartphone and project its apps and data onto the big screen, with your smartphone acting as the data entry device.

Expanding on this scenario, imagine a game that takes advantage of the smartphone’s accelerometer and camera, turning your phone into a high-powered Wiimote with the entire touch screen used for control surface. You might want to attach a wrist strap…

Imagine the cool apps you could write if a group of people shares real-time GPS data from smartphones and carputers.

This feature would be useful for more than just extending the capabilities of smartphones. You could remotely control media playback, chat with people, push real-time financial data, and build a variety of interesting distributed apps that are designed to run in real-time across a mesh of devices, aggregating specialized device capabilities into a single composite experience.

Cross-platform support exponentially increases the possibilities and relevance of the mesh. You can imagine special-purpose devices whose entire reason for existence is to be plugged into the mesh to supplement apps and user experiences. This is true even without real-time messaging, but this capability is crucial for enabling the most seamless composite device experiences.

uG
Apr 23, 2003

by Ralp
imagine a cold steel blade slowly being inserted through your sternum

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

imagine 4 mesh-enabled devices on the edge of a cliff

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
meth-enabled devices

PleasingFungus
Oct 10, 2012
idiot asshole bitch who should fuck off
Microsoft announced on December 13, 2012 that Windows Live Mesh would be discontinued on February 13, 2013.[2]

Nomnom Cookie
Aug 30, 2009



not that mesh, a different mesh

Nomnom Cookie
Aug 30, 2009



mesh-back smartphone

Max Facetime
Apr 18, 2009

MononcQc posted:

I don't think subqueries (or query refinement) with the querystring or a fancier URL is a problem, but if you do ?type=json in HTTP you're bad, and should use the Accept and Content-Type headers to do proper type support and negotiation, given it's already part of the protocol, instead of reimplementing it all yourself.

this is woefully inadequate, for example this one is often implemented completely wrong or not at all:

Accept-Language: en-gb


or, saving images as lossless GIFs or PNGs is a good idea and displaying images on the screen taking full advantage of 8-bits of transparency and 60Hz refresh rate is a good idea. yet setting these perfectly reasonable headers is not supported:

Accept: image/gif;animated=yes, image/png
Accept-Encoding: image/apng;fps=60

Dirk Pitt
Sep 14, 2007

haha yes, this feels good

Toilet Rascal

PleasingFungus posted:

Microsoft announced on December 13, 2012 that Windows Live Mesh would be discontinued on February 13, 2013.[2]

http://www.joelonsoftware.com/items/2008/05/01.html

Heh.

Spolsky posted:

And now Ray Ozzie's big achievement arrives and what is it? (drumroll...) Microsoft Live Mesh. The future of everything. Microsoft is "moving into the cloud."

What's Microsoft Live Mesh?

Hmm, let's see.

"Imagine all your devices—PCs, and soon Macs and mobile phones—working together to give you anywhere access to the information you care about."

Wait a minute. Something smells fishy here. Isn't that exactly what Hailstorm was supposed to be? I smell an architecture astronaut.

And what is this Windows Live Mesh?

It's a way to synchronize files.

Dirk Pitt fucked around with this message at 02:07 on Jun 24, 2013

Nomnom Cookie
Aug 30, 2009



sounds like iCloud tbh if iCloud stored my email too and not just contacts, photos, browser history, bookmarks, calendar, notes and documents. as it is i have to log in to iCloud *and* log in to google apps *and* log in to gmail

stebe come back and save me from this usability nightmare :argh:

FamDav
Mar 29, 2008

Nomnom Cookie posted:

sounds like iCloud tbh if iCloud stored my email too and not just contacts, photos, browser history, bookmarks, calendar, notes and documents. as it is i have to log in to iCloud *and* log in to google apps *and* log in to gmail

stebe come back and save me from this usability nightmare :argh:

you remember mobile.me? this was stebe's achilles heel

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
hiring ray ozzie as chief architect was a mistake but joel remains ignorant, he would never say anything good about live mesh because he believes the idea of network file systems is fundamentally wrong

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
if he'd been around when OLE was in planning stages he would have panned it for trying to solve the cross-app integration problem universally rather than just for microsoft's own apps. greg whitten = big dumb architecture astronaut who doesn't accept reality

Nomnom Cookie
Aug 30, 2009



well the result was COM so maybe joel is on to something

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
COM does what it says on the tin

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
what does it say on the tin

pseudorandom name
May 6, 2007

"make C++ usable between shared libraries"

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
a framework for software objects to communicate through programming language-independent binary interfaces

Dirk Pitt
Sep 14, 2007

haha yes, this feels good

Toilet Rascal

Gazpacho posted:

hiring ray ozzie as chief architect was a mistake but joel remains ignorant, he would never say anything good about live mesh because he believes the idea of network file systems is fundamentally wrong

I completely agree with you. I just so happened to read that Spolsky post a few months ago and wanted to share. I'm no Spolsky fan.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Gazpacho posted:

a framework for software objects to communicate through programming language-independent binary interfaces

and here i thought the tin said HRESULT IClassFactory2::CreateInstanceLic(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, PVOID *ppvObj);

Nomnom Cookie
Aug 30, 2009



Suspicious Dish posted:

and here i thought the tin said HRESULT IClassFactory2::CreateInstanceLic(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, PVOID *ppvObj);

if u want to communicate between languages then use a socket

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
yes let's push messages and data through a byte-sized straw even when there's no hardware reason to do so

Nomnom Cookie
Aug 30, 2009



u can also use a datagram socket

Adbot
ADBOT LOVES YOU

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
windows has datagrams?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply