# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 6
# self = https://watcher.sour.is/conv/5gteb2q
An interesting read about testing code using nullable states instead of mocks.

https://www.jamesshore.com/v2/projects/testing-without-mocks/testing-without-mocks
@xuu Oh man, this guys has written so many words, and there are so many "patterns" (many of which I never knew!) 🤦‍♂️ Q: Isn't most of what he's talking about effectively the same as what we do in "good" Go using interfaces and making the zero value useful? 🤔
@xuu Oh man, this guys has written so many words, and there are so many "patterns" (many of which I never knew!) 🤦‍♂️ Q: Isn't most of what he's talking about effectively the same as what we do in "good" Go using interfaces and making the zero value useful? 🤔
@xuu Oh man, this guys has written so many words, and there are so many "patterns" (many of which I never knew!) 🤦‍♂️ Q: Isn't most of what he's talking about effectively the same as what we do in "good" Go using interfaces and making the zero value useful? 🤔
@xuu Oh man, this guys has written so many words, and there are so many "patterns" (many of which I never knew!) 🤦‍♂️ Q: Isn't most of what he's talking about effectively the same as what we do in "good" Go using interfaces and making the zero value useful? 🤔
@prologic I did something similar with a external module for my work project (in python), extending a class that does nothing and implementing what you need for each "extension".

Basically I'm relying on a Polymorphic class to do it.