108 Matching Annotations
  1. Jan 2024
  2. Nov 2023
    1. the methods defined by HTTP are part of the Web’s architecture definition, not the REST architectural style

      See also: Roy's lamentations in "On software architecture".

    2. most folks who use the term are talking about REST without the hypertext constraint
  3. Sep 2023
  4. Jun 2023
  5. Apr 2023
    1. Clients interact with a service by exchanging representations of resources.
    2. A primary advantage of REST over HTTP is that it uses open standards, and does not bind the implementation of the API or the client applications to any specific implementation.
  6. Mar 2023
  7. Jan 2023
    1. Protecting and practicing fallow time is an act of resistance; it can make us feel out of step with what the prevailing culture tells us.

      Rest is Resistance

      Fallow time, I like that wording

  8. Dec 2022
    1. Fielding’s dissertation (titled “Architectural Styles and the Design of Network-based Software Architectures”) is not about how to build APIs on top of HTTP but rather about HTTP itself.

      I'm a big fan of how REST is explained in jcrites's comment as part of the discussion that arose on HN in response to this piece: https://news.ycombinator.com/item?id=23672561

  9. Nov 2022
  10. Sep 2022
    1. https://web.archive.org/web/20220901150728/https://flowingdata.com/2022/09/01/looking-for-meaning-in-the-everyday/

      Self assessment Vgl [[Self Pni 20141228171006]]

      Rest self care rated less meaningful. Vgl [[Rest by Alex Soojung-Kim Pang]] and eg Covey's 7th.

      Data is available, Nathan Yau made the graph from raw data.

      I wonder about the self assessment as meaningful. Meaningful to themselves or meaningful they'd expect others to perceive it as. Rest might be important, but watching tv generally seen as not meaningfull. The activity might be seen as meaningless but the purpose might be nonetheless meaningful. This is not a straightforward evaluation to make. Wonder about the actual questions asked, and how it might impact data.

  11. Aug 2022
    1. Results indicate that participants were more likely to interact with their smartphone the more fatigued or bored they were, but that they did not use it for longer when more fatigued or bored. Surprisingly, participants reported increased fatigue and boredom after having used the smartphone (more). While future research is necessary, our results (i) provide real-life evidence for the notion that fatigue and boredom are temporally associated with task disengagement, and (ii) suggest that taking a short break with the smartphone may have phenomenological costs.

      We grab our phones when tired or bored at work. But it seems to make us more tired and more bored. Does the same apply for internetbrowsing before mobile?

    1. ust an aside about "tools for thought," a burgeoning attention-sump in some circles. I seldom notice mention of the following: A walk. A shower. A good night's sleep. Introspection and reflection. I don't know that we understand "thought" well enough to design tools to improve it. But we do love our cleverness and the artifacts thereof. We can see those, and, more importantly, show them to others! We can talk about them, criticize them, modify them, endlessly.

      Dave Rogers makes the points that 1) focusing on tools is often a distraction. 2) behaviour such as walk,shower, rest are also 'tools' to aid thinking.

  12. Jul 2022
    1. When you see a job post mentioning REST or a company discussing REST Guidelines they will rarely mention either hypertext or hypermedia: they will instead mention JSON, GraphQL(!) and the like.
  13. Jun 2022
    1. The creator of GraphQL admits this. During his presentation on the library at a Facebook internal conference, an audience member asked him about the difference between GraphQL and SOAP. His response: SOAP requires XML. GraphQL defaults to JSON—though you can use XML.
    2. Conclusion There are decades of history and a broad cast of characters behind the web requests you know and love—as well as the ones that you might have never heard of. Information first traveled across the internet in 1969, followed by a lot of research in the ’70s, then private networks in the ’80s, then public networks in the ’90s. We got CORBA in 1991, followed by SOAP in 1999, followed by REST around 2003. GraphQL reimagined SOAP, but with JSON, around 2015. This all sounds like a history class fact sheet, but it’s valuable context for building our own web apps.
  14. Apr 2022
  15. www.goodreads.com www.goodreads.com
    1. <small><cite class='h-cite via'> <span class='p-author h-card'>Winnie Lim</span> in peeking into people’s routines (<time class='dt-published'>04/24/2022 02:40:01</time>)</cite></small>

  16. Feb 2022
    1. Or Google Maps?

      If you can't imagine how stuff like this would be possible, "then", as Roy Fielding quipped, "most likely you just haven’t defined enough resources".

  17. Jan 2022
    1. APIs that simply map CRUD actions to HTTP verbs have nothing to do with Application State Transfer. You can call them Web APIs or HTTP APIs, but please don’t call them RESTful.
    2. The key thing about the REST approach is that the server addresses the client state transitions. The state of the client is almost totally driven by the server and, for this reason, discussions on API versioning make little sense, too. All that a client should know about a RESTful interface should be the entry point. The rest should come from the interpretation of server responses.
    3. In fact, most people believe that to build a RESTful API you can simply create an API based on URLs and HTTP verbs. This is absolutely false. This misunderstanding is going around for too long.
    1. "links": { "deposits": "/accounts/12345/deposits", "withdrawals": "/accounts/12345/withdrawals", "transfers": "/accounts/12345/transfers", "close-requests": "/accounts/12345/close-requests" } } } The response contains these possible follow-up links: POST a deposit, withdrawal, transfer, or close request (to close the account).
    2. The client transitions through application states by selecting from the links within a representation or by manipulating the representation in other ways afforded by its media type. In this way, RESTful interaction is driven by hypermedia, rather than out-of-band information.
  18. Nov 2021
    1. Feature GraphQL REST

      GraphQL vs *REST (table)

    2. There are advantages and disadvantages to both systems, and both have their use in modern API development. However, GraphQL was developed to combat some perceived weaknesses with the REST system, and to create a more efficient, client-driven API.

      List of differences between REST and GraphQL (below this annotation)

  19. Oct 2021
    1. Climate scientist Katharine Hayhoe stresses the need for finding shared values, rather than trying to change someone’s mind, as a basis for productive conversations

      What first appears as difference may actually emerge from consciousnesses that have more in common than one first realizes. Finding the common ground, what we refer to as the common human denominators (CHD) within the open source Deep Humanity praxis becomes the critical climate change communication leverage point for establishing genuine communication channels between politically polarized groups.

      This is aligned to the Stop Reset Go project and its open source offshoot, Deep Humanity praxis that seeks conversations and personal and collective journeys to appreciate Common Human Denominators that are salient for all participants. It also underscores the value of integrating with the Indieverse Knowledge system, with its focus on symathessy embedded directly into its codebase.

  20. Sep 2021
  21. Jun 2021
  22. May 2021
    1. protocol buffers as the Interface Definition Language (IDL) for describing both the service interface and the structure of the payload messages.
    2. The gRPC infrastructure decodes incoming requests, executes service methods, and encodes service responses.

      Encoding and decoding does happen in gRPC

  23. Apr 2021
    1. What's the point of playing a game featuring fjords without also including vikings to pillage the other player's lands...I've actually developed two additional tiles for Fjords: The Dragon and The Marauding Hoard. Both do exactly that.(I've play tested them with a friend well over 40 times and we both agree that with an expanded set of Fjords tiles, these two greatly improve the game for us. I'll write the tiles up and post them to BGG... eventually)
  24. Feb 2021
  25. Dec 2020
    1. locked and limited conversation to collaborators

      Why do they punish the rest of us (can't even add a thumb up reaction) just because someone was "talking too much" or something on this issue?

  26. Nov 2020
  27. Oct 2020
  28. Sep 2020
    1. We first ran up against the power of mindset two decades ago when we began to make a case inside organizations that rest and renewal are essential for sustaining high performance. The scientific evidence we presented to clients was compelling. Nearly all of them found the concept persuasive and appealing, both logically and intuitively. We taught them very simple strategies to build renewal into their lives, and they left our workshops eager to change the way they worked. Nonetheless, most of them struggled with changing their behavior when they got back to their jobs.
  29. Jun 2020
    1. You can use any Firebase Database URL as a REST endpoint. All you need to do is append .json to the end of the URL and send a request
  30. Apr 2020
    1. hypermedia

      Hypertext is text which contains links to other texts. The term was coined by Ted Nelson around 1965 (see History ).

      HyperMedia is a term used for hypertext which is not constrained to be text: it can include graphics, video and sound , for example. Apparently Ted Nelson was the first to use this term too. https://www.w3.org/WhatIs.html

      Most Web navigation is done by clicking text-based links that open new pages in a Web browser. These links, which are often blue and underlined, are referred to as hypertext, since they allow the user to jump from page to page. Hypermedia is an extension of hypertext that allows images, movies, and Flash animations to be linked to other content.

      The most common type of hypermedia is an image link. Photos or graphics on the Web are often linked to other pages. For example, clicking a small "thumbnail" image may open a larger version of the picture in a new window. Clicking a promotional graphic may direct you to an advertiser's website. Flash animations and videos can also be turned into hyperlinks by embedding one or more links that appear during playback. https://techterms.com/definition/hypermedia

      See also hypermedia tags in hypothes.is

    1. Use a swagger or OpenAPI library to generate a schema and you’re pretty much doing what most people are doing.

      Generating RESTful schema

    2. JSON-RPC is “level 0” of the Richardson Maturity Model – a model that describes the qualities of a REST design.

      JSON-RPC.

      You can build it by:

      • using HTTP VERBs correctly
      • organising your APIs into logical "resources", e.g. ("customer", "product", "catalogue")
      • using correct HTTP response codes for interactions with your API
    3. REST is a good architectural style (and it is, a lot of the modern naysaying about REST is relatively uninformed and not too dissimilar to the treatment SOAP had before it)

      REST is still a good architectural style

    4. The basics of HTTP are easy to grasp – there’s a mandatory “request line”

      Mandatory HTTP request line:

      • verb (GET, POST, PUT and HEAD most frequently)
      • URL (web address)
      • protocol version (HTTP/1.1)

      Then, there's a bunch of optional request header fields.

      Example HTTP request:

      GET http://www.davidwhitney.co.uk/ HTTP/1.1
      Host: www.davidwhitney.co.uk
      Connection: keep-alive
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64…
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9
      Accept-Encoding: gzip, deflate
      Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
      

      Example response:

      HTTP/1.1 200 OK
      Cache-Control: public,max-age=1
      Content-Type: text/html; charset=utf-8
      Vary: Accept-Encoding
      Server: Kestrel
      X-Powered-By: ASP.NET
      Date: Wed, 11 Dec 2019 21:52:23 GMT
      Content-Length: 8479
      
      
      <!DOCTYPE html>
      <html lang="en">...
      
    5. web is an implementation of the design pattern REST – which stands for “Representational State Transfer”. You’ll hear people talk about REST a lot – it was originally defined by Roy Fielding in his PhD dissertation, but more importantly was a description of the way HTTP/1.0 worked at the time

      Origins of the REST design pattern

    6. So the web is RESTful by default. REST describes the way HTTP works.
    7. Most APIs you use, or build will be “REST-ish”.
      • You'll be issuing the same kind of "HTTP requests" as the browser
      • Mostly you'll get JSON responses (sometimes XML)
      • You can describe these APIs as JSON-RPC or XML-RPC
  31. Mar 2020
    1. OpenAPI links are different than HAL links or HATEOAS links, because these links mainly specify the "flow" throughout the API methods.

    2. OpenAPI links do not require the link information present in the actual responses

      This means that these links mostly document the way this API can be traversed.

    3. traversal mechanism between the operations
  32. Dec 2019
  33. Nov 2019
    1. REST and GraphQL are wonderful tools to create an API that is meant to be consumed by third parties. Facebook's API, for example, is consumed by ~200k third parties. It is no surprise that Facebook is using (and invented) GraphQL; a GraphQL API enables third parties to extensively access Facebook's social graph enabling them to build all kinds of applications. For an API with that many consumers, GraphQL is the fitting tool. But, to create an internal API (an API developed and consumed by code written by the same organization), RPC offers a simpler and more powerful alternative. Large companies, such as Netflix, Google and Facebook, are starting to replace REST/GraphQL with RPC for their internal APIs. Most notably with gRPC which is getting popular in the industry.
    2. RPC is increasingly used to create backend APIs as most are internal: most of the time, a backend API is consumed only by frontends developed within the same organization. In general, REST and GraphQL are the right tools if you want to create an API consumed by code written by third parties and RPC is the right tool if you want to create an API consumed by code written by yourself / your organization.
    1. The result of the uniform interface is that requests from different clients look the same, whether the client is a chrome browser, a linux server, a python script, an android app or anything else

      Reason of the uniform interface - requests from different clients look the same

    2. The client can request code from the server, and then the response from the server will contain some code, usually in the form of a script, when the response is in HTML format. The client then can execute that code

      6) Code-on-demand (optional) - when the response is in HTML format, the response will come in form of a script, which can be executed

    3. data the server sends contain information about whether or not the data is cacheable. If the data is cacheable, it might contain some sort of a version number. The version number is what makes caching possible: since the client knows which version of the data it already has (from a previous response), the client can avoid requesting the same data again and again

      5) Cacheable - client can avoid requesting the same data again, thanks to remembering the version number of the cacheable data

    4. In order for an API to be RESTful, it has to adhere to 6 constraints

      6 constraints of RESTful API:

      1. uniform interface
      2. client - server separation
      3. stateless
      4. layered system
      5. cacheable
      6. code-on-demand (optional)
    5. there might be a number of servers in the middle. These servers might provide a security layer, a caching layer, a load-balancing layer, or other functionality

      4) Layered system - there's a number of server between the server and the response

    6. Stateless means the server does not remember anything about the user who uses the API

      3) Stateless - server doesn't store any history/information of user's requests

    7. client and the server act independently, each on its own, and the interaction between them is only in the form of requests, initiated by the client only, and responses, which the server send to the client only as a reaction to a request

      2) Client - server separation - client and server act independently, communicating through requests (client) and responses (server)

    8. Uniform interface

      1) Uniform interface has 4 parts:

      1. Request to the server includes resource identifier.
      2. Response from the server includes enough information so the client can modify the resource.
      3. Request to APi contains all the information server needs to perform the request, and vice versa.
      4. Hypermedia as the engine of application state - the server can inform the client, in a response, of the ways to change the state of the web application.
    1. What the server does when you, the client, call one of its APIs depends on 2 things that you need to provide to the server

      2 things required by the server:

      1. endpoint <--- identifier of a resource (its URL).
      2. HTTP method / verb <--- operation to perform: GET, POST, PUT, DELETE
    2. The representation of the state can be in a JSON format, and probably for most APIs this is indeed the case. It can also be in XML or HTML format

      JSON, XML or HTML <--- most popular formats of state representations

    3. It means when a RESTful API is called, the server will transfer to the client a representation of the state of the requested resource.

      Reason REST is named as REST:

      *REpresentational State Transfer*

    4. RESTful web application exposes information about itself in the form of information about its resources. It also enables the client to take actions on those resources, such as create new resources (i.e. create a new user) or change existing resources (i.e. edit a post).

      RESTful web application

  34. Jun 2019
  35. Nov 2018
  36. Jun 2018
    1. 一开始数据源的上传用的是 -d @/home/centos.tar  这个选项,但是经过反复试验,这个选项TM上传文件不完整,800M的文件只能上传230M,反复查找问题也找不到,最终换成--upload-file选项,上传成功,且根据此镜像可正常启动实例
      官网
      curl -i -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -d @/home/glance/ubuntu-12.10.qcow2 $image_url/v2/images/{image_id}/file
      
      方法二
      curl -i -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" --upload-file @/home/glance/ubuntu-12.10.qcow2 $image_url/v2/images/{image_id}/file
      
    1. curl -H "Content-Type:application/json" -X POST -d 'json data' URL
      curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login
      
  37. Mar 2017
    1. I was able to take time, to chill out.   I read Tania Sheko's post 'The art of slowing down.'

      rest

    2. Rather than feeling under pressure, I felt rejuvenated.

      Rest

    3. Rather than blogging, (I was tired with blogging), I spent my time doing drawing. 

      Time Fallow Rejuvenation Learning Rest

  38. Sep 2016
  39. Sep 2015
    1. Schedule

      Let me know if I've missed anything! Feel free to link to photos, videos, send in editorial corrections, or link to blog posts you cite in your talk.

      The page will continue to change throughout the weekend, so you're input and help are very welcome!

  40. May 2015
    1. Also, it does not safeguard against tampering of headers or body.

      Doesn't TLS mitigate tampering and replay attacks?

    2. RFC 7235 - Access Authentication Framework RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication

      Further readings...

    1. if the client is incapable of working with HTTP headers

      OK... So in fact the wrapper I am implementing for recs ecommerce API is overkill - it is redundant with http. I'll keep it though, since I like to define my own error codes.

    2. I'm a big fan of the approach that Stripe has taken to API versioning -

      Ouch ! :/ I read somewhere else that this was in fact very bad practice...

  41. Feb 2015
  42. Jan 2015
    1. REST api mock yapıp test edebileceğin ortam.

      Accelerate application development Quick and easy mock RESTful API and SOAP webservices. Generate from API definitions, instant deploy, collaborative build, and debugging tools for integration.

    1. A client-side Javascript SDK for authenticating with OAuth2 (and OAuth1 with a oauth proxy) web services and querying their REST API's. HelloJS standardizes paths and responses to common API's like Google Data Services, Facebook Graph and Windows Live Connect. It's modular, so that list is growing. No more spaghetti code!

      javascript facebook client