Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upDon't use the term "caching" in our docs #469
Comments
arschles
changed the title from
Don't use the term "
to
Don't use the term "caching" in our docs
Aug 13, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
robjloranger
Aug 13, 2018
Member
I think Brian mentioned too that 'registry' is the wrong term. The question then, how should we refer to Athens?
|
I think Brian mentioned too that 'registry' is the wrong term. The question then, how should we refer to Athens? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
robjloranger
Aug 13, 2018
Member
I guess it's really a repository in some ways. Not a version control repository, but a software repository.
An immutable module repository.
|
I guess it's really a repository in some ways. Not a version control repository, but a software repository. An immutable module repository. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
arschles
Aug 14, 2018
Collaborator
sorry @robjloranger - I worded this issue poorly. I was talking about documents like http://docs.gomods.io/intro/components/#proxy-athens - where it says cache public modules.
I think it's still totally fine to call it a Proxy, and this is mutually exclusive from the registry name - I was just referring to the word "cache" in the proxy documentation.
Could we call it a "datastore"?
|
sorry @robjloranger - I worded this issue poorly. I was talking about documents like http://docs.gomods.io/intro/components/#proxy-athens - where it says I think it's still totally fine to call it a Proxy, and this is mutually exclusive from the registry name - I was just referring to the word "cache" in the proxy documentation. Could we call it a "datastore"? |
arschles
added
the
docs
label
Aug 15, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
datastore seems fine |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
|
michalpristas
added
the
hacktoberfest
label
Sep 27, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
glb
Oct 5, 2018
I wish my first contribution to this project wasn't a dissenting opinion... From what I've read so far (and I recognize that you are the actual creators here) it seems perfectly valid to talk and think about Athens as a caching proxy. Where is it written that a cache is not a cache unless it evicts data?
"How long does Athens cache content for?" "Forever!" seems like a valid question / answer?
Caching is a natural word to use for what Athens does, and it seems a bit awkward to try to avoid it.
What am I missing?
glb
commented
Oct 5, 2018
•
|
I wish my first contribution to this project wasn't a dissenting opinion... From what I've read so far (and I recognize that you are the actual creators here) it seems perfectly valid to talk and think about Athens as a caching proxy. Where is it written that a cache is not a cache unless it evicts data? "How long does Athens cache content for?" "Forever!" seems like a valid question / answer? Caching is a natural word to use for what Athens does, and it seems a bit awkward to try to avoid it. What am I missing? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
arschles
Oct 11, 2018
Collaborator
@glb thanks for commenting anyway, I'm glad you did, and welcome to Athens
I think you're technically right, and I actually like "cache" a lot also. I also agree that something like an unbounded ttl-less cache is valid. My favorite part about the entire caching nomenclature is that we can use "cache miss" and "cache fill" - which perfectly describe what Athens does on the backend when a go get comes in.
The main problem we've seen is psychological. Some people have asked us questions (both on and offline) similar to "how can Athens be immutable if it evicts modules?" I think they're assuming that "cache" means ephemeral storage of some kind.
What are your thoughts?
|
@glb thanks for commenting anyway, I'm glad you did, and welcome to Athens I think you're technically right, and I actually like "cache" a lot also. I also agree that something like an unbounded ttl-less cache is valid. My favorite part about the entire caching nomenclature is that we can use "cache miss" and "cache fill" - which perfectly describe what Athens does on the backend when a The main problem we've seen is psychological. Some people have asked us questions (both on and offline) similar to "how can Athens be immutable if it evicts modules?" I think they're assuming that "cache" means ephemeral storage of some kind. What are your thoughts? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
glb
Oct 12, 2018
Thanks @arschles ! The exact fit of the caching metaphor is what I like as well; I think calling Athens a datastore leads to more awkward questions about "how do you store stuff in it?".
Is this an opportunity to educate people that caches don't have to evict things? You could abuse the playful Q&A trope a bit with a section that says something like "Q: But don't caches evict things? A: Often, but not always! Athens is an awesome cache that assumes an infinite backing store and keeps things forever."
(You may detect a slight tinge of skepticism here, but I'm going to roll with the "builds must be reproducible forever" crowd and leave my "but projects get EOL'd all the time" hat elsewhere -- those projects can host their own Athens instance and it can get torn down with the rest of the project.)
glb
commented
Oct 12, 2018
|
Thanks @arschles ! The exact fit of the caching metaphor is what I like as well; I think calling Athens a datastore leads to more awkward questions about "how do you store stuff in it?". Is this an opportunity to educate people that caches don't have to evict things? You could abuse the playful Q&A trope a bit with a section that says something like "Q: But don't caches evict things? A: Often, but not always! Athens is an awesome cache that assumes an infinite backing store and keeps things forever." (You may detect a slight tinge of skepticism here, but I'm going to roll with the "builds must be reproducible forever" crowd and leave my "but projects get EOL'd all the time" hat elsewhere -- those projects can host their own Athens instance and it can get torn down with the rest of the project.) |
arschles commentedAug 13, 2018
•
edited
Since code/metadata isn't evicted, it's technically the wrong term