New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't use the term "caching" in our docs #469

Open
arschles opened this Issue Aug 13, 2018 · 8 comments

Comments

Projects
None yet
4 participants
@arschles
Collaborator

arschles commented Aug 13, 2018

Since code/metadata isn't evicted, it's technically the wrong term

@arschles arschles changed the title from Don't use the term " to Don't use the term "caching" in our docs Aug 13, 2018

@robjloranger

This comment has been minimized.

Show comment
Hide comment
@robjloranger

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?

Member

robjloranger commented Aug 13, 2018

I think Brian mentioned too that 'registry' is the wrong term. The question then, how should we refer to Athens?

@robjloranger

This comment has been minimized.

Show comment
Hide comment
@robjloranger

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.

Member

robjloranger commented Aug 13, 2018

I guess it's really a repository in some ways. Not a version control repository, but a software repository.

An immutable module repository.

@arschles

This comment has been minimized.

Show comment
Hide comment
@arschles

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"?

Collaborator

arschles commented Aug 14, 2018

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"?

@arschles arschles added the docs label Aug 15, 2018

@michalpristas

This comment has been minimized.

Show comment
Hide comment
@michalpristas

michalpristas Aug 15, 2018

Contributor

datastore seems fine 👍

Contributor

michalpristas commented Aug 15, 2018

datastore seems fine 👍

@robjloranger

This comment has been minimized.

Show comment
Hide comment
@robjloranger

robjloranger Aug 15, 2018

Member

👍 datastore

Member

robjloranger commented Aug 15, 2018

👍 datastore

@glb

This comment has been minimized.

Show comment
Hide comment
@glb

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?

@arschles

This comment has been minimized.

Show comment
Hide comment
@arschles

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?

Collaborator

arschles commented Oct 11, 2018

@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

This comment has been minimized.

Show comment
Hide comment
@glb

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment