Translations of the following dialog available in Japanese, French, Vietnamese, Italian, Spanish, Portuguese, and Chinese. Huge thanks to YAMAMOTO Yohei, Karl Dubost, jishin, Barbz, Tordek, Edgard Arakaki, keven lw, respectively. If you know of additional translations, please leave a comment with the location.

Wife: Who is Roy Fielding?

Ryan: Some guy. He’s smart.

Wife: Oh? What did he do?

Ryan: He helped write the first web servers and then did a ton of research explaining why the web works the way it does. His name is on the specification for the protocol that is used to get pages from servers to your browser.

Wife: How does it work?

Ryan: The web?

Wife: Yeah.

Ryan: Hmm. Well, it’s all pretty amazing really. And the funny thing is that it’s all very undervalued. The protocol I was talking about, HTTP, it’s capable of all sorts of neat stuff that people ignore for some reason.

Wife: You mean http like the beginning of what I type into the browser?

Ryan: Yeah. That first part tells the browser what protocol to use. That stuff you type in there is one of the most important breakthroughs in the history of computing.

Wife: Why?

Ryan: Because it is capable of describing the location of something anywhere in the world from anywhere in the world. It’s the foundation of the web. You can think of it like GPS coordinates for knowledge and information.

Wife: For web pages?

Ryan: For anything really. That guy, Roy Fielding, he talks a lot about what those things point to in that research I was talking about. The web is built on an architectural style called REST. REST provides a definition of a resource, which is what those things point to.

Wife: A web page is a resource?

Ryan: Kind of. A web page is a representation of a resource. Resources are just concepts. URLs—those things that you type into the browser…

Wife: I know what a URL is..

Ryan: Oh, right. Those tell the browser that there’s a concept somewhere. A browser can then go ask for a specific representation of the concept. Specifically, the browser asks for the web page representation of the concept.

Wife: What other kinds of representations are there?

Ryan: Actually, representations is one of these things that doesn’t get used a lot. In most cases, a resource has only a single representation. But we’re hoping that representations will be used more in the future because there’s a bunch of new formats popping up all over the place.

Wife: Like what?

Ryan: Hmm. Well, there’s this concept that people are calling Web Services. It means a lot of different things to a lot of different people but the basic concept is that machines could use the web just like people do.

Wife: Is this another robot thing?

Ryan: No, not really. I don’t mean that machines will be sitting down at the desk and browsing the web. But computers can use those same protocols to send messages back and forth to each other. We’ve been doing that for a long time but none of the techniques we use today work well when you need to be able to talk to all of the machines in the entire world.

Wife: Why not?

Ryan: Because they weren’t designed to be used like that. When Fielding and his buddies started building the web, being able to talk to any machine anywhere in the world was a primary concern. Most of the techniques we use at work to get computers to talk to each other didn’t have those requirements. You just needed to talk to a small group of machines.

Wife: And now you need to talk to all the machines?

Ryan: Yes – and more. We need to be able to talk to all machines about all the stuff that’s on all the other machines. So we need some way of having one machine tell another machine about a resource that might be on yet another machine.

Wife: What?

Ryan: Let’s say you’re talking to your sister and she wants to borrow the sweeper or something. But you don’t have it – your Mom has it. So you tell your sister to get it from your Mom instead. This happens all the time in real life and it happens all the time when machines start talking too.

Wife: So how do the machines tell each other where things are?

Ryan: The URL, of course. If everything that machines need to talk about has a corresponding URL, you’ve created the machine equivalent of a noun. That you and I and the rest of the world have agreed on talking about nouns in a certain way is pretty important, eh?

Wife: Yeah.

Ryan: Machines don’t have a universal noun – that’s why they suck. Every programming language, database, or other kind of system has a different way of talking about nouns. That’s why the URL is so important. It let’s all of these systems tell each other about each other’s nouns.

Wife: But when I’m looking at a web page, I don’t think of it like that.

Ryan: Nobody does. Except Fielding and handful of other people. That’s why machines still suck.

Wife: What about verbs and pronouns and adjectives?

Ryan: Funny you asked because that’s another big aspect of REST. Well, verbs are anyway.

Wife: I was just joking.

Ryan: It was a funny joke but it’s actually not a joke at all. Verbs are important. There’s a powerful concept in programming and CS theory called polymorphism. That’s a geeky way of saying that different nouns can have the same verb applied to them.

Wife: I don’t get it.

Ryan: Well.. Look at the coffee table. What are the nouns? Cup, tray, newspaper, remote. Now, what are some things you can do to all of these things?

Wife: I don’t get it…

Ryan: You can get them, right? You can pick them up. You can knock them over. You can burn them. You can apply those same exact verbs to any of the objects sitting there.

Wife: Okay… so?

Ryan: Well, that’s important. What if instead of me being able to say to you, “get the cup,” and “get the newspaper,” and “get the remote”; what if instead we needed to come up with different verbs for each of the nouns? I couldn’t use the word “get” universally, but instead had to think up a new word for each verb/noun combination.

Wife: Wow! That’s weird.

Ryan: Yes, it is. Our brains are somehow smart enough to know that the same verbs can be applied to many different nouns. Some verbs are more specific than others and apply only to a small set of nouns. For instance, I can’t drive a cup and I can’t drink a car. But some verbs are almost universal like GET, PUT, and DELETE.

Wife: You can’t DELETE a cup.

Ryan: Well, okay, but you can throw it away. That was another joke, right?

Wife: Yeah.

Ryan: So anyway, HTTP—this protocol Fielding and his friends created—is all about applying verbs to nouns. For instance, when you go to a web page, the browser does an HTTP GET on the URL you type in and back comes a web page.

Web pages usually have images, right? Those are separate resources. The web page just specifies the URLs to the images and the browser goes and does more HTTP GETs on them until all the resources are obtained and the web page is displayed. But the important thing here is that very different kinds of nouns can be treated the same. Whether the noun is an image, text, video, an mp3, a slideshow, whatever. I can GET all of those things the same way given a URL.

Wife: Sounds like GET is a pretty important verb.

Ryan: It is. Especially when you’re using a web browser because browsers pretty much just GET stuff. They don’t do a lot of other types of interaction with resources. This is a problem because it has led many people to assume that HTTP is just for GETing. But HTTP is actually a general purpose protocol for applying verbs to nouns.

Wife: Cool. But I still don’t see how this changes anything. What kinds of nouns and verbs do you want?

Ryan: Well the nouns are there but not in the right format.

Think about when you’re browsing around amazon.com looking for things to buy me for Christmas. Imagine each of the products as being nouns. Now, if they were available in a representation that a machine could understand, you could do a lot of neat things.

Wife: Why can’t a machine understand a normal web page?

Ryan: Because web pages are designed to be understood by people. A machine doesn’t care about layout and styling. Machines basically just need the data. Ideally, every URL would have a human readable and a machine readable representation. When a machine GETs the resource, it will ask for the machine readable one. When a browser GETs a resource for a human, it will ask for the human readable one.

Wife: So people would have to make machine formats for all their pages?

Ryan: If it were valuable.

Look, we’ve been talking about this with a lot of abstraction. How about we take a real example. You’re a teacher – at school I bet you have a big computer system, or three or four computer systems more likely, that let you manage students: what classes they’re in, what grades they’re getting, emergency contacts, information about the books you teach out of, etc. If the systems are web-based, then there’s probably a URL for each of the nouns involved here: student, teacher, class, book, room, etc. Right now, getting the URL through the browser gives you a web page. If there were a machine readable representation for each URL, then it would be trivial to latch new tools onto the system because all of that information would be consumable in a standard way. It would also make it quite a bit easier for each of the systems to talk to each other. Or, you could build a state or country-wide system that was able to talk to each of the individual school systems to collect testing scores. The possibilities are endless.

Each of the systems would get information from each other using a simple HTTP GET. If one system needs to add something to another system, it would use an HTTP POST. If a system wants to update something in another system, it uses an HTTP PUT. The only thing left to figure out is what the data should look like.

Wife: So this is what you and all the computer people are working on now? Deciding what the data should look like?

Ryan: Sadly, no. Instead, the large majority are busy writing layers of complex specifications for doing this stuff in a different way that isn’t nearly as useful or eloquent. Nouns aren’t universal and verbs aren’t polymorphic. We’re throwing out decades of real field usage and proven technique and starting over with something that looks a lot like other systems that have failed in the past. We’re using HTTP but only because it helps us talk to our network and security people less. We’re trading simplicity for flashy tools and wizards.

Wife: Why?

Ryan: I have no idea.

Wife: Why don’t you say something?

Ryan: Maybe I will.

Comments

  1. Dude, your wife must really love you to go through all that which was obviously of way more interest to you than to her! I mean, I’m not married (maybe that’s the reason), but any woman I’ve ever been with (that wasn’t already technical) would have rolled her eyes and dismissively declared “Whatever!” and walked off by about the ¼th of the way through the above dialog. I know, it’s happened more at least once in my past! :–)

    Mike Schinkel on Sunday, September 03, 2006 at 07:52 PM #

  2. this such a sexist and stupid post!

    p on Tuesday, September 05, 2006 at 02:57 AM #

  3. That is the Best description of Rest Ive read! Now I get it – I used to think it was just another competing way of getting information like RPC, SOAP, etc. But I understand from your article that it is a universal way of mapping information – I will start developing this way now!

    Jeff S on Tuesday, September 05, 2006 at 06:09 AM #

  4. Ingenious way of describing it. Thanks for helping to clarify it for all of us.

    greg on Tuesday, September 05, 2006 at 09:39 AM #

  5. Great explanation, Ryan… This is one of the simplest explanations of REST that I’ve come across. Thanks for making it available.

    Jay Jones on Wednesday, September 06, 2006 at 09:32 AM #

  6. p: Ugghh. I have to admit, this post does seem kind of sexist now that you mention it. It never occured to me that it might be taken as such. I didn’t mean to imply my wife was a layperson due to her being female. I use “explained to my wife” at work as a simple way of saying that something is being described in a way that you might be able to explain to layperson (like people who make buying decisions :) Of course, everyone at work knows that my wife is non-technical and also that she is one of the only people outside of work I get to have grown-up conversations with.

    Dude, your wife must really love you to go through all that which was obviously of way more interest to you than to her!

    It’s way more complex than that — you could write a whole post on it.

    There’s a bit of context missing from the beginning of the post: I had been busy at work and hadn’t seen her much in the past week or so. When that happens she starts getting jealous of the laptop and wants to hover over my shoulder — that’s a sign, it means: put it down and pay attention to me. If I don’t heel to that hint, she’ll start asking me about whatever’s on the screen. If I’m lucky it’s vim and a terminal running screen, which freaks her out and she leaves. Otherwise, I’m usually in the browser or my newsreader. It just so happened that at this time, I was reading Roy’s Bio so she saw his picture and says, “Who is Roy Fielding??!?,” using the exact the same tone and inflection you might when saying “WTF?”

    When this happens, I usually just say, “Oh, it’s nothing,” or something like, “it’s just some stuff about a thing.”

    Anyway, the funny thing is that I wasn’t really trying to explain anything at first. It started out as a bit of joke — a be careful what you ask for type thing. But then she says, “Oh, I get it.” and I so I kept on going and the next thing I know we’re talking about polymorphism and URL canonicalization and all kinds of crazy shit.

    She gets me going on purpose just so she can see my arms waving and the vein pop out of my head while I’m trying to describe this stuff. I don’t think she really pays all that much attention to what I’m actually saying.

    Ryan Tomayko on Wednesday, September 06, 2006 at 11:20 AM #

  7. Awesome. On so many levels. The explanation of REST is excellent, and despite having been delivered to a non-techie, detailed enough for the technical reader who isn’t passionate about the subject.

    As for your last comment, the hovering, the vein popping and the grown-up conversations are an uncanny reflection of my life. I also get, “why don’t you just get married to the computer,” when she’s had enough of me geeking out during non-work hours.

    Steve Collins on Wednesday, September 06, 2006 at 01:11 PM #

  8. I think your page is fine. Nice basic description of the architectural style. The more I learn about it, the more difficult it’s becoming not to get dragged into controversy. I don’t think your page models a sexist scenario. Your wife could easily have been a child who just wanted to learn more. Not that I deny the existence of sexism. No way. It exists and it’s damaging. But I think you can relax. Nothing wrong with being a nice guy.

    chris p on Thursday, September 07, 2006 at 07:07 AM #

  9. Thank you very much for your effort to provide all those information, in your blog, and in SOA Yahoo! group specifically. I am one of your writings fans. I am trying to study SOA and really is so interested in your writings. Thank you

    Haitham on Monday, September 11, 2006 at 02:32 AM #

  10. I didn’t think your post was sexist. For Pete’s sake lighten up people! Fact is, it’s a very common scenario as described in this post. If the author would have pretended to be a woman explaining it to her non-tech husband, it would only be patronizing, if anything, and you’d have to be naive to buy it.

    As a matter a fact, I think it is sexist to proclaim that this post is sexist, because the sexes of the people is not the topic and shouldn’t matter, either way.

    my 2c

    PS I can’t end my post without saying something actually related to the topic of the post: excellent description of REST! Well done.

    Pierre

    Pierre on Monday, September 11, 2006 at 05:03 AM #

  11. bravo! a great introduction to REST turned insightful (and subtle) polemic. I came here from the wikipedia entry on REST and must say that whoever added the link to this article had the right idea.

    ivar vasara on Friday, September 15, 2006 at 08:48 PM #

  12. I’d like to echo ivar’s comments. Ryan’s REST analogies worked for me and I too found it via Wikipedia.

    Kevin Howard on Wednesday, September 27, 2006 at 02:00 AM #

  13. Nice. This is something my wife/kid/friend/dad/mom/brother/etc. could understand.

    Why is sexism in this post important?

    Dave on Thursday, October 05, 2006 at 10:00 AM #

  14. Really an interesting post, resembling Beateson’s dialogue with his daughter… Finally I started unterstanding REST, thanks to you.

    Grazie, as we say in Italy.

    Federico Gobbo on Thursday, October 05, 2006 at 10:33 PM #

  15. Great explanation. Thank you very much, REST is not that easy to understand.

    Bruno on Friday, October 13, 2006 at 05:00 AM #

  16. this is great:) reading the questions out loud in a high squicky voice really helps reading the whole thing without quiting:) reminds me of when i explain stuff to my girlfriend:)

    I can see how this could come off sexist, but hey, its not like the guy said “women never understand complicated stuff”. there are a lot of people who don’t understand computer stuff that easily. some of them are woman. it doesn’t mean that they are stupid. but even if they were, we still love them and have the patiance to explain stuff, and they have the patiance to listen to our boring explanations about stuff they don’t care about. that’s love. and that’s why i find this post actually romantic. i really do.

    Pizza Dude on Monday, October 16, 2006 at 06:05 PM #

  17. that was fantastic. even me being a techie, didn’t have much context of intricacies of REST. Thanks for explaining to all of us. I’m sure this’ll help me in my further reading. And Kudos to your wife.

    SomeInternetDude on Tuesday, October 17, 2006 at 10:33 AM #

  18. creative explanantion….finally some interesting reading.

    henry on Tuesday, October 17, 2006 at 12:57 PM #

  19. i liked your post. i’d like to see you try to explain SOAP to your wife. i have a feeling that conversation would be incredibly painful.

    frankzappa on Tuesday, October 17, 2006 at 01:54 PM #

  20. Thanks for the great intro to REST! I’m a girl, a nurse & just getting into IT, so it was PERFECT…& I didn’t think it was sexist at all. I totally understood the context & have these types of conversations on medical topics w/my husband…way to relate when you are absorbed in your work.

    Kim on Tuesday, October 17, 2006 at 02:12 PM #

  21. I think the Rosettanet framework has such a definition of how machines can talk to each other.

    MS Biztalk has the RosettaNet framework implemented (in part) … and allows machines to talk to each other. That was in 2001. And knowing MS, there are probably other more effective ways of doing it already. ;)

    Snappy! on Tuesday, October 17, 2006 at 09:18 PM #

  22. Like the other readers commenting here, I love this and it helped me GET it (pun intended, har har).

    But I wish you could expand on the last part, the part that you yourself said you don’t get: “Instead, the large majority are busy writing layers of complex specifications for doing this stuff in a different way that isn’t nearly as useful or eloquent.” … Why? … “I have no idea.”

    OK, so you said you have no idea, but it would be great to read more on this if you do get an idea, so we can understand, are these people (I may be one of them) working in a different space where REST doesn’t apply, or are we just truly clueless, or are there other forces in play that tip the scales to non-REST techniques, and are those forces appropriate ones (technical) or inappropriate (desire to perpetuate some walled garden somewhere).. what really is going on?

    Now that you’ve provided some baseline clues for some of us, I really look forward to the next step where you expose and slice through the presumably flawed thinking behind non-REST approaches — once you get an idea what that thinking is. This would help me, at least, understand this a lot better by putting it in context. Not sure if that made sense but I hope you understand what I’m wishing for.

    Jed on Tuesday, October 17, 2006 at 09:20 PM #

  23. Hey Ryan,

    Great post. I still haven’t read the whole thing (i usually read the comments first ;Þ), but i really like the idea and the thought. Oh and i dont think that it should be considered sexist. It was, like you, or someone else, said, being explained to your wife who happens to be non-technical. And i know how difficult / enriching it can be to finally get the other person to understand what you’re talking about. Have done that a number of times with my friends, non-technical ones who want to learn about something new and the (semi-)technical one’s who need a massive un-learning session.

    But most of all, i like the part about someone mentioning that your wife must really love you to go thru all that. And that brought a lil smile to me coz my girlfriend also does kind of the same thing, asking questions along the way and listening to the whole thing with full interest. :))

    Kush J. on Wednesday, October 18, 2006 at 12:01 AM #

  24. Bravo mate :)

    Ivan Minic on Wednesday, October 18, 2006 at 12:21 AM #

  25. “… machines suck.” That’s brilliant.

    Rob Riggins on Wednesday, October 18, 2006 at 01:34 AM #

  26. Sweetheart,

    You’re so wonderful. I just don’t understand why some of these people who commented here are so mean to you.

    At any rate, I have a special surprise for you tonight. Wink, wink. Nudge, nudge.

    You know where to find me …

    Mrs. Tomayko on Wednesday, October 18, 2006 at 03:11 AM #

  27. There’s no way this wife exists. No way, I tell you! J'accuse!

    Nice explanation, though. Well done. Cheers.

    Chris on Wednesday, October 18, 2006 at 04:59 AM #

  28. “most important breakthroughs in the history of computing.

    Wife: Why?

    Ryan: Because it is capable of describing the location of something anywhere in the world from anywhere in the world."

    Nope. IP does it.

    Anonymous Coward on Wednesday, October 18, 2006 at 05:12 AM #

  29. Excellent POST, and I GET it ;)

    It’s an interesting way to actually promote the REST architecture, since what is really simple can be explained thoroughly with out context. I would challenge W3C people to explain SOAP this way.

    As for the sexist claim, it’s just another sign we’re in a insane time but anyhow here is the solution: rename the article to “How to explain REST to your 11 years-old boy”. This is actually what I will test myself with my son Hillel. He’s already using Ubuntu so he will GET it ;)

    Philippe Joseph on Wednesday, October 18, 2006 at 05:57 AM #

  30. “Nope. IP does it.”

    Nope. IP describes which specific machine is the host of the resource that you’re looking for.

    Not that IP isn’t important.

    If I have to call my wife, I call her cell phone. I’m looking for my wife, not her phone.

    sean on Wednesday, October 18, 2006 at 08:12 AM #

  31. Found your post really interesting, and your wife very brave. Must be hard to keep up with you!Lol

    Isabel on Wednesday, October 18, 2006 at 09:44 AM #

  32. I know that I don’t have any way to prove that I am Ryan’s wife but I just wanted to put it out there that the conversation did actually occur. As a matter of fact, I was ticked off when I read the article because I thought he made me sound like an idiot. I enjoy the fact that my husband and I can talk about a variety of topics and learn from eachother.

    I was also a little offended by the post signed Mrs. Tomayko

    Shannon Tomayko on Saturday, October 21, 2006 at 07:16 AM #

  33. Mrs. Tomayko, please ask your husband more about this topic. I hope you can probe what theories he has about why people don’t use REST, and what they just aren’t getting, and he will explain it so well that it will become a followup writeup here and we all can learn more.

    In other words, please urge him to do a sequel! This is great stuff, and it would be great to hear more!

    Jed on Monday, October 23, 2006 at 08:13 PM #

  34. This is easily the clearest description of REST I’ve read, a good primer for younger developers before they read the more passive-prose-laden descriptions (like the one at Wikipedia). Thanks!

    Bruce Alderson on Wednesday, October 25, 2006 at 06:48 PM #

  35. I read this post from start to finish, with an early outage trawling through Roy Fieldings pages. Thanks Ryan, brilliant! And probably technically more correct than more ‘correct’ technical documents – this human interface has not needed to request for a paragraph re-send. Blessings and greetings to your wife also.

    A few posters have picked up a bit on the ‘human’ aspect of getting on with real development. “large majority are busy writing layers of complex specifications for doing this stuff in a different way that isn’t nearly as useful or eloquent” ‘tis a bit like going to war to bring about peace.

    Sir Winston Churchill once said “Men occasionally stumble over the truth, but most of them pick themselves up and hurry off as if nothing has happened.”

    Cheers.

    Max Wohlgehagen on Friday, October 27, 2006 at 03:18 AM #

  36. I really wish I had a girlfriend (i’m too young to get married :D ).. or even a friend who would listen to all my HTML/XML/HTTP and all web-related ‘WHAT-NOT’(that’s what my current friends call it :( ) stuff… till then, to speak my heart.. i have IRC and Yahoo! hehe..

    neways.. this was a gr8 article from ur side, and I won’t term it as sexist, coz ya.. as u said, u were like “explaining to a layperson”, as my mom once was telling me how to buy the perfect vegetables.. i wouldn’t term that as sexist. :D

    And when you say ‘What the Data will like’, do you intend to hint towards a universal data format that all servers will understand, something that the HTTP protocol does not completely comprehend (we have various headers.. but that hardly gets us anyways). And then your complex layers of specifications one.. well I for one would certainly agree after having read the XHTML 2.0 Working Draft. It’s already 200+ pages by now, and it has completely changed the way we used to write HTML. Generalization has been used to way new concepts in it. That apart.. at the same time with WHATWG and W3 soon to be colliding head to head, it sure is a matter that we are missing a very obvious point: Since there are so many machines out there, and a machine could contact virtually any other machine, it does spell out a need for a common data format.

    Those were my thoughts, my opinion, but in the end, it was a great read. Excellent I must say, keep it up :D

    Rohan Prabhu, rohan2kool_NOSPAM@NOSPAM_gmail.com

    Rohan Prabhu on Saturday, October 28, 2006 at 05:32 AM #

  37. How about using the term spouse to avoid outdated inferences of gender?

    A more extreme measure would be to use a gender neutral language that does not have words for his or her, like Estonian.

    Great reading thank you.

    Erkki on Saturday, October 28, 2006 at 11:49 AM #

  38. Thanks, I found this very helpful.

    Still, though, I’m looking for another aspect of REST; I’d like to get some insight into whether object-orientation and OO backlash aren’t a part of the popularity of REST.

    An example will, I hope, illustrate.

    I worked on a application a year ago for magistrates — people who write arrest warrants. We used J2EE, and thus created magistrate objects, officer objects, offender objects, statute objects, and (of course) many, many other supporting objects. All this, we did, in order to render an arrest warrant that our magistrate wanted to print.

    A RESTafarian would, I think, point out that in this application that just knits together a bunch of data for a printout, there’s little call for OO. A RESTful architecture wouldn’t have many objects, not for this app.

    It seems to me that part of the attraction of RESTful architectures is that they avoid the compulsion to turn everything into an object. Does that sound right, or am I on the wrong track?

    Steve Metsker on Thursday, November 16, 2006 at 11:57 PM #

  39. Thank you so much Ryan, It was very nice explanation about REST that I was looked for.

    Mohammad Norouzi on Friday, December 01, 2006 at 07:24 PM #

  40. This is the fist blogpost ever I’ve read from start to end. You should create a series out of this. “Ryan explains things to his wife”.

    August on Tuesday, December 05, 2006 at 02:44 PM #

  41. Thank you Ryan for this technically neutral explanation. I was wondering the impact Web 2.0 could have in the near future on the IT domains I’m working on… This is the best source of inspiration I found so far!! I’ll dream some more time about it…

    Chris13Jim on Sunday, December 17, 2006 at 07:48 PM #

  42. And, you wrote all this down while you were having this convo?

    EatMyShortz on Tuesday, December 19, 2006 at 01:18 AM #

  43. A suggestion to make things look less sexist: Maybe your wife doesn’t want her name on the blog, but if she’s ok with it, try using her name (or first initial) in the conversation instead of ‘Wife’? I think it would make it clear that she’s a real person you’re having a conversation with, not just the steoreotypical non-technical female.

    Laurel on Tuesday, December 19, 2006 at 07:16 AM #

  44. I can see the resource.

    Handle complicate thing need simple way.

    Who is “Ryan Tomayko”? hehe

    Paofan on Tuesday, December 19, 2006 at 06:29 PM #

  45. Nice article, but wrong in subtle and important ways:

    You can think of [a URL] like GPS coordinates for knowledge and information.

    That was true at the beginning of the web, but not since 1998. A URL gets you part of the way there, but not all of the way. Not since the invention of customizations for users, or returning different data based on the context of the request.

    I’m afraid REST people think the web is too easy. The web is about more than nouns and verbs. Its about state and logic as well.

    A lot of Web 2.0 APIs think that since blogs and wikis have permalinks, then everything can have permalinks… and therefore a REST-ful API can be used for a majority of the web.

    I’m just not one of those people.

    I need more than 4 verbs in my language.

    bex on Wednesday, December 20, 2006 at 09:04 AM #

  46. Awesome description of REST; It’s something I (partially) implemented in my last web project but I didn’t know that there was a named concept behind it.

    @bex I don’t agree. If you need more than those 4 verbs then you need more nouns. As regards to state & context; HTTP is stateless! To treat it otherwise means that you have multiple resources behind a single URL and are therefore not utilizing REST correctly. If each URL represents a unique resource, then any state information required for your application should be in the URL.

    Mike on Friday, December 22, 2006 at 02:25 AM #

  47. @Mike

    HTTP the protocol is stateless, but that does not mean the web is stateless.

    I love stateless protocols: they are far more robust and scalable (if done right) when compared to stateful protocols… but state still needs to be maintained by the user (JavaScript/AJAX/cookies), and in the back-end server (Java/Python/.NET). Performance, rich GUIs, and complex business logic demand statefulness in one form or another.

    Once you want to add state logic, REST falls apart. Either because the client needs more than 4 verbs (or just one verb and an action parameter), or because the back-end logic is such that ‘resources’ no longer make sense. You need ‘services’ to choose your ‘resources’ for you, based on the state.

    REST is just the latest attempt to cram the web into the CRUD model so common for database apps. Other attempts included JSR170 and WebDAV. Easy for easy stuff, impossible for hard stuff.

    bex on Friday, December 22, 2006 at 02:59 AM #

  48. @bex

    The argument you make “once you want to add state and logic, REST falls apart” seems to be made with the assumption that REST would tie your hands down from doing richer interactions.

    On your comment “I need more than 4 verbs in my language”, here’s what I would say. If you meet a new person whose native language is not the same as yours, you may likely be limited in the fact that you can’t get him to laugh at jokes your picked up from your cousin or learn each others driving motivations in life. But if you can get introduced, learn each others' lines of business, tell him what you want from him and learn if he’s got it (and vice versa), and get directions to someplace from him (or give it to him), then you’ve covered a lot. IMHO, the 4 CRUD-like verbs similarly get you a lot of the way. An assurance that you can accomplish just this much with any random person holds a lot of value. Insisting that you won’t want to hook up with just anyone, unless he can do deep-interaction with you seems to be argument that your making.

    As for wanting to do such “richer” interaction, nobody’s stopping you (your software) from meeting other potent people with whom you can have your richer discussions. My point is : you can do REST and you can do other stuff as well. Why must you be worried about giving up your favorite tool when you’re introduced to another?

    Vish on Wednesday, December 27, 2006 at 06:12 PM #

  49. First, let me say I appreciate the post and the explanation. I particularly like the elegant explanation of polymorphism. Also, I realize that personal blogs are places to write about stuff that happened that you felt like writing about; there’s no obligation to spin the material in some politically correct way.

    That said, I did start to feel squirmy reading the piece, and I realized that gender stereotypes had to do with the discomfort. I don’t know if your wife literally said “Sounds like GET is a pretty important verb,” and I mean no offense to her (I have no idea what your usual conversations are like), but to me it sounds like either a vapid filler line of the sort that two-bit news anchors use (“Sounds like those insurgents are getting serious, Bob!”), or like a person who’s not really interested and just humoring you (“That’s nice, dear”).

    In general I’m biased against this type of Socratic writing. I think it’s hard to pull off. I think this format best when the learner asks the teacher insightful questions and demonstrates an understanding that evolves in the course of the conversation. When there are too many “Tell me more” lines from the learner, with no additional content or insight, part of me starts to question why there is a need for the conversational format at all, and why the piece couldn’t just have been an essay.

    However, part of me also realizes you’re just blogging, not trying to be Socrates or Hofstadter here, and so I’m perfectly willing to lighten up about it.

    Andy Lee on Saturday, December 30, 2006 at 04:39 AM #

  50. Well, I happen to know women in tech who probably have conversations similar to this one with their non-tech boyfriends. It’s hardly Ryan’s fault that he just happens to be male and married to an inquisitive woman. Also: great post.

    LKM on Saturday, December 30, 2006 at 06:19 AM #

  51. Excellent description. For those of you complaining about sexism – you really, really need to take a step back.

    One cannot make the assumption that because the author decided to use his explanation to his wife as a building block he is somehow sexist. One cannot also, take the words too literally, evaluating each comment made by ‘wife’. It’s an example, a description, and a very good one at that.

    This world is so backward sometimes, it’s quite shocking.

    Next time Ryan, you had better use a fictional cat as your example. But then, you would have a PETA fanatic knocking on your (virtual) door, and cartoonists offended that you think all characters are ‘dumb’.

    RDH on Friday, January 05, 2007 at 03:26 AM #

  52. Best wife, ever.

    Until my girlfriend becomes my wife that is.

    Dean on Tuesday, January 09, 2007 at 08:34 AM #

  53. My wife and I use the phrase “put it on bunny and ducky level” — meaning just keep it simple and as close to first grade reader level as can be… It works well for us — she’s a musician and teacher, frequently she has to put what she does on “bunny and ducky level” for me to understand it — and vice versa when I talk about my ‘puter stuff.

    Bob on Monday, January 29, 2007 at 09:20 AM #

  54. p: Ugghh. I have to admit, this post does seem kind of sexist now that you mention it.

    What’s wrong with being sexy?

    X on Tuesday, February 06, 2007 at 10:00 AM #

  55. Hi I’m one of those wifes who would think that her husband spends most of his time in front of computer.As a result doesn’t share anything with her.Gradually I happened to understand its not the case.By means of your system and software he has been able to improve himself,moreover,has become a computer wizard.Your REST is one of his concerns nowadays.I’m sure it will help him to improve himself more.

    antalya resimleri turkey on Saturday, February 10, 2007 at 09:51 PM #

  56. came here from wikipedia. this helped me understand REST combined with the actual article with left things slightly fuzzy for a reader on a lazy state as I was. And it is a funny article as well, very good work. Thanks!

    xmariachi on Saturday, March 03, 2007 at 04:25 AM #

  57. The only way you could possibly think it’s sexist is if you started by assuming that “Ryan” was the name of a heterosexual male, you sexist pig…

    ken on Tuesday, March 20, 2007 at 06:48 PM #

  58. You have post and put backwards. Post is to update and put is to add something.

    optimusPaul on Thursday, March 22, 2007 at 02:46 AM #

  59. The article is interesting and well written, but somewhat condescending.

    The title is probably the prime offender here. Although, had it been more prosaic I probably wouldn’t have even noticed the link.

    Nimrod7 on Monday, March 26, 2007 at 08:51 AM #

  60. I will try to translate this to Chinese, hehe~~~ Nice post

    Deng Peng on Tuesday, April 03, 2007 at 03:34 AM #

  61. Bravo. Excellent post. Thanks a bunch for the Japanese translation as well.

    Iroke.org on Sunday, April 15, 2007 at 06:13 AM #

  62. Thanks Ryan for the wonderful post! Keep such posts coming.

    Jeetal on Sunday, April 15, 2007 at 10:25 PM #

  63. Fantastic post – thank you so much for taking the time committing it to web! Shame about comment #2, could do with a grammar and sense of humour tweak!

    Dan on Monday, April 16, 2007 at 03:19 AM #

  64. Objectively speaking, I would say that the title is a tiny bit sexist in that “to my wife” is used to indicate implicitly someone who is not a software engineer. To be safer I would begin with something like, “The other day I found myself explaining the concept of REST to my wife, who is neither a software engineer nor generally interested in software development.”

    Anonymous Coward on Monday, April 16, 2007 at 06:43 PM #

  65. Andy Lee:

    Don’t you mean Platonic writing? Writing a Socratic dialogue, perhaps? I’m almost certain you know that Socrates refused to write, but I feel like taking the opportunity to be annoying. ; )

    Anonymous Coward on Monday, April 16, 2007 at 06:50 PM #

  66. Hi Ryan,

    and A French version of your article ;)

    http://www.pompage.net/pompe/comment-j-ai-explique-rest-a-ma-femme/

    karl on Monday, April 23, 2007 at 08:11 PM #

  67. Great post! I translated it to italian:

    http://blog.barbz.org/archives/26

    barbz on Friday, April 27, 2007 at 04:50 AM #

  68. This is one of the best posts I have read in a really long time. I wish all experts could explain concepts in these simple terms. Thank you.

    Rashmi on Tuesday, May 22, 2007 at 07:15 AM #

  69. Ryan, This was informative and logical. I just watned to gete tips on how to REST and found much more. Thanks so mucy

    Regina Glenn on Monday, May 28, 2007 at 10:16 AM #

  70. Thank you. We’ve translated this great article into Vietnamese:

    http://vnruby.org/topic/44/topic.show

    jishin on Tuesday, June 12, 2007 at 03:10 PM #

  71. “this such a sexist and stupid post!”

    Since it would have read exactly the same way if the author were a woman explaining it to her non-technical husband, it isn’t sexist at all. What is stupid, incredibly stupid, is your one-liner.

    truth machine on Sunday, June 17, 2007 at 10:05 PM #

  72. “Objectively speaking, I would say that the title is a tiny bit sexist in that "to my wife” is used to indicate implicitly someone who is not a software engineer."

    Objectively speaking, you’re being ridiculous, because the title refers to the actual person the author explained it to, his wife, who is not a software engineer. To take the title as “implicitly” indicating a broader category is not objective at all, it’s a subjective projection of your own issues about gender.

    truth machine on Sunday, June 17, 2007 at 10:09 PM #

  73. “The article is interesting and well written, but somewhat condescending.”

    So much projection; man but you people have emotional problems. There isn’t a hint of patronizing in the article. For condescension, see comment #1.

    truth machine on Sunday, June 17, 2007 at 10:16 PM #

  74. “You have post and put backwards. Post is to update and put is to add something.”

    Yes. Author, please fix.

    truth machine on Sunday, June 17, 2007 at 10:19 PM #

  75. “I don’t know if your wife literally said "Sounds like GET is a pretty important verb,” and I mean no offense to her (I have no idea what your usual conversations are like), but to me it sounds like either a vapid filler line of the sort that two-bit news anchors use (“Sounds like those insurgents are getting serious, Bob!”), or like a person who’s not really interested and just humoring you (“That’s nice, dear”)."

    Then you must be really really stupid, and have very negative views of women.

    truth machine on Sunday, June 17, 2007 at 10:23 PM #

  76. “Either because the client needs more than 4 verbs”

    Good grief; neither REST nor HTTP is limited to 4 verbs.

    truth machine on Sunday, June 17, 2007 at 10:26 PM #

  77. “A suggestion to make things look less sexist: Maybe your wife doesn’t want her name on the blog, but if she’s ok with it, try using her name (or first initial) in the conversation instead of ‘Wife’? I think it would make it clear that she’s a real person you’re having a conversation with, not just the steoreotypical non-technical female.”

    To him his wife is his wife; to you any wife is a steoreotypical non-technical female. That makes YOU the sexist.

    truth machine on Sunday, June 17, 2007 at 10:29 PM #

  78. “How about using the term spouse to avoid outdated inferences of gender?”

    “wife” is outdated? Are you saying that, Ryan referred to his spouse, an inference that he was talking about his wife would be outdated?

    “A more extreme measure would be to use a gender neutral language that does not have words for his or her, like Estonian.”

    More extreme? Gee, ya think?

    All you sexist gits are pathetic. There is a tremendous amount of real sexism in the world, sexism that causes a great amount of pain and suffering. I can only imagine that people who think that a man referring to his spouse as his wife is sexist are blind to all that. If you want sexism, consider the appalling recent Supreme Court decision in Ledbetter v. Goodyear Tire & Rubber Co. That’s REAL sexism, and just one little bit of the wave of sexist policy that has issued forth from the Bush administration. Berating Ryan for calling his wife his wife won’t do a thing about that, but it does say a lot about your character.

    truth machine on Sunday, June 17, 2007 at 10:57 PM #

  79. “"Ryan: Because it is capable of describing the location of something anywhere in the world from anywhere in the world.”

    Nope. IP does it."

    That’s the stupidest comment here, even more stupid than the nonsense about sexism. Aside from the dynamism of IP addresses and the fact that they are coarse-grained (even with IPv6), they don’t /describe/ at all.

    truth machine on Sunday, June 17, 2007 at 11:09 PM #

  80. A rumour went round the office that we would be using REST in the next version of product. O panic I don’t know anything about REST. After googling for some time I found lots of information but mostly self contardictory,confusing and arcane. Many thanks for the clearest outline I have come across.

    ks22 on Thursday, June 21, 2007 at 11:49 PM #

  81. Thanks Ryan. My Physics professor used to say that you don’t really understand a complex concept until you can explain it to your mother. Same idea.

    Art on Thursday, June 28, 2007 at 11:47 AM #

  82. This sounds like a good angle to attack the fat that for a given domain, or url, different content wants to be served to different sources, browsers, users, geographic locations, ISPs, Carriers, etc.

    MathiasTCK on Wednesday, July 04, 2007 at 06:27 AM #

  83. The point of this article was to explain REST.. which was done in a way that even I, who knows nothing of the subject, could understand. I don’t think whether or not the article is sexist is relevant to the subject or even matters. He did what he set out to do… put the idea into laymen’s terms. Why bring it up? Who cares. Great article! I’m so proud of you… being translated into other languages, getting linked to on Wikipedia, having articles published in magazines, etc., etc., etc.

    Nicole Tharp on Monday, July 09, 2007 at 08:27 PM #

  84. Anyone complaining that this is sexist is a JACK-ASS

    GREAT EXPLANATION OF REST. Wikipedia, although usually an excellent resource, was not very clear.

    Looking for more information though. TELL ME MORE! :)

    tcb on Wednesday, July 25, 2007 at 09:45 AM #

  85. It’s year 2007 already and here you are, still receiving your 86th comment for this article. It shows how good your article is written. =) I wish I had a girlfriend/wife though, who is in to technical stuff too. =)

    [ simon.cpu ]

    simoncpu on Thursday, July 26, 2007 at 11:00 PM #

  86. thanks, now I can explain this to my HUSBAND. why is the WOMAN always assumed to be the ignorant one ?

    carol on Monday, July 30, 2007 at 04:24 AM #

  87. The title IS sexist!

    Jane on Monday, July 30, 2007 at 05:07 AM #

  88. Hmmm… if I were you, I’d follow the recent trend and disable comments. They add no value except as either streams of “great job!” or a bunch of worthless “that’s sexist!” spew.

    Great explanation. Just scrap the comments and keep blogging.

    Michael on Tuesday, July 31, 2007 at 08:54 AM #

  89. Why do you have to portray your wife as dumb? There is really not need for that. Explanation is very good but it looses value, at least to my eyes, for being so sexist. Why could'nt that conversation be between you and your Grandpa? or Between you and your 10 year old? PIG

    Lola Mento on Thursday, August 02, 2007 at 06:00 PM #

  90. I agree with Lola Mento. But I like the way you explain a complex subject in a simpler way. -Nish

    Nishanthe on Saturday, August 04, 2007 at 11:41 PM #

  91. This is a very good explaination. I just heard this topic a few days ago from my teacher. English is my second language, but your artical is very easy to understand. I want to translate it to Chinese, if there is no Chinese version of it yet.

    Hong on Sunday, August 05, 2007 at 04:16 AM #

  92. I care , I’m mad as hell and I’m not going to take it anymore

    Anne on Wednesday, August 15, 2007 at 04:10 PM #

  93. Very interesting post…i’m looking at it from the ‘wifes’ point of view and its so like my situation, luckily i have a lovely boyfriend who, when i start leaning over his shoulder with the ‘pay attention to me’ attitude, he will also kindly explain anything i wish to learn about!

    Bronzebrew on Wednesday, August 15, 2007 at 08:10 PM #

  94. Excellent way of making things understandable to a layman. I would love to link this post through my blog. Let me know if you have any concerns. Cheers, Vaibhav

    Vaibhav on Thursday, August 16, 2007 at 05:44 AM #

  95. This is one simple and excellent explanation of REST.

    Shankar on Thursday, August 16, 2007 at 09:29 AM #

  96. well done. Communication based on conventional exchange of common concepts is the key issue for people and IT systems.

    Alessandra on Thursday, August 16, 2007 at 08:06 PM #

  97. Your explanation on REST has made me restless to know more about the concept.

    S K Ananda Krishnan on Thursday, August 16, 2007 at 11:35 PM #

  98. Thanks for the great post! I wish there were more explanations that are simplistic, clear, AND informative.

    aurona on Sunday, August 19, 2007 at 07:56 AM #

  99. Very good explanation. To me the style seemed more like that between Achilles and the Tortoise in “Godel, Escher, Bach:an Eternal Golden Braid”, somewhat Socratic…

    Bill Hughey on Monday, August 20, 2007 at 04:20 AM #

  100. Do you call your wife “Wife” in normal conversation? Does she have a name? Perhaps humanizing her by calling her by her name (as I think actual human beings prefer) would have made this article seem less an exercise by a dweeb trying to sound like Doug Hofstadter on acid and more like an informative attempt to convey what REST is all about.

    Marco Dinari on Tuesday, August 21, 2007 at 07:28 AM #

  101. Wow you read that whole article and thats what your bitching about, thats actually really sad and i feel sorry for you Marco Dinari. I think this man is a geniuse and knows his shit. I am also pretty sure that he calls his wife by her name.

    crscrw on Thursday, August 30, 2007 at 11:14 PM #

  102. let see the wife and the sister and the mother all talk about sweepers….While the men try to explain techy stuff to them

    Anonymous Coward on Wednesday, September 05, 2007 at 08:32 AM #

  103. Wow, I just happened upon this post from Wikipedia and while I think you explain REST decently, the blatant sexism here is really a turn-off. I’m male, so I don’t have a direct view of the female perspective of the IT industry, but this is the sort of exclusive attitude that I hear complaints about. I think you could clean this up to be a really useful text if you removed gender.

    Anonymous Coward on Monday, September 10, 2007 at 01:24 PM #

  104. It would have been nice to have read:

    How I Explained REST to My Wife, Jayne

    Jayne: Some text.

    Ryan: Some text.

    Jayne: Some text.

    Ryan: Some text.

    Going forward, this will help put her on equal footing in such a dialogue.

    Thank you for sharing!

    osg on Monday, September 10, 2007 at 01:40 PM #

  105. That is awesome. Just awaiting your next article:

    “How I Explained SOA to My 8-year old son.”

    verango on Tuesday, September 11, 2007 at 09:23 PM #

  106. I’m surprised with all the comments that no one has realised how valuable this post is to explain to a prospective client about the benefits of a RESTful system.

    Your post might just help me get clients to understand how important it is to have a loosely coupled globally accessible system.

    In today’s information age (when you think about it in the scheme of things) it is important for anyone to know that their data is open, accessible and available for interoperability. My application respects that notion, and provides the means through RESTful interfaces.

    Your post goes a long way in explaining the concept to laypersons. Sexistness be damned. The people who raise the argument are simply trying to create a rucus out of nothing.

    Posted using Rakesh’s Nokia N91 8GB

    Rakesh Pai on Sunday, September 16, 2007 at 08:42 AM #

  107. nice Explanation, I would say REST for dummies ;)

    Hendrik on Wednesday, October 10, 2007 at 09:14 AM #

  108. “It would have been nice to have read:

    How I Explained REST to My Wife, Jayne"

    I agree on this point.

    HOWEVER. I am the girlfriend of an aerospace/materials engineer, and you will not believe the insanity I hear all day long, especially when he returns from his experiments or from his graduate classes. Though his work is incredibly complex, I am much like your wife in that, I like to know what he’s doing and what interests him. I can now say that I know enough about shape memory alloys to be able to have a decent situation with another non-engineer (and feel like I know more, lol).

    Plus, I believe it’s a fair trade, as he has to listen to me rant about writing and my job! ;)

    Stephanie on Wednesday, October 24, 2007 at 10:07 AM #

  109. I’m not sure why I was linked to this. It seems too simple for the average engineer (not to mention too wordy).

    As for the sexism that people can’t see, I must confess this article irked me in that regard so give me a moment to explain.

    As several others noted, the use of ‘wife’ rather than <name> makes her sound like an object rather than a person. More-over, since ‘wife’ is a word commonly used to describe ‘married female’, it gives the feel that it represents the every-woman. Take the situation and reverse it:

    Man: What? Ronda: Let's say you're talking to your brother and he wants to borrow the power sprayer or something. But you don't have it - your Dad has it. So you tell your brother to get it from your Dad instead. This happens all the time in real life and it happens all the time when machines start talking too.

    Besides setting ‘wife’ up as a vacant foil who needs to have things explained to her like a 5-year-old, you’ve given her a tool (vacuum cleaner) to her that denotes housework, implying that she’s the little homemaker (in addition to being a rutabaga)

    Combine that with the condescending tone and her not ‘getting’ his oh-so-witty jokes and this story feels like a 50’s flashback.

    If you give her a name, it’s not longer ‘all married women’, just one woman that doesn’t seem very sharp. Take away the gender aspect all together and say you’re explaining it to a 10-year-old and it’s fine too. (Although that vacuum part is going to sound weird then) but the way it reads to someone who has faced those sorts of stereotypes, it’s a bit grating as it is. For a sense of scale, I rate it marginally more annoying than an IBM repair certification training video or an ISO-9000 training video. I rate those videos slightly more irritating than fast-food service training videos, which in turn are vastly more annoying than the films they showed in highschool for driving safety, sex-ed, and drugs-are-bad-mmmkay. (If you’ve somehow managed to avoid all of these, let me say it’s about as annoying as getting ‘help’ from ComCast customer service or a Fry’s sales person)

    There’s an easy test for sexism/racism/whateverism. Just take the thing that’s been called whichever and swap out the offensive word for the part of your identity that you feel most self-conscious about or have experienced the most prejudice from.

    Here’s a good line to try: <noun>: Sounds like GET is a pretty important verb.

    And a few nouns you might try: Black, German, Italian, Irishman, Japanese, Asian (or if you really want annoyance here, many of us put ‘wife’ on the same ground as ‘oriental’) Fat guy, bald guy, redneck, conservative, liberal, Christian, Jew, Muslim, Hindu, ComCast employee, Fry’s Employee, etc.

    Hope that helps.

    Andrea on Wednesday, October 24, 2007 at 12:46 PM #

  110. Very nice description of REST principles. It is fascinating that some complexed people screw this to rasistic/xenofobic/nazi whatever. A couple of hundred years ago they would burn you to death, today they would like to send you to jail and explain your wife, that she was brutally misused (although she is not aware about it). Andrea, I really can’t figure out the connection between REST and black German liberal ComCast employee. Don’t do drugs, but maybe a couple of Valium pills will help you to get out of your frustration. Try to write on your own a better REST explanation and we will see – this gender stuff is good to nothing.

    Lord Mord on Tuesday, October 30, 2007 at 08:41 AM #

  111. Fantastic REST introduction, Mr. Tomayko! I wish my wife was tech-savvy and explain it to me this way.

    (It’s super amazing how many weirdo’s are commenting at the wrong places. Really sad…)

    M. Binev on Monday, November 05, 2007 at 07:37 PM #

  112. Mr. Tomatko, Great article. One line confuses me “Nouns aren’t universal and verbs aren’t polymorphic”. I presume you are referring to SOAP based Web services. Could you explain why this is so? I believe the verbs are not polymorphic because instead of HTTP PUT etc.. you now have arbitrarily-named SOAP methods – is that correct? My guess with regard to the nouns would be that the resources are not unique URLs (as in REST) but a SOAP server URL through which all SOAP messages (for Web services hosted by that server) are sent – is that correct?

    Does the term “Universal noun” mean “access to all resources everywhere via (logical) URLs”?

    Thanks, Sean.

    Sean Kennedy on Friday, November 09, 2007 at 03:33 AM #

  113. When will the next in you series be out? I’m looking forward to Explaining Bayesian Spam Filtering to a Negro, Teaching Queers Entity Relationship Modeling, and How I Explained Political Correctness to White Trash Bloggers.

    But seriously, good format and well explained. Evidently these people who are offended have never read heard of a socratic dialog. I see this as a modern update on an ancient didactic form. I have these kinds of conversations all the time with my wife as well. I once used the analogy of a professional kitchen with master chef, sous chef, dishwashers, and all the trappings to explain to her how the web worked.

    BTW, seems to me in this day and age your wife could be a man. There is nothing in the article that mentions your wife’s gender, so maybe it is the critics here who are sexist by presuming that only a woman would need such an illustration. That is why political correctness only ends up in more propagation of the kinds of offenses they purport to avoid: you have to spend all your energy judging people and then filtering your responses to see if they are PC, thus your bigotry filter gets finer tuned.

    Gregory on Tuesday, November 13, 2007 at 05:20 AM #

  114. This whole dialog on sexism has marred what was the best explanation of REST that I have read up to date. It has really made me sad and I can only hope that all the responders are coming fresh out of college at UC Berkeley and are not representative of software developers in general.

    This incredible over-sensitivity to issues of stereotyping is unbelievable. If you haven’t noticed, there ARE differences between groups. If you have any concept of Diversity, it is embracing differences, not denying them. MOST software developers are men. MOST men have or have had wives or girlfriends. MOST of them are not technical people. That is why MOST of us relate to his posting so well. I just made stereotypes here and guess what? They are all true! This should be obvious to anyone with better than a 6th grade education. But instead of questioning whether statements are true or false we are attacked for even making them.

    What exactly do all you Political-Correctness-Police take issue with here? Are you saying that all races, genders, groups, cultures are exactly the same? That would be a VERY boring world. Or do you just have a problem with people talking about it?

    And that is exactly the point. You calling Ryan a Sexist is just a tactic meant to shut him up. Politicians have sold us the idea that we should police ourselves when it comes to ANY discussion of Gender, Race, Religion. And Ryan and so many others of you apologized for completely innocent remarks.

    What is really pathetic is how many of you have bought into it. My 2 cents… -Steve

    Steve on Monday, November 26, 2007 at 01:39 PM #

  115. R is for reading a good book like the bible or a good wholesome spirtual book , E is for exercise to have the right frame of mind , S is for sleep , always get enough. T is thinking ponder on things to make the right decision , thats REST live your life with REST and your attitude will be so good :) God bless you

    Anonymous Coward on Wednesday, November 28, 2007 at 08:13 AM #

  116. Man, how much I would love to have a wife like yours…. It’s only a dream right… but at least we geeks have all rights to dream!

    Cool article i loved reading it…Great Job

    Marlon Grech on Friday, November 30, 2007 at 09:28 AM #

  117. “re Thanks Ryan. My Physics professor used to say that you don’t really understand a complex concept until you can explain it to your mother. Same idea.”

    I tried explaining cosmology to my mother, the universe etc. and how I had a hard job imagining it going on forever. “Its amazing isn’t it,” she said, and followed up with “Oh well it probably turns back on itself then”.

    My physics teacher at school told us he would sometimes try to explain things to his mother. Like why they were having such a problem launching a high altitude device on a balloon, because the device was getting cold at the high altitude and the weight and performance of the heating circuits was causing difficulties. “Why don’t you put it in a thermos bottle then”, she said. They did.

    Keith Allpress on Sunday, December 02, 2007 at 10:03 AM #

  118. Addendum. You probably should be aware of the efforts of the W3C and various researchers around the world on a concept called the “semantic web”. There are at least three protocols under investigation, XML, RDF, and OWL for machine-processable semantics. Semantics means meaning, but I really think you are bang-on, the problem is really to understand how language works. But that’s not how progress happens, usually we stumble about trying all kinds of things until somebody shouts “Hey, now I see what we were really trying to do all along!”. The academics are arguing about language of course, and that is part of the problem. Because our species has this uniquely remarkable aptitude for language, everyone is an expert. You probably can’t tell a dolphin anything about sonar for that matter, without causing an argument. People can be so passionate about their pet theories, (me included) and ideas become entrenched, but I can see that one day soon the computer people are going to catch up on all this and start blowing some cherished theories out the window with a fresh take on things. The breakthrough will come when the computer people start bootstrapping language learning within systems so that systems learn to understand more by processing what they know.

    We also have to learn to separate thinking from language. That’s quite hard to get your head around and really calls into question what we mean by thinking, or as the eponymous Humpty Dumpty would say, what we choose for it to mean. Do we think in words? Yes and no. Do animals think in words? Now that is a question. We have to separate further the ideas of thinking and awareness. There is no doubt that animals think quite complex thoughts, and are able to compose ideas together.

    There is a dog and a playful kitten in my household who have an understanding. They have invented a game together, a kind of hide and seek. The rules have evolved to become quite complex, and are respected by both parties, so that neither player will actually hurt the other. But come teatime and immediately the game is adjourned, and the protocols of who gets what food and where are respected. The dog of course owns any food left outside, plus any food inside is fair game if she can get away with it and the cats are off guard.

    There is no doubt in my mind that the animals have some kind of internal self-dialog – but it also must be true that it is non-verbal. Or is it? It cannot be non-“thought-al”. It is fast and logical, and abstract. We are animals, we must have that too, but we also have this constant language over-layer chattering in our minds. We only find it hard to recognise our inner thoughts as a language of thought-symbol-feelings because our language translator commands our attention. The language translator is simply a new part of the brain that collects everything from the thought system and immediately maps it into the dominant language system. (It doesn’t have to be like that, the thought system can be channeled into music or bodily action faster than we can make the words.) The logic of the thinking system is “prior” to the logic of the language processor in our heads, and I believe that it takes place in a kind of “theatre”.

    Now this theatre is very clever, the basic machinery for composing complex thoughts by nesting them together and chaining them together, that animals and even insects use, can also reflect apon itself. In the animal kingdom this self reflective capability is probably limited, but we on the other hand can pull in words to our minds, and these words bring with them a logical structure called grammar that mirrors the logical machinery of the mind. This allows us to make sentences in our mind using language, that are about the contents of our minds. In other words it gives us a way to listen to ourselves, that was the trick that nature needed in order give us the all important means to influence others. We call it reflection, what we casually call “thinking” is mainly the effort-ful holding of thoughts in “outer-language” words in our heads, and in this we are unique.

    So to understand language we need to pull apart sentences and look at the grammar. And from the grammar we we look for a logical system behind it. Here is the great problem – there are two levels of logic. There is firstly the logic of the rules of sentence making, and there is secondly the background logic of the rules of thought construction. The lingusitics people don’t seem to understand that there is a difference here. I believe that computer people on the other hand are uniquely armed with a set of powerful concepts of information processing that is equal to the task. Cognitive science is the science of the future,and it will be a branch of computing.

    There is indeed (I beleive) a universal cognitive engine operating in the mind, before language gets to it. It is the same engine that occupies the animal mind. It has mechanism, and it is universal. We can unravel it by examining what is common in the grammar of all languages. Infants learn “nouns” before they learn verbs. In fact verbs are very late to be learned and much fewer in number. Adjectives and some verbs are abstract descriptions for things (“John is sitting”) but on the whole that are connectors between nouns. So when you say “GET” something you are may be using a “polymorphic” method, but it is not an isolated property of the thing you are talking to. You are in fact saying “Get that to me”. The “me” or “I” information is in there as an “IP address”, and it is part of the conversation, except that it is not made explicit. It’s buried in the mechanism. Similarly “I WANT you to PUT this INTO that database” is a language sentence that is expressed in a mixture of protocols and processes and what have you.

    Before we can make any progress inventing a language to do all this properly we need a very clear and simple processing model of the overall language. And what is more, the “mind” that holds this language must be a distributed mind that is equally competent at each node. The language is not a bunch of words and syntax rules, it should be a “cognitive theatre” that can do processing in the same way our minds do it. It must be able to nest and chain verbs nouns and adjectives at the conceptual level. That is tantamount to thinking. Only then will it have sufficient nous to be able to support not only generic language, but various technical languages specialised by context.

    I think so therefore I maybe right. :)

    Keith Allpress on Sunday, December 02, 2007 at 06:02 PM #

  119. I’m a programmer who mostly works in C and C++. I also stumbled across this post by way of Wikipedia, and I found it a fantastic introduction to a topic I didn’t know much about before. Most discussions of REST get bogged down in minutiae and fail to convey the important concepts that your article communicates elegantly. And with HTTP, the high concepts really are crucial.

    I also learned quite a bit from the technical comments people posted, and rolled my eyes at the accusations of sexism. Chalk up one more vote of confidence from a geek with girly bits.

    Meredith L. Patterson on Saturday, December 08, 2007 at 01:24 AM #

  120. Outside of the Microsoft seminar on Visual Studio 2008 futures a few days back, this is the first time read an article on REST. And it was the perfect opportunity. There is no better way to explain this stuff to a beginner. Even a dummy would understand this. BTW, I am not indicating wives are dummies for you who are ready to pick on everything.

    Debasis Goswami on Monday, December 10, 2007 at 09:06 AM #

  121. C'mon, folks. If you think that, “my wife doesn’t know the latest web lingo,” is the same as “all women are technically inept,” maybe you’re looking for a fight. It is not sexist to relate a conversation that a person has with that person’s spouse, EVEN IF FEMALE.

    Geekwad on Thursday, December 27, 2007 at 04:11 AM #

  122. Yo bro – This was an awesome POST. Keep it up, and don’t let the bastards GET you down!

    The Dude on Thursday, December 27, 2007 at 10:28 AM #

  123. Excellent post, excellent explanation of polymorphism.

    John R on Wednesday, January 02, 2008 at 06:43 AM #

  124. this was a real great article. It really helped me “get it” . This is truly the best description I have ever read! THis is realy an ingenious way to explain everything. I see why it may come off a little sexist, but in gets the point across, so I really don’t mind.

    sally on Friday, January 04, 2008 at 02:22 PM #

  125. Very easy to read post. I am a programmer myself and I cam accross this post while trying to understand REST principals. This post helped me get it into my head so that I will never forget what REST means and why it it totally different from RPC.

    Gary on Monday, January 07, 2008 at 04:33 AM #

  126. Ryan- Awesome Work !! I am planning to act this play in front of my team so as to explain in and outs of REST. Thanks for the marvelous explanation.

    Abhishek on Wednesday, January 09, 2008 at 04:10 PM #

  127. Now everything is clear even for pure blond. :) Thank you!

    Nata on Wednesday, January 09, 2008 at 10:45 PM #

  128. Anonymous Coward, how do you know Ryan’s wife is not a software engineer ? She could be one who wanted a more in-depth explanation about REST.

    Truth machine, you took the words right out of Anonymous Cowards' mouth with your own description : “Objectively speaking, you’re being ridiculous, because the title refers to the actual person the author explained it to, his wife, who is not a software engineer.”

    carol and jane, might goodness how sexist you two are! As the other posters have already said, it could easily be the other way around i.e. Shannon explaining REST to Ryan. It just happens that Ryan is into Internet programming. Shannon may be a chemical engineer for all we know, and she could have put up a separate article in separate post which we don’t know about : How I explained Polymorphic Molecular Reactions to My Hubby!

    And carol, I don’t think Ryan’s wife is ignorant or stupid in the way she responds to Ryan’s explanation and her inquisitive questions. The conclusion of the article showed that she understood Ryan’s REST explanation and she appeared to be a very intelligent character!

    Michael, its no offence for a reader to praise Ryan or to thank him for a great article which helped that reader understand a subject which he did not understand before. In fact, its a GOOD THANG which gives satisfaction to both sides! So Ryan — no, I don’t think you should disable comments because it really shows what people on this planet (or more specifically, Internet sufers who ready your blog) are thinking amd in fact the comments themselves, make interesting reading!

    Lola, I’m afraid you are the PIG. Ryan did not explain the subject to his grandpa or son but to his wife which he loves very much. Maybe his wife did not have as much knowledge in Internet protocols but he has. It could be that his wife possess a PhD in Genetic Engineering so SHE would be explaining to Ryan on a variety of hereditary topics and the likes. Everyone has specific areas in which she or he has expertise and it would be good to share it out with others who don’t and vice versa. And the same with you Nishanthe. Shame on both of you!

    Marco, I’m afraid you are the dweeb. Ryan used the term “wife” from our (the third party or readers) point of view as he translated the post for us (the readers) to read for our benefit (so that we could all learn to understand what REST is about). In other words, he was doing all of us a service. During direct face-to-face conversation with his wife at that moment, he would of course refer to her as Shannon. So don’t be an idiot!

    [Anonymous coward] : I think you could clean this up to be a really useful text if you removed gender.

    Me : No, that would distort the article. The way Ryan set out to format his article appears to be the closest and most accurate depiction at what actually occurred. It is only your sexist perpective that blurred your vision. There ARE men and women in this world – and you can’t change that no matter how much you try to squint!

    osg : Looking at it from one perspective, you are right. But there are so many ways one can write the same article. I see nothing wrong with the current depiction and only a a reader with a sexist slant will distort it. Also, I think Ryan referring to his wife as “wife” rather than Jayne to us third party readers shows that he loves her a whole lot more than if he had referred her by name! IMHO, referring to your wife as Jayne, etc depicts her as more being an associate or friend. Would you refer your father as “Michael” to third party readers rather than “my father” ? Funny how the sexists in the Post Comments section don’t seem to care if the the original conversations were re-directed to elderlies and siblings like grandfathers and children. That shows how slant their reasonings are.

    Andrea, funny how may of the sexist comments seem to come from the female commenters. I think you probably have too low a respect for the word ‘wife’ or in relation to yourself, the word ‘hubby’. In my opinion, Ryan referring his wife as “wife” gives me the impression that he loves her very much rather than if he had referred to her as Jayne or some other name which implies more an associate. It’s incredible how you can associate the word ‘wife’ to be an ‘object’, you have such a low respect for women. His wife also wanted to know more about the topic he was working on which is REST so the fact that he took the time and trouble to explain it to her since she might not have much knowledge about it, showed that he loved her. And by referring to Ryan’s wife as a ‘5-year old’, you have really demeaned her and showed very little respect for her. Please change your perspective in life. And you’re crazy Andrea because none of the nouns you mention have anything to do with REST and would put the article wildly out-of-perspective!

    Geekwad – spot on and well said ! I couldn’t have put it better !

    Great article, Ryan! I enjoyed reading it and learnt a lot about web, HTTP and REST. Generally, I always feel that complex technical stuff always break down into the simplest things and so should be explained in the same manner. Book titles like “<xxx> for Dummies” or “Learn <xxx> in 24 hours” or “<xxx> for Beginners” really do a lot of service to the world making people a lot smarter which is A GOOD THANG. There is no point going into a lecture or spending dollars on a technical book and coming out understanding less than 20% of it.

    Someone who is able to explain things simply to a layperson to make him or her understand really demonstrates that the explainer has mastered that topic and is an expert on it..that’s that!

    That said, many complicated topics on science, physics, astronomy, genetics, computer stuff, whatever, SHOULD be explained as how Ryan explained it to his wife (or perhaps to his 11-year old kid or grandma, grandpa). In the end, I feel such articles would really have a worthy place on the Internet because their format helps beginners and laypeople understand and would make a whole lot of people on this planet smarter which can only be a GOOD THANG. It IS worth it you know, too make almost every adult on this planet UNDERSTAND STUFF because application of knowledge would see a significant boost, a lot of problems on this planet would get solved and human beings will advance a lot further a lot faster compared to our current rate.

    Publishers please note – come up with more books like the ones I mentioned above!

    P.S. Now I see how hard it is for the world to advance. Just an honest, simple and clear explanation of a single, minute concept named REST and the whole world takes it to pieces!!! Somehow I intended to read this article to get to know REST but unintentionally, I also at the same time (50:50) analysed the comments from start-to-finish and came out with a better understanding of the sexist world of the west.

    Ezani on Sunday, January 13, 2008 at 04:51 PM #

  129. Kool explanation. I’m sending this to my wife, of course!. Thanks. Roshan

    Roshan on Sunday, January 13, 2008 at 08:51 PM #

  130. Ryan: Excellent post, man. The best introduction to REST I’ve read yet! This is just the kind of sit-down explanation a beginner needs to hear, avoiding the use of jargon and explaining in terms common enough for lay-people to understand.

    And for the record, I don’t find it sexist one bit. But then I’m a guy. (But if it were Shannon explaining it to Ryan, I wouldn’t have minded.)

    Again, excellent post!

    And excellent tip! (That when your girl hovers over your shoulder, stop what you’re doing and give her some attention.)

    Frank III Augustine Manuel on Monday, January 14, 2008 at 10:26 PM #

  131. Good explanation Ryan! We are working with Nuxeo ECM and this post resolves the basic idea of Restlet that they are used into the Portlets. Thanks from Spain.

    Víctor Sánchez on Tuesday, January 15, 2008 at 10:16 PM #

  132. I think Andrea did a great job of explaining why the post seemed offensive, which for some people who don’t ‘get it’ is as complex an endeavour to understand as REST. It’s interesting that all the people who discount the sexism dont get that communicating to other people while turning them off and not being conscious of the things that really do affect their daily lives, ability to get education, be respected/promoted at work, recognized for what they do etc. etc. is important in these posts, and in the progress of science; as well as the technical content. The other thing I find amusing is all the guys who say they wish they had a wife who would be so interested; well, the geek women who understand/take an interest in this stuff tend to lurk on these lists, not interested in guys who don’t get it (or don’t even make an attempt to get it) the same way a black person would be turned off and have no interest in someone who is racist or who discounts the existence/effects of racism. There isn’t as much of a lack of women/potential girlfriends who are interested in this stuff as you think; we’re just not interested in being insulted and so are here for the technical content and you don’t meet us if you don’t have the right attitude/knowledge.

    Anonymous Coward on Sunday, January 20, 2008 at 10:42 PM #

  133. Given how much this article helped me, a male Java engineer who takes pride in grokking stuff, I didn’t think this was sexist at all. Prior to this article several years ago, I was trying to make sense of why REST proponents thought it was so very powerful.

    I took “wife” to be anybody (even an engineer like myself) who hasn’t completedly understood why something so simple can be so much more powerful that something so much more complex (like SOAP).

    Jon Carlson on Monday, January 21, 2008 at 05:40 AM #

  134. So much emo. Enjoy the article, and worry about world piece or nukes or something instead.

    August Lilleaas on Monday, January 28, 2008 at 01:53 AM #

  135. Nothing less than brilliant.

    Ashish Anand on Monday, January 28, 2008 at 08:08 PM #

  136. Excellent – and this is 2008 already! Just goes to show the staying power and enduring value of simple knowledge clearly expressed.

    Thanks for what is STILL the best REST explanation ever.

    Robert on Friday, February 01, 2008 at 05:49 PM #

  137. Excellent. Thanks. Could you now explain RDF? Maybe you could write a series…

    Ian on Friday, February 15, 2008 at 02:32 AM #

  138. very nice explanation, like explaining to a 10 years old.

    Johnny on Wednesday, February 20, 2008 at 09:35 PM #

  139. The article — http://tomayko.com/weblog/2005/03/12/what-ws-got-wrong — says things much better, and it cannot be (mis)construed as being sexist. It describes weaknesses which portend that the WS-* stack will suffer the same fate as EJBs.

    To digress (in order to set up a parallel): After many brave years of attempting to adopt EBJs,many PMs and courageous developers have (likely) missed deadlines because of the complexity of EBSs (hence EJB 3).

    EJB were a grand idea with a dismal implementation, both in terms of its formal interfaces (API) and their implementation (if the performance of Entity Beans is any indicator).

    Back to the main point: WSDL is code that is best consumed by machines; and it is also best CREATED by machines, using tools like Trang and Spring’s org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition.java class.

    Passing data as type <string> would also greatly simplify things in WSDL-land. When did you ever add together two data points in the actual datastream? This is always done elsewhere in the architecture – like in the Business Logic Beans (assuming one HAS an architecture, and that a business layer exists therein.

    Just as with AJAX, REST is a philosophy, leveraging extant technologies in a disciplined, best practices “practicum” sort of way. Much of the confusion surrounding AJAX is the plethora of libraries surrounding it. Competition is great, but it is usually born of narcissism – wanting the monetary/egotist benefits of topping the “mind share” game.

    This is how it is with most software, complexity over simplicity.

    greg trester on Saturday, March 01, 2008 at 07:10 AM #

  140. I need a wife.

    Anonymous Coward on Wednesday, March 05, 2008 at 02:10 AM #

  141. The author could just as easily be a woman in a lesbian marriage in Massachussetts, so there. Nothing sexist about one lesbian woman explaining REST to her spouse, is there? And thanks for the article.

    WillP on Sunday, March 16, 2008 at 03:06 PM #

  142. great, great, great…

    About some of comments – that’s way things are not simple as it should be, and as dialog says somewhere:

    Wife: So this is what you and all the computer people are working on now? Deciding what the data should look like?

    Ryan: Sadly, no.

    Wife: Why?

    Ryan: I have no idea.

    Wife: Why don’t you say something?

    Ryan: Maybe I will.

    Much honors to you’re wife’s clear mind and thoughts.

    rgds

    Sinisa on Tuesday, March 18, 2008 at 02:51 AM #

  143. you owe me big time.

    your wife on Thursday, March 20, 2008 at 08:08 AM #

  144. I like the explanation of why you did not intend to be sexiest as much as the explanation of REST. You could have been a jerk, but instead knew you might have offended some of us women, IT or not, tech or not…I think any beginner could benefit from your post. Cheers

    Traci on Thursday, March 20, 2008 at 12:35 PM #

  145. Very creative way to explain this topic. Please write part II, III, etc… Looking forward to it. Thanks.

    Peter T - webshop on Friday, March 21, 2008 at 01:39 PM #

  146. Totally agree with comment 145. Please write more!

    Ayn on Friday, March 21, 2008 at 09:32 PM #

  147. Heya, I’ve done a translation of it into Spanish: http://blog.tordek.com.ar/2008/03/como-le-explique-rest-a-mi-esposa/

    Great article!

    Tordek on Saturday, March 22, 2008 at 12:39 AM #

  148. Ниасилил :–)

    Bob on Wednesday, March 26, 2008 at 02:01 AM #

  149. My girlfriend wants to know what I work on also… I usually open with: “Do you really want to know? Do you want the long answer or the short one?” usually with a smile on my face.

    The funny thing is, I always give the short answer first and then expound upon it until it is the long answer. She patiently stares at me and I can tell I’m not explaining it correctly.

    My point is: If you can’t explain the problem you are working on to your wife, girlfriend, husband, boyfriend, the person standing next to you in the elevator, and most importantly, your boss, then you don’t know jack about the problem and you shouldn’t be composing at the keyboard right now.

    dchapiesky on Wednesday, March 26, 2008 at 10:22 AM #

  150. Two points. First – this article is no more sexist than the computer programming scene, which is sexist. It’s interesting, though, that readers, most of whom are male, are supposed to identify with the wife.

    Second – I’m not understanding why people don’t understand REST. Why did there need to be a paper to get all these people into using REST?

    johnk on Wednesday, March 26, 2008 at 06:46 PM #

  151. …or, how I explained REST to my boyfriend :)

    katie on Thursday, March 27, 2008 at 07:45 AM #

  152. Hmmm… Is describing something as it appears “in nature” sexist? Specifically: men have tendancies to spend large amounts of time alone (hunting, mowing the lawn, playing xbox, hanging out in the bathroom, etc..).

    women have tendancies to be more social (along with that annoying theme in commercials lately where as each woman talks every other woman looks directly at her and you get to see the eye contact made as if you are part of the group… not many men do that… we tend to stare off into space and make minimal eye contact except when using the lifted eyebrow and nod of the head to direct attention to the hot woman in the group of ladies who are looking at each other intently… but I digress…)

    Programming is an abstract thing that does not take place in a social situation. IBM proved to everyone “design by committee” will kill a project. [don’t yell… I said programming, not design, not requirements analysis, and not even test analysis] Programming is done sitting in a room in an illegal state of mind for long periods of time thinking about things that would make a math teacher scream (I hate the ongoing supposition that you have to be a math wiz to program computers….)

    If you can find me a woman who can easily descend to the status of recluse long enough to keep one train of thought going for longer than 30 minutes, then I salute you. (Katie – Please tell me you are a linux kernel hacker and not a website designer….)

    Perhaps I have also gone a bit far afield here… the term “programmer” and it’s meaning is in question.

    A kernel hacker will look upon everyone else as “mealworms lacking any kind of due respect…” A systems programmer who uses C will look upon php coders as “script kiddies” A php coder will look upon an ms frontpage user as a “newbie” An ms frontpage user will look upon anyone without a website as someone they will give endless and useless advice to…

    Is this sexist? Of course it is… What do you have between your legs? Whatever is there decided long ago how a great deal of your life was going to unfold. But programming is a state of mind… that’s not sexist, that’s a gift from the God of your choice…

    dchapiesky on Thursday, April 03, 2008 at 08:21 PM #

  153. You are flesh…….look at the sea……..!

    Mervyn on Sunday, April 06, 2008 at 11:55 AM #

  154. Not to play in to the sexist stereotype that is apparently at work here, but I’m a girl (on the internet? gasp!) and I love listening to guys talk about geeky computer things. It’s adorable. I applaud you for being able to explain something like that without coming off as condescending!

    Scarlett on Sunday, April 06, 2008 at 03:53 PM #

  155. Gender neutral pronouns, ftw!

    foldered on Monday, April 07, 2008 at 08:31 PM #

  156. If you wanted to present the concept of this conversation in a book or an otherwise more formal setting then yes, gender neutral pronouns would be appropriate. But this is a blog recounting an actual event. If it happened between him and his wife then it is appropriate to recount it as such. I could imagine having this same kind of conversation with my wife. Not because she is stupid (far from it), but simply because she hasn’t spent the time necessary for someone to understand things like HTTP and REST at the level the author does (nor has she had a need to spend that time).

    The fact that the person learning here is female is purely coincidental. You didn’t read this in a text book, this is a blog and the two have different requirements of tone and formality in writing.

    Caleb on Tuesday, April 08, 2008 at 05:59 AM #

  157. Sometimes, while my wife is sleeping, I scratch my anus and stick my finger in her mouth.

    Mary Poppin' Caps on Tuesday, April 08, 2008 at 10:29 AM #

  158. Oh my …

    And you people thought I was offensive! :)

    Ryan Tomayko on Tuesday, April 08, 2008 at 10:37 AM #

  159. yeah, my girlfriend just does the automated “uh huh…yeah….yup” kind of thing if i talk about technology for more than 15 seconds or use any words more advanced than “computer” or “internet”

    shrimants on Tuesday, April 08, 2008 at 05:27 PM #

  160. This essay may have been sexist way back in the dark ages of 2004. but now, more than three years later, the world has moved on.

    Seriously, this thing’s got some legs! Oh wait, is that sexist?

    Ellis on Tuesday, April 08, 2008 at 06:53 PM #

  161. ahhhhh, i always wondered why the web didn’t work that way.. but then i’m very low-tech and don’t have a clue about programming..

    but i’d say GO REST!!!!

    tia on Thursday, April 10, 2008 at 09:59 AM #

  162. Good explanation of REST.

    I hate that anybody would call this sexist. Nothing in the post implies that women are inferior to men.

    tim on Thursday, April 10, 2008 at 03:55 PM #

  163. But how do those “series of tubes” interact with algorithm based generation of URIs for RESTful verbs such as POST and DELETE….?

    Do they change color or something?

    “Ignorance can be cured… but you can’t fix stupid…"
    Women and men qualify in equal measure

    dchapiesky on Friday, April 11, 2008 at 06:31 AM #

  164. I have been trying to explain REST in simple terms for a training piece for a grant project. Your explanation is perfect. Thank you so much!

    naturetracker on Tuesday, April 15, 2008 at 06:30 AM #

  165. enjoyed your post. it’s not sexist, but even it it were intentionally sexist, you wouldn’t be far off the mark; most wives know or care more about shopping than REST. It’s a proven fact.

    chris on Tuesday, April 15, 2008 at 05:29 PM #

  166. This helps a lot to understand REST. That’s only feasible in two scenarios: either you just go back to basics and explain it to someone that it’s not in the field after a deep breath -or a smoke-, or you have plenty of time to interiorize this by analysis and mental processes of association.

    By far, I prefer the first approach you took on this post. I will use it -and give you the credit for-.

    Thanks. Give your wife thanks too for having kept you talking.

    SDR on Wednesday, April 16, 2008 at 09:35 AM #

  167. give it a rest, this conversation happened 4 years ago. I am sure by now that the Mrs. is waaayy over REST.

    please on Thursday, May 01, 2008 at 01:50 PM #

  168. Staying away from the whole sexist debate, I must say this is one of the best explanations of REST I have seen. Now REST does make a bit more sense to me. Thanks!

    Vishal on Monday, May 05, 2008 at 05:20 PM #

  169. Its a nice way to teach technology.

    Mahantesh on Friday, May 09, 2008 at 12:51 AM #

  170. Wonderful explanation.

    Nick Riggs on Friday, May 09, 2008 at 11:14 AM #

  171. Keith Allpress:

    Cannot you just say things to yourself when you are drunk? Why bothering so many people with your looooooooooong meaningless posts.

    tw9kle on Wednesday, May 14, 2008 at 10:18 AM #

  172. Maybe a q&a is a nice way to teach technology, but seriously, this man explains REST to his wife thing is unbelievably old-fashioned and disheartening to see. I wanted to read about REST, not to learn that technology writing still can be so gender biased, still. Bummer.

    electricbetty on Thursday, May 15, 2008 at 02:01 PM #

  173. Great post Ryan! Simple and convincing!

    vaibhav on Thursday, May 15, 2008 at 02:56 PM #

  174. Hi, I’ve just translated into portuguese http://distopico.wordpress.com/traducao-de-how-i-explained-rest-to-my-wife/

    Edgard Arakaki on Friday, May 16, 2008 at 05:12 AM #

  175. I’ve noted the Portuguese translation at the top. Thanks so much!

    Ryan Tomayko on Friday, May 16, 2008 at 06:39 AM #

  176. Nice post Ryan, this can be labeled as ‘REST for DUMMIES’

    Bala Polavarapu on Tuesday, May 20, 2008 at 09:03 AM #

  177. I think i can help you to translate this in chinese or Malay. Haha… Nice work dude…

    Foong Kim Seong on Saturday, May 24, 2008 at 05:53 AM #

  178. Alright, I must confess, its the first time I could really understand REST. You just did the job beautifully without getting bogged down with bad, bad, bad terminology!

    And about your wife, she’s got too much patience. You’re more than lucky!

    Kazim Zaidi on Saturday, May 24, 2008 at 06:36 AM #

  179. @dchapiesky While I didn’t find the OP’s post to be particularly sexist, I find your comments to be so. I think Mr. Tomayko was just using his wife as an example of somebody that didn’t know anything about web services, and not necessarily just a woman. It’s extremely naive of you to generalize women in the way that you do. While I am still a young programmer, I am starting to be active in the open-source community, and am a far cry from a website designer. I can actually,“easily descend to the status of recluse long enough to keep one train of thought going for longer than 30 minutes”, as can several other woman programmers I know. We may be less common but we do exist. We’re probably a lot more social than you guys as well… best of both worlds?

    katie on Sunday, May 25, 2008 at 08:12 AM #

  180. Ryan,

    thanks, keep up the good work man …you guys are wat we need in this society ..

    himadri on Monday, June 02, 2008 at 09:29 PM #

  181. Awesome article – I think I finally get REST now!!!

    And to those who must blather on about this being sexist, if it irks, bothers, makes you queasy or leaves a bad taste in your mouth, don’t read it, just be on your way.

    Androgenous on Wednesday, June 11, 2008 at 04:08 PM #

  182. Brilliant post! And I am female who does not in the least think this was a sexist post or was intended to be one.

    I cannot believe that the brilliance of the post has been marred by people who have taken the time to nit pick the so-called sexist aspects.

    Get a life! The point of the post was not to be sexist – the point was to explain a concept. All of us – husband and wife, boyfriend and girlfriend are is different fields and we would always know the work jargon of our spouses be it in medical field, IT or astrophysics. I appreciate that he and his wife have these conversations. What would be really sexist is him not caring enough to explain because he believed that being a chick she would not get it anyway. (Which he does not!) If his wife agrees that it was not sexist why dont you just butt out and learn something about the concept.

    Get a life and focus on the post!

    Excellent post! Thanks. My husband needed to explain this to me in terms of MVC framework and it was great to see another man or woman’s view on explaining it to their relevant other.

    CHH on Tuesday, June 17, 2008 at 04:22 AM #

  183. Brilliant post! And I am female who does not in the least think this was a sexist post or was intended to be one.

    I cannot believe that the brilliance of the post has been marred by people who have taken the time to nit pick the so-called sexist aspects.

    Get a life! The point of the post was not to be sexist – the point was to explain a concept. All of us – husband and wife, boyfriend and girlfriend are is different fields and we would always know the work jargon of our spouses be it in medical field, IT or astrophysics. I appreciate that he and his wife have these conversations. What would be really sexist is him not caring enough to explain because he believed that being a chick she would not get it anyway. (Which he does not!) If his wife agrees that it was not sexist why dont you just butt out and learn something about the concept.

    Get a life and focus on the post!

    Excellent post! Thanks. My husband needed to explain this to me in terms of MVC framework and it was great to see another man or woman’s view on explaining it to their relevant other.

    CHH on Tuesday, June 17, 2008 at 04:22 AM #

  184. Thanks for the post, it helped me understand the REST complex a little bit better.

    As for being sexist, it is a shame that Ryan has to explain himself in comment #6. After reading that it becomes obvious that the “sexist” comment is ignorant and prejudice.

    Thomas on Saturday, June 21, 2008 at 11:39 PM #

  185. This is easily the clearest description of REST I’ve ever read. Its really made everything a lot clearer to me now. Gracias

    John Thomson on Monday, June 23, 2008 at 11:45 AM #

    1. Brilliant post! And I am female
    2. Brilliant post! And I am female

    Clearly, you are female.

    E6 on Thursday, June 26, 2008 at 02:54 PM #

  186. This is a great description, Ryan! You dive right into the essence of the matter. I wish more computer-related articles were this insightful. Great work! (and it really has nothing to do with sexism!)

    david on Wednesday, July 02, 2008 at 09:49 PM #

  187. Thanks. I’m just starting to study the topic right now, so your article was really useful.

    I’ve also made a Russian translation:

    http://javakka.blogspot.com/2008/07/rest.html

    Javakka on Sunday, July 06, 2008 at 11:50 PM #

  188. Very clever explanation. I don’t think its a sexist article at all. I’m a programmer and my Wife (female) is far more intelligent than I could ever hope to be, but her interests lie in other subjects so a non-technical explanation would definitely be required. I think most people should see the beauty of being able to take something so abstract and explain it in such a way that a non-technical person could at the very least grasp the concepts. Thank you. You are a scholar… and ummm dare I say gentleman…er…gentleperson?

    mkelley33 on Wednesday, July 09, 2008 at 12:23 AM #

  189. Ryan (and many who commented here about the technical things), this is the third time I read your blog, somehow I always seem to come back to it after the heavier stuff. I want to ask you – in the last so many years since you wrote this – have your ideas and enthusiasm about REST changed ? Will REST really be able to go beyond a superficial CRUD interaction with another system using REST – and be the answer to complex interactions, complex searches and queries of the real business world- that often needs more than the 4 verbs. I am struggling with this question for a decison on a project , and I really want to know. It seems to me so many people have solved this in so many funny ways – Flickr seems to have introduced action parameters, almost all the others have some unique authentication ID which maybe at the client end preserves state. All of these are “deviations” – and I am interested to know what sort of deviations would be needed away from the pure REST concepts to really create a large business system.

    kinshuk on Wednesday, July 09, 2008 at 11:23 PM #

  190. gee mister you are real smart

    Anonymous Coward on Thursday, July 10, 2008 at 12:09 PM #

  191. This wasn’t worth the read.

    tjbro on Monday, July 14, 2008 at 08:26 AM #

  192. Good post. Hail HTTP! Sexism rocks!

    Hey browser, now you go PUT this comment under that there awesome blog post!

    Vulcan Eager on Wednesday, July 16, 2008 at 06:02 PM #

  193. Ryan, thanks for the discussion. Don’t listen to the negative comments, it was eloquent and interesting. Much more so than the negative feedback. I learned exactly what I was hoping to learn (how nouns and verbs are represented in http calls), and I certainly didn’t learn anything about women or men during the discussion until I read the comments.

    Bob Eff on Thursday, July 24, 2008 at 10:32 AM #

  194. Great post. Thanks for the simple write-up Ryan.

    Arul on Thursday, July 24, 2008 at 02:32 PM #

  195. Very elegant and insightful explanation. As a female software engineer, I’m a bit surprised by the posts accusing the author of sexism, but I guess if you write a blog post useful enough to get this level of attention, it will be judged against different standards. For example, if I saw “wife” used as an example repeatedly in a widely-distributed textbook playing the role of uninformed asker, I might get annoyed. But used in a sincere context on a blog hardly seems worth getting upset about. The author isn’t trying to characterize the landscape of technical understanding, he’s just telling a story. I have had similar conversations with my smart but nontechnical boyfriend.

    Diane on Friday, July 25, 2008 at 11:21 AM #

  196. Hmm… great post, but maybe next time frame your conversation between “Ryan” and “Shannon” instead of “Ryan” and “Wife” and perhaps you wont get all this speculation about sexism. =P

    Ann on Friday, July 25, 2008 at 11:29 AM #

  197. It’s a really fine article: perfect explanation in a suitable and funny dialogue form! My great respect to the author and his helpful wife!

    I’m translating it to the Russian language and very soon the translation will be published

    And those who say “I need more than 4 verbs in my language”, are usually using just 2 of them – GET and PUT. :–)

    Mikhail V. Shokhirev (Mike Shock) on Tuesday, July 29, 2008 at 07:35 PM #

  198. 198: sorry – GET and POST!

    Mikhail V. Shokhirev (Mike Shock) on Wednesday, July 30, 2008 at 03:17 PM #

  199. My Russian translation of this writing is located [here] (http://www.shokhirev.com/datahouse/web-services/rest/rest-to-my-wife.html).

    Mikhail V. Shokhirev (Mike Shock) on Wednesday, July 30, 2008 at 03:21 PM #

  200. In my case, it is my wife who understands (or says she does – I can’t check her ;–)) objects, concepts and so on. I play games and say “wow!” when something explodes more realistically than last year. Thanks for explaining what she does at work to me!

    Great explanation!

    Chris on Sunday, August 10, 2008 at 02:49 AM #

  201. Great Wife. Wonder if we can have WIFE like a protocol. HTTP/WIFE. SecureWIFE :–) makes sense doesn’t it.

    It was a great read and great intro to REST.

    GSS on Monday, August 11, 2008 at 07:16 AM #

  202. Very nice post.

    To p: I don’t think it’s sexist. There are guys like that too. Then I try to explain it in a similar way.

    I’m a female by the way.. ;)

    elif on Tuesday, August 12, 2008 at 11:03 AM #

  203. That was cute! gives a good mix of definition and examples, and communicates with terms recognizable by non-tech-heads.

    Anne on Wednesday, August 13, 2008 at 12:58 PM #

  204. Very creative explanation article Ryan and I enjoyed reading it. Like others I followed it from Wikipedia, the article there read more like an RFC. I have just returned from the YAPC::Europe 2008 Perl conference in Copenhagen and heard more about REST there. I read most of the comments and as a married person, do not find anything remotely sexist about it. The scenario is a common one that I can relate to. I bet the sexist comments come from earnest young men who are not married and have no life experience yet :D (oops, I am being earnest-young-men-ist!)

    Anyhow perhaps you might want to do an “updated article on the state of RESTful services” for the 4th anniversary of this post in December? I was intrigued by your closing paragraph about folks re-inventing the wheel and would like that clarified a bit more.

    Thanks again.

    Imran Chaudhry on Saturday, August 16, 2008 at 09:56 PM #

  205. You can be a good teacher. I liked the way you explained it. And I will tell my peers the same way now on. Thanks

    Varun Mahajan on Thursday, August 21, 2008 at 12:01 AM #

  206. Nice explanation Ryan. I think this is a new way for easy reading and understanding things.

    Thank you.

    Gis@SBL on Thursday, August 21, 2008 at 05:50 PM #

  207. Thanks for a neat explanation of REST. It complements the Wikipedia article well.

    I’d be interested in reading a follow-up post that digs deeper into your last few comments… “the large majority are busy writing layers of complex specifications for doing this stuff in a different way that isn’t nearly as useful or eloquent…”

    Cheers from Cape Town

    Kosta Kontos on Tuesday, August 26, 2008 at 09:53 PM #

  208. Now i am wondering how many sex hungry people are out there who even though finding in the very beginning what this article (dialog) is all about, still bother reading the whole trying to find something that they were actually looking for . Nice attempt Ryan. Very insightful indeed :)

    Saqib on Friday, August 29, 2008 at 12:54 AM #

  209. Wow, I wonder if Truth Machine is unemployed or just super bored. Great post. Served its purpose quite well. I have the same conversations with my non-technical wife all the time. Ignore the feminazi’s. I for one appreciate when people post natural verbage on their blog as opposed to some sterilized pc language.

    A. Lowe on Wednesday, September 03, 2008 at 07:18 AM #

  210. Hey Ryan Its Superb i was searching for what is rest and u explained it like a Piece of cake……… Thanks Dude……Superb Explanation

    N. Gupta on Thursday, September 11, 2008 at 11:55 PM #

  211. Its One Year To the Post In fact…….. Cheers!!

    N.Gupta on Thursday, September 11, 2008 at 11:56 PM #

  212. It is really a wonderful explanation of REST. Any layman can get a rough idea of REST by going through this nice conversation.

    I really got benefited with this.

    Thanks Ryan.

    Amit Agrawal

    Amit Agrawal on Tuesday, September 23, 2008 at 10:33 PM #

  213. Very useful. Entertaining too. Four years later, it’s still one of the best explainations of REST that I’ve read.

    Daniel Shaw on Wednesday, October 01, 2008 at 11:48 AM #

  214. Thanks for the explanation. And the entertainment. And I don’t think your post is sexist in the least! I have almost identical conversations with my husband. On the rare occasion when he feels jealous of my computer, and dares to ask what I’m looking at! Tell your wife I think she’s fantastic!

    c_girl on Friday, October 03, 2008 at 06:30 PM #

  215. I wish I’d read this 4 years ago!

    Andrew Hedges on Friday, October 03, 2008 at 10:46 PM #

  216. nice explanation. to avoid the sexist accusations why not rewrite it as “how i explained REST to my pet Unicorn”?

    billywhizz on Sunday, October 05, 2008 at 10:57 AM #

  217. “You do not really understand something unless you can explain it to your grandmother.”

    – Albert Einstein

    Great post, clearly you understand the topic. Maybe next time you can explain it to your grandmother, assuming she’s not of any specific gender.

    Sexist? on Monday, October 06, 2008 at 02:33 PM #

  218. I love that Alberta Einstein quote.. here’s one of Benjamin Franklins..

    “An investment in knowledge always pays the best interest” -Benjamin Franklin

    Joe on Sunday, October 12, 2008 at 06:38 AM #

  219. Did you really just read 220 comments?

    Ivan on Wednesday, October 15, 2008 at 08:47 AM #

  220. Sexist? Come on!!!!!!!!!!!!!! Can we have no peace in this day and age?????? OMG! Seriously! Grow a thicker skin!

    And while you are at it, understand that “Probabilities” being what they are, on a roll of the dice, the man would be the one explaining the technical stuff and the female would be the one listening… In the world today, we have so many more male computer nerds and so many more women too busy running for congress and the senate that they delegate the technical stuff to the low “man” on the totem pole!

    Sorry if that hurts but G E T O V E R I T ! ! ! ! Paw-LEEEZE! Can’t we all get along, accept things the way they are, recognize the good and assume the best??? This guy goes and writes an elaborate story…explains it FIRST PERSON…as himself…HOW HE HIMSELF EXPLAINED IT TO HIS OWN WIFE… and so, sorry, he probably didn’t even think that a real-world story would offend people just because it involved a man and a women and the women wasn’t in the position of authority!

    Peace…..Out!

    Shaggy on Wednesday, October 15, 2008 at 11:02 AM #

  221. you have explained the REST greatly !!

    Hariharan on Thursday, October 16, 2008 at 01:37 AM #

  222. Great explanation. I was at a tech talk about WCF and how it relates to REST and thought, hmmm, what exactly IS REST all about. I googled and found your post, Great.

    As far as the comments about sexism, personally I would disregard. If in fact, the conversation happened, well it happened. How is that sexist? I’ve explained many things to my wife (in laymen’s terms) and she has a CS degree. She’s explained many things to me (in caveman’s terms), and I’m humanoid too. So what gives?

    Finally, my wife has sat and listened to me go on and on about something and I don’t think that she is really interested, I think that she simply loves me, and guess what, I love her back for it!

    Josh on Sunday, October 26, 2008 at 09:23 AM #

  223. “Fact is, it’s a very common scenario as described in this post. If the author would have pretended to be a woman explaining it to her non-tech husband, it would only be patronizing, if anything, and you’d have to be naive to buy it.”

    Im sorry, but sometimes I think it also happens that a tech girl explains things to her non-tech boyfriend, so I think your comment is the only sexist thing here. If there are not more women in technology is because of guys like u, who make them feel as freak weirdos. The post itself is not sexist, and its amazing: well done!

    Jo on Wednesday, October 29, 2008 at 05:08 AM #

  224. LMAO! I didn’t find it sexist at all; it just happens to be a technical man explaining to a non-technical woman. I think it was great how he dumbed things down for the layperson to understand. It reminds me of working in the computer labs when I was in college, trying to explain why users' documents didn’t magically save to their floppy disk when the computer went BSOD. :) (Ok, that was before auto-save, but still…)

    Jen on Thursday, November 06, 2008 at 07:43 AM #

  225. A blessing!I have an essay to write on REST dued in a week and this little “conversation” helped heaps! Thanks Ryan!

    Hani on Monday, November 10, 2008 at 11:33 PM #

  226. Ryan,

    This is nice — I will show it to my wife as she is also a teacher (a linguist) and is interested in computers and computer languages. I’m a web programmer myself.

    I see why some might think it sexist, but I find that very misguided really — you and wife obviously have a good relationship for her to sit through that, and she must have good self esteem not to feel condescended to or just plain confused when you are discussing very technical aspects of your work with her. Would that everyone could be this way with their partners.

    As the band Live would say, “We came to the earth to graze”. No reason not to resist learning.

    NickZA on Tuesday, November 11, 2008 at 03:27 AM #

  227. Very good explanation of how REST works, Mr. Tomayko. I do wish you had added the context information in the article, perhaps at the beginning, and, in complete agreement with what Andrea said above, that you had used your wife’s name, and an example that had to do with her job as a teacher, rather than to show her as the “little ignorant housewifey” who does nothing but gossip with her sister and mom, clean the house, and “GET” things for you, if not, alas, your jokes.

    I did find the sexism so blatant that it was distracting, and definitely detracted from what could have been the best and simplest explanation for it.

    IsamarC on Tuesday, November 11, 2008 at 05:39 AM #

  228. Very helpful and accessible! Thanks!

    jb on Saturday, November 15, 2008 at 08:24 AM #

  229. Thanks for the explanation bro. So there are people who can explain it in simple words.It was really very helpful.

    Mohammed Faizal on Monday, November 17, 2008 at 08:40 PM #

  230. Ryan Tomayko, Its nice to read such a way of expressing the technology, but my wife never cares when I talk about it. Any way it was helpful to undestand

    Bharath Kumar on Tuesday, November 18, 2008 at 12:11 AM #

  231. edsgar dijkstra could have been talking about SOAP when he said:

    “The design of new formalisms, more effective because geared to our manipulative needs, is neglected because the clumsiness of the current ones is a major motivation for the mechanization of their use.
    It is not only the performing artist who is, in a very real sense, shaped by the instrument he plays; this holds as well for the reasoning man, and I leave it to you to determine how disturbed you are going to be by this observation.”

    fdfdfd on Tuesday, November 18, 2008 at 09:04 AM #

  232. Thank Ryan, REST well explained :–)

    Manupriya on Sunday, November 23, 2008 at 09:08 PM #

  233. Chinese version is now available on http://www.kevenlw.name/archives/672

    rainzen on Monday, November 24, 2008 at 12:52 PM #

  234. Thanks for explaining REST in a better way.

    An undergraduate on Monday, December 01, 2008 at 01:01 AM #

  235. Do you suppose that all possible actions can be reduced to 4 verbs?

    Mark Kamoski on Monday, December 01, 2008 at 06:55 AM #

  236. I found this really helpful, thanks. Incredible that people are still commenting on this post four years down the line.

    As for allegations of sexism… my god, people. Please get help. Every single accusation made against the author was pure projection.

    Alppo on Tuesday, December 09, 2008 at 08:31 PM #

  237. Just saw this. I think your wife was lucky to get an explanation that was clear enough that probably even your dog would understand REST (literally).

    Ann on Saturday, December 13, 2008 at 10:56 PM #

  238. you need to get laid more

    n3rd on Monday, December 15, 2008 at 11:44 PM #

  239. Horray! I can finally put REST to rest. Thank you Ryan. My RonR apps can really fly now.

    Togidubnus on Friday, December 19, 2008 at 06:12 AM #

  240. Thanks Ryan, for publishing such good information, about REST..

    sunil dutt tiwari on Tuesday, December 23, 2008 at 11:53 PM #

  241. Hmm… well, I didn’t find this post in the least bit sexist. But then, I know some of the best programmers in the world are female :–) …and since your wife was asking those questions, I’d assumed that you were the techie in the family and not her. Shame on those sexist people calling you sexist! Ryan, I’ve been doing a lot of heavy development in this direction in-studio for years. Want to discuss this sometime?

    Adam Prall on Tuesday, December 30, 2008 at 06:03 PM #

  242. Wanted to learn more about REST, found out why I’m on my third WIFE.

    heymcd on Tuesday, January 06, 2009 at 03:07 AM #

  243. Briljant article. I have to say that your explanation on polymorphism beats everything I’ve ever seen!

    Berry on Wednesday, January 07, 2009 at 05:10 AM #

  244. A crystal clear explanation of REST!

    Ahmed on Saturday, January 10, 2009 at 07:38 AM #

  245. Awesome explanation. How about an explanation on WSDL

    Roshan on Tuesday, January 13, 2009 at 10:21 AM #

  246. Nice explanation. As for the sexism, yes, definitely present as subtext.

    Sexism is so pervasive that it is very difficult to prevent it from creeping into our discourse. So, it is to be expected, and is no great cause for shame, so long as we do our best to detect and avoid it. You seem to have a healthy attitude in your willingness to engage in introspection and self-analysis on that point.

    Elite groups project control upon others in part through their control of information, and the privilege enjoyed by software developers is in large part due to the advantages that their services provide to such elites in their use of proprietary knowledge to control people and resources. Sexism is a form of hierarchical power relationship, and so it is not surprising that the technical information held by a software developer, related as it is to the developer’s power in the larger world, could become a means for asserting one’s superiority within a private relationship. Naturally, any kind of power play in a relationship, as in the larger world, tends to prevent the oppressed party from realizing its full potential, which is ultimately a loss to all those involved.

    I would add that the software and engineering professions themselves have a long history of discrimination against women, the overt expression of which has diminished, but which has persisted nonetheless in more covert forms.

    Carl on Saturday, January 17, 2009 at 03:49 AM #

  247. I would have lost her in the first answer… :(

    Matias Paterlini on Thursday, January 22, 2009 at 09:14 PM #

  248. I loved this description and it helped a lot. This is exactly how my wife would be except she’d tell me to shut my pie hole after ¼ of it. :o)

    Patrick on Sunday, January 25, 2009 at 08:54 AM #

  249. Good article,

    but I have the strange deja-vu feelings here, like REST is something which already was invented.

    Why not use existing WSDL standard and WSDL based web service with HTTP GET & POST Binding? Obviously you avoid all SOAP complexity, and will have much more then REST service, because you have all data definitions too? Then based on that we can create some XML standards to: “Deciding what the data should look like?”

    In my opinion it will be better to focus on “what the data should look like” part because everything else is just the tool and for me realy does not matter what you will use (HTTP protocol, or some other) if you can have data exchange format. Which of course is something like MathML for mathematics and CellML for biology. And a lot of other MLs here: http://www.linuxfoundation.org/en/Accessibility/Handlers/References/SMLs

    I don’t thing it is possible to decide “what the data should look like” generally for everything in this world, so I am afraid to disappoint you guys, but the way I see this REST thing is like reinventing the wheel again.

    Maybe I am too old now but every 20 years the same things are invented again, like SOA, AJAX, REST and so on. Frankly those are just marketing hypes and just can’t stand them :–)

    Valko on Monday, January 26, 2009 at 05:26 AM #

  250. This is a great reference actually worked with my wife as well, She is not in IT but very Savvy. This really resonated with her.

    Kartik Kanakasabesan on Wednesday, January 28, 2009 at 12:54 PM #

  251. The “I don’t get it”’s made me laugh.

    Luke on Sunday, February 08, 2009 at 08:13 AM #

  252. Wanted to find out more about REST after hearing about it from a colleague two weeks back and after so many readings, this article finally made it all so clear. Glad I found it and thanks for sharing the conversation.

    Yusoff on Thursday, February 12, 2009 at 02:27 PM #

  253. I got here from StackOverflow and was drawn by the alluring title. Great piece of writing! I choose to believe that Ryan’s wife exists and she actually cares about what he is thinking about because she cares about him. I respect her for taking the time to talk with her husband about something that he enjoys. And I certainly respect him for applying himself to invent and record a fine introduction to REST. I should accuse you both of being humanists and then all the dogs on the internet will start yelping about canine stereotypes.

    Mike Bonnell on Sunday, February 15, 2009 at 07:19 PM #

  254. Too long of a conversation, takes time to get to the point, had to scroll down every now and then after losing patience. However I would admire a boyfriend/husband who would take this much time explaining geeky stuff to me. Not sexist at all.

    Anon girl on Wednesday, February 18, 2009 at 12:05 PM #

  255. Enjoyed this refreshing approach for giving an overview of REST. Well done.

    Cheers.

    Kaz Chehresa on Wednesday, February 18, 2009 at 10:00 PM #

  256. The best explanation I’ve come across. :) Loved it

    Lavina on Sunday, February 22, 2009 at 10:45 PM #

  257. “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction.”

    -Albert Einstein

    Jay on Tuesday, February 24, 2009 at 02:45 PM #

  258. Brilliant. This needs to be shared to all non-techie spouses… and people in general. This architecture definitely needs to be what is used, all the time. Your explanation of how machines talk to each and how they would be able to talk to each “trivially”, given machine readable representations is a strong message. More people need to read this and understand that concept. It will make the flow of data that much better and cogent.

    Well done.

    Byron on Tuesday, February 24, 2009 at 09:30 PM #

  259. Well I’m a female software developer who have often in my life encountered people (men, for the most) who assume I’m lesser intelligent, presumably because of the combination blond + female. They usually tend to over-explain all kinds of things, and it really irritates me. This article irritated me the same way. The wife appears stupid and I’m worried we get this effect, at least on a subconscious level: http://xkcd.com/385/

    Teras on Tuesday, March 03, 2009 at 12:36 AM #

  260. get, put, delete, simplest way of sharing the data universally, good article : )

    M.Naveen Swamy

    M.Naveen Swamy on Thursday, March 05, 2009 at 10:02 AM #

  261. Yes it is sexist. I’m looking for a simple explanation of REST. So I google for it and I see various articles on it. What thought is supposed to go through my head when I see the title of this piece (before I start reading it)? “Oh, he’s explaining it to his wife, well that will be difficult to follow because everyone knows that wives are CS geniuses so this explanation will be terse and abstract — let me try to find a different article”?

    No, that’s not the idea you’re trying to communicate, is it? The idea you’re trying to get across is “Oh, well this is obviously some CS guy explaining REST to his wife and everybody knows wives don’t know jack about computers, great, this will be a easy-to-follow simple explanation of the concept”.

    Sorry, you struck out with this one. And the explanation really isn’t that great either — still pretty f**ing vague, with no real specific examples showing step-by-step how an interaction between two computers communicating with REST would actually work.

    Oh, and by the way, my wife is a lot smarter than me, and doesn’t know shit about computer science (because — guess what? she’s just not that interested in it) — but when I explain stuff to her it usually lasts about 2 or 3 minutes before she says “ok, got it” and it’s the end of the conversation. That is, when I understand it myself enough to explain it right and not leave out essential details.

    I hate you and this article.

    circle on Thursday, March 05, 2009 at 11:22 AM #

  262. Hey circle, of course your wife is smarter than you. She’d HAVE to be smarter than you.

    circle-hater on Saturday, March 07, 2009 at 04:58 AM #

  263. Note that Ryan admitted that “it does seem kind of sexist”. So, why does an audience of mostly men subsequently attempt to talk him out of his opinion? Ladies, I’m sure you’ll have no trouble answering that question. It’s interesting to me and, somewhat ironically, Ezani that a few of the suggestions on how to erase the sexism debate include changing the wife character to “grandpa”, “an 11 years-old [sic] boy”. Talk about sabotaging your own case. To circle-hater: you’re absolutely right. And I hate you, too.

    circle's wife on Saturday, March 07, 2009 at 11:46 AM #

  264. This might have been a good article had it been written five years ago. In 2009, it’s sophmoric and cheesy.

    ROA is Betamax, SOA is VHS. ROA is Haskell, SOA is C#. ROA is better, but who friggen cares? Both approaches accomplish the same damn thing, even if SOAP sucks. The automated tooling around SOAP hides much of it’s warts and complexities.

    So who’s going to build a transaction monitor for REST services?

    PS – computers will still suck even in a RESTful world.

    homebrew on Sunday, March 08, 2009 at 09:08 PM #

  265. hombrew said:

    This might have been a good article had it been written five years ago.

    :)

    Ryan Tomayko on Monday, March 09, 2009 at 12:21 AM #

  266. Ryan,

    I have joined this discussion late, so I am sorry. My goodness, what you two have had to put up with. However, this is the mark of a very good, and very thought provoking entry. Well done.

    I would, though, like to bring up a point that I think is weak in your otherwise excellent presentation of REST. Like the Semantic Web, you seem to trivialize some rather complex issues (see http://www.shirky.com/writings/semantic_syllogism.html). You associate, as it pretty common, REST resources with nouns, and GET, PUT, POST and DELETE with verbs. The problem with this analogy is that in any real language nouns and verbs are really very complex things. It is not their “nouness” nor their “verbness” that is important, but how they are used in language. Also, as we all know, there is not just one language, but an awful lot of them. Also, even the same nouns and verbs don’t function in different languages in the same way. This is why translation is so difficult.

    The point of this is that your basic point in this post, as I understood it, was not just that REST is good — and I agree with you on this point, but that what is needed is universal nouns and universal verbs so REST could actually be much better. The problem with this is that even though we could, in principle, give every web resource a unique URL, that does not mean that it would have a unique identity. It would no more be a noun in your sense than “Wife” is a simple and universal noun in your blog entry (as the comments so clearly show). Web resources just are not simple nouns in this sense, any more than any noun is. They are very complex presentations, which become even more complex as soon as they are accessed and used.

    The point is not to universalize these nouns, but to allow the PUT and GET to be more two-way. This is also a RESTful perspective, but one that recognizes the importance of REST in a web or use (see http://broadcast.oreilly.com/2009/02/webhooks-syndication-and-the-p.html for a web hooks perspective on this).

    Thanks for getting us all to think hard about this important issue.

    Robin Boast on Monday, March 09, 2009 at 04:11 AM #

  267. Great post. =)

    r0ckf3l3r on Wednesday, March 11, 2009 at 10:23 AM #

  268. This the the best explanation of REST I’ve ever read, thanks.

    AK/ on Wednesday, March 11, 2009 at 05:03 PM #

  269. Simple but well explained. Thanks.

    Ahtarman on Tuesday, March 17, 2009 at 02:26 PM #

  270. Hi Ryan, thanks for the wonderful and easy-to-understand explanation about the principles of REST!

    Xiaoyu on Thursday, March 19, 2009 at 03:00 PM #

  271. Nice overview explanation.

    On the same topic, I really liked this article: Explaining REST and Hypertext: Spam-E the Spam Cleaning Robot

    anonymous coward on Monday, March 23, 2009 at 02:30 AM #

  272. @hombrew: I love the fact that Ryan didn’t even have to respond to your message to make a joke about your obvious lack of actually reading the article, in which the year it was written (2004) is clearly displayed.

    I’ve been (non-heatedly) debating the SOAP/WS-*/REST with the rest of my group and I think this is a brilliant way to lay this out for newbies.

    Even if it is five years old!

    Josh on Tuesday, March 24, 2009 at 11:19 AM #

  273. I enjoyed reading this, good effort :D

    8r34d on Tuesday, March 24, 2009 at 03:12 PM #

  274. Smart and cool article! I want to translate it to Korean, if there is no Korean version of it yet. thank you! :D

    Jae Soung on Tuesday, March 24, 2009 at 10:33 PM #

  275. oh, for crying out loud, people…get over your own inherent gender-bias…he could have said “explaining it to my kid” of “to a visual designer” – the point is it’s not sexist, it’s simplified.

    test on Thursday, March 26, 2009 at 08:53 AM #

  276. Thanks for this very nice post. This is one of the best and most useful explanations of REST I have ever come across. Thanks – Sandesh

    Sandesh on Thursday, March 26, 2009 at 10:00 PM #

  277. Kind of a layman’s type of conversation. Could have been worse.

    jrc on Saturday, March 28, 2009 at 06:36 AM #

  278. Excellent way to decipher REST. I wish you talk to your wife often :–)

    -Sathyan

    Sathyan Catari on Friday, April 03, 2009 at 12:00 PM #

  279. Great post, learned something and had a good laugh! I often have similar talks with my girlfriend, your wife seems to understand it all pretty well… I’m having trouble explaining how a hard disk works (economy majors heh :) )

    Dries on Saturday, April 04, 2009 at 02:57 AM #

  280. Only One Word Describes This…….

    AMAZING!!!!!!

    Listen Secure on Sunday, April 05, 2009 at 09:05 PM #

  281. I’d normally call this sexist, but women really are that stupid. ;D

    lol on Monday, April 06, 2009 at 05:10 PM #

  282. Dude awesome post,i just stumbled to this page, but the way you explained REST is so clear great job keep on with it.

    ROO on Monday, April 06, 2009 at 10:57 PM #

  283. So thats what nouns and verbs are!

    rur on Tuesday, April 07, 2009 at 03:25 AM #

  284. Very fun way to GET a REST !

    Mozart Brocchini on Thursday, April 09, 2009 at 07:10 AM #

  285. This is a ‘Great’ explanation about REST! I am a great fan of you.

    Sachin Mali on Thursday, April 09, 2009 at 03:25 PM #

  286. Awesome post! Had never come across a more simplistic starter on REST that this one before. The analogies are fit and funny. This one did clear up some cobwebs in my head!

    Ashish on Sunday, April 12, 2009 at 02:20 AM #

  287. Great article and very very informative!

    I liked comment #280 :–)

    MP on Sunday, April 12, 2009 at 10:34 PM #

  288. My wife is reading it and she doesn’t think its sexist either. Neither do my daughters. They think it is what it is informative.

    Some people….geez…whoever made the sexist remark needs a cyber smack lol

    Garret Belisle on Monday, April 13, 2009 at 06:23 AM #

  289. I Personally Don’t Understand The Blogpost. But, I’m Not THAT Smart.

    Aslinn Cullen! on Wednesday, April 15, 2009 at 03:51 PM #

  290. See, this is why I married another computer scientist.

    Allen on Saturday, April 18, 2009 at 09:32 PM #

  291. You are a master in ‘The art of Explaining’

    POST-to-DELETE on Monday, April 27, 2009 at 03:13 PM #

  292. That was really good, I was getting confused by the wikipedia articles on REST and RESTful, between SOAP and RPC and REST. thank goodness they link to somewhere with some content. Consider this layperson satisfied.

    Andrew on Tuesday, April 28, 2009 at 09:17 AM #

  293. Anyway, the funny thing is that I wasn’t really trying to explain anything at first. It started out as a bit of joke — a be careful what you ask for type thing. But then she says, “Oh, I get it.” and I so I kept on going and the next thing I know we’re talking about polymorphism and URL canonicalization and all kinds of crazy shit.

    She gets me going on purpose just so she can see my arms waving and the vein pop out of my head while I’m trying to describe this stuff. I don’t think she really pays all that much attention to what I’m actually saying.

    — Ryan Tomayko on Wednesday, September 06, 2006 at 06:20 PM #

    Wow, this was written five years ago; glad to see it’s still getting lots of attention! This is very helpful in explaining REST to people.

    I’m in a very similar situation with my girlfriend who also sometimes hovers over my shoulder and playfully asks what I’m doing. Then I go on some nerdy rant in full technical detail, explaining the merits of one thing over another…

    And as far as sexism goes, that’s absurd. You could easily swap sexes and have a similarly playful exchange!

    Shawn Wilson on Thursday, April 30, 2009 at 10:52 AM #

  294. Man amazing.. has been looking for this for a lot of days.. now I can understand REST easily .. :)

    Harsha on Thursday, April 30, 2009 at 10:10 PM #

  295. This article kind of leaves me to believe that REST is HTTP (and that somebody outside of IT would care enough to listen to it). That can’t be it. I must search further for answers. Nice job, though. Now I know who Roy Fielding is.

    Tom Cervenka on Tuesday, May 05, 2009 at 10:42 AM #

  296. Thanks a million, Ryan. I understand REST at once. When the student is ready the master comes along. Namaste. Steve.

    Lightpourer on Saturday, May 09, 2009 at 02:28 PM #

  297. You sure you weren’t talking to your 10 year old kid? My GF would kick my butt for this tone ;)

    Philipp on Tuesday, May 19, 2009 at 12:57 PM #

  298. During a job interview I was asked if I had ever worked with REST services. I didn’t want to simply say no, so instead I said “I know a lot about it, I’ll download it later and learn how to work with it”. This was probably much worse than just simply saying no. Before reading this post, I had always thought of REST in a simplistic manner…an extension or framework you could use in order to exchange data between systems. I wasn’t entirely off with that, however I missed the bigger picture which is that the net is REST.

    Jason on Wednesday, May 20, 2009 at 11:11 PM #

  299. Good overall explanation from a 10,000 ft level… and very entertaining for an article on computer protocols.

    Bored At Work on Wednesday, May 27, 2009 at 06:39 AM #

  300. Very good explanation, much easier to understand that Wikipedia’s! Thank you!

    JC on Thursday, May 28, 2009 at 07:22 PM #

  301. tard

    jew on Friday, May 29, 2009 at 09:15 AM #

  302. This was a really nice post! Reminded of me explaining search trees, sorting algorithms and formal logic to my girlfriend (who works in the book industry). Sometimes, she would get it quicker than I did. :)

    Pedro on Thursday, June 04, 2009 at 06:36 AM #

  303. It’s cool, easy to follow and understand. Nice post!

    cizium on Friday, June 12, 2009 at 07:35 AM #

  304. Thanks for the easy-to-understand REST explanation.

    Those of you commenting on sexism in the post – get a grip. Get off the internets, it’s not for you. Stop trolling and looking for a place to feel important.

    Thanks again, Ryan.

    Daver on Friday, June 12, 2009 at 12:06 PM #

  305. Thanks. I had been fretting over REST like it was all schmancy, and really it was the foundations of HTTP I had once wondered “how come we never use this?” I mean GET sure. POST sure. PUT? never. DELETE — are you crazy? but now on this project (RAILS) …. looking forward to it!

    David G. on Saturday, June 20, 2009 at 08:14 PM #

  306. This is great. Pretending you have a wife is a really cool way of writing an explanation for REST!

    Bradley Cole on Sunday, June 21, 2009 at 02:48 AM #

  307. tldr

    meh on Sunday, June 21, 2009 at 05:37 PM #

  308. Pretending you have a wife really is an original way for writing.

    shawn austin on Monday, June 22, 2009 at 03:21 AM #

  309. Great post and awesome explanation! I did not see it as sexist at all.

    Pamela on Monday, June 22, 2009 at 10:07 AM #

  310. This is call creativity at its best … Great explanation in very simple way. Good Work.

    kashyap parmar on Tuesday, June 23, 2009 at 09:33 PM #

  311. This is a great way of explaining REST. Thanks!

    Moazzam Khan on Thursday, June 25, 2009 at 09:34 AM #

  312. Excellent Post Ryan. Few people have both the ability to correctly understand a given technical topic and clearly communicate their understanding to others. Fewer still have the knack for reducing the complexity without appearing patronizing. Good work indeed!

    Amit Naik on Tuesday, June 30, 2009 at 04:47 AM #

  313. Loved the article. Didn’t have a clue about rest before I read it.

    To all the people calling the article sexist; why did you (the politically correct) assume that his wife was female in the first place, the author did not mention the sex of his wife in the post and she could have been male (married gay couple: Yes it happens in the real world!), so who are the sexists after all.

    WTF on Wednesday, July 01, 2009 at 08:24 AM #

  314. Excellent! I just had to start working on REST and I’m happy to have read this post which explains me about REST such a simple manner. Great Job, Ryan!

    Tilak on Tuesday, July 07, 2009 at 11:44 PM #

  315. OMG. My wife is a nurse and I get the dumbed down version of why somebody died in recovery or had to be returned to surgery because of something a nincompoop doctor did. I’m not in the medical profression (thank God) and she’s not an IT person. We’re busy and I don’t have time to get a medical degree and she doesn’t have time to get an IT degree. If we don’t dumb our work things down to each other we wouldn’t speak at all.

    “So, honey, what’s the white count got to do with it?”

    Excellent explanation and a ludicrous number of posts by complete ninnies.

    willy on Thursday, July 09, 2009 at 07:31 PM #

  316. Great work!! Well to be honest, you can write different other useful explanations too.. Great explanation to REST..

    Maddy on Thursday, July 09, 2009 at 11:26 PM #

  317. Excellent…made things simple

    priya on Sunday, July 12, 2009 at 01:46 AM #

  318. This is awesome man !!! Simply outstanding. I devoted my 8-10 hours on understanding REST but the articles I found were nowhere even close to this.

    Vaibhav on Thursday, July 16, 2009 at 01:43 AM #

  319. Ryan, your post is awesome, your responses to comments are awesome, and Sinatra is awesome.

    Brianc on Thursday, July 16, 2009 at 12:43 PM #

  320. I don’t believe this conversation. Now, if you want to say this is a fictional and fictionally useful conversation with ‘my wife’? Then fine. I’m married. There is noooooooooooo way you actually had this conversation with your wife. Respond to me and I will not respond. I will not argue with a mad man. EOS/EOF

    Ryan Hamel on Thursday, July 16, 2009 at 06:31 PM #

  321. An amazing read there. Loved the way you penned it down Ryan.

    I hope my wife would understand the same when I tell something as geeky as this.

    Team Nirvana on Friday, July 17, 2009 at 01:46 AM #

  322. The concept is indeed ‘Human understanable’ besides ‘Human readable’. Excellent!!

    mubasher on Saturday, July 18, 2009 at 02:58 PM #

  323. Very expressive way to explain a concept. Very Different from the usual junk that people write about REST without understanding about it well…

    Vishnu on Sunday, July 19, 2009 at 01:16 PM #

  324. Thanks Ryan!. A very nice explanation indeed. Kudos :–)

    • Asit

    Asit on Tuesday, July 21, 2009 at 10:51 AM #

  325. I pity you and your wife circle, I hope you can one day grow up to be normal, balanced people and get over your inferiority complex.

    circle_pitier on Tuesday, July 21, 2009 at 11:38 AM #

  326. Wow! This makes sense to me now and I’m not even a woman! JK ladies. but it does make sense and I’m going to look for ways to incorporate this into my current project.

    Thanks!!

    Rich on Monday, August 03, 2009 at 07:51 AM #

  327. shrug I didn’t think the post was sexist, but I do think Pierre’s comment was. Pierre said: “I didn’t think your post was sexist. For Pete’s sake lighten up people! Fact is, it’s a very common scenario as described in this post. If the author would have pretended to be a woman explaining it to her non-tech husband, it would only be patronizing, if anything, and you’d have to be naive to buy it.”

    Why, Pierre, would the above conversation be patronizing if explaining to a man, but it’s fine explaining to a woman? It shouldn’t be patronizing to either. And a woman explaining something to man who isn’t in her field shouldn’t be laughable either.

    Anonymous Coward on Wednesday, August 12, 2009 at 03:16 AM #

  328. WTF: because if they were a married gay couple, he would’ve said “husband”?

    (oh, I’m the AC above…didn’t realize that box down there that just has “—–” was for name)

    Mackenzie on Wednesday, August 12, 2009 at 03:18 AM #

  329. “If the author would have pretended …”

    This is a very common grammatical mistake. The “would” has no place here; I urge you to instead write: “If the author had pretended …”

    grandma on Friday, August 14, 2009 at 01:31 AM #

  330. So we don’t need any other protocols but http? Involved way of making a point, but I can respect the effort that went into it. Ryan can you please explain to your wife the advantages of lift/scala on the GAE vs. python or using a different framework from django like web2py. I’m very confused on real world applications (learning from scratch) and could use some help.

    Mark Essel http://www.victusspiritus.com on Friday, August 14, 2009 at 05:23 AM #

  331. Amazing post! Any one claiming that this post is sexist needs to get their head out of their ass and wake up to the real world of the way things and people work. No one would have said anything if it was titled the other way around.

    Recontemplations@gmail.com on Friday, August 14, 2009 at 06:27 AM #

  332. How silly that you have to explain how this article isn’t sexist. Someone is always bound to take a negative spin on anything.

    Great job explaining REST in simple terms. I will now explain REST to my brother and/or sister the way you just did to your wife. Actually, I will explain this to my team who is still trying to learn REST as I add support for it in our product.

    Thanks!

    Jossie on Friday, August 14, 2009 at 08:55 AM #

  333. I believe the universal term I’ve heard is “If your mother or grandmother understands it, then anyone can” And frankly, I see that as a good explanation for anyone or their children :)

    Christopher Kusek on Friday, August 14, 2009 at 10:03 AM #

  334. Now, that’s a wonderful way of teaching computing concepts. I hope your wife asks more technical questions.

    Mohit Soni http://www.mohitsoni.com/ on Friday, August 14, 2009 at 01:39 PM #

  335. I read 335+ comments just to see how shrill the sexist claims would get.

    My wife is at least as smart as I am, but she knows next to nothing about what I do. Similarly, I, she.

    The relevance of REST is a pretty abstract thing — I wouldn’t view the presentation format as “for dummies” so much as “for another person who’s smart enough to generalize a set of preexisting comprehensions and apply them to a new (to them) area”. Specific descriptions are usually much simpler than general ones (C.f. Einstein, relativity), but smart people crave the general ones because they offer a deeper understanding of the current topic and of the world.

    Also, I’m surprised that in 335+ comments, no one has mentioned the resemblance to a certain classic computer science book regarding a sometimes-difficult-to-grasp but super-powerful language from the early days of computing yet still retains huge relevance today. Coincidentally, probably, the title of that book could be interpreted as condescending too. Anyone?

    Andrew on Friday, August 14, 2009 at 02:27 PM #

  336. You’re not married..

    Anonymous Coward on Friday, August 14, 2009 at 04:01 PM #

  337. I really hope your wife was just being patronizing that whole time.

    Anonymous Coward on Friday, August 14, 2009 at 07:17 PM #

  338. I like how while you are “Ryan”, the one you talk to is just called “Wife”. Hilarious!

    Anonymous Coward on Friday, August 14, 2009 at 07:19 PM #

  339. How did they come up with the verb “POST”? That seems more of a metaphor to me, for posting an item in the mail. Or maybe posting something to a wall or posting an advert in a magazine.

    It doesn’t seem to match up with what you’re doing with HTTP in that sense.

    Chris on Wednesday, August 19, 2009 at 07:28 PM #