# 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 61083
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=34691
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=34791
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=34591
@darch If that's intention, that's fine π However it is visually different to tell apart the 'In Reply To ..." with for example an actual quote:
> This is a quote...
Can we do something here?
@darch If that's intention, that's fine π However it is visually different to tell apart the 'In Reply To ..." with for example an actual quote:
> This is a quote...
Can we do something here?
Ahh I see! I'll jump on in 29mins π
Ahh I see! I'll jump on in 29mins π
@mckinley In that case maybe we should adopt the GoldMark library which I think implements CommonMark?
@mckinley In that case maybe we should adopt the GoldMark library which I think implements CommonMark?
Probably yhe sanitizer doesn't allow it π€ (for web)
Probably yhe sanitizer doesn't allow it π€ (for web)
@mckinley It actually did work in the mobile app Goryon
@mckinley It actually did work in the mobile app Goryon
@mckinley So... What are you proposing exactly? π€ If not some kind of metadata field declaration?
@mckinley So... What are you proposing exactly? π€ If not some kind of metadata field declaration?
@akoizumi Yeah there a few things that are broken but most things are okay π
@akoizumi Yeah there a few things that are broken but most things are okay π
In fact even in this Yarn, the whole Image Gallery feature that @ullarah originally did is not completely broken π
I'll let you ponder on that for a while, but we _should_ probably do something about this before cutting a new release for sure π
In fact even in this Yarn, the whole Image Gallery feature that @ullarah originally did is not completely broken π
I'll let you ponder on that for a while, but we _should_ probably do something about this before cutting a new release for sure π
@mckinley We've talked about this once before and in fact even tried to formalize it but in the end we couldn't agree on a way to do it or even if it was a good idea... Worth revisiting this again? Like @lyse I've also looked at JSON Feed and wasn't entirely convinced either.
@mckinley We've talked about this once before and in fact even tried to formalize it but in the end we couldn't agree on a way to do it or even if it was a good idea... Worth revisiting this again? Like @lyse I've also looked at JSON Feed and wasn't entirely convinced either.
@lyse
> We definitely need some feed normalization database, too many broken mentions out there
What if we use some kind of heuristics based on a client's cache? Or some kind of similarity search? Hmm π€
@lyse
> We definitely need some feed normalization database, too many broken mentions out there
What if we use some kind of heuristics based on a client's cache? Or some kind of similarity search? Hmm π€
@darch Also the pop-up when you click on external links in a Twt is broken. I tried to for example in the Twt (screenshot attached) and it didn't work :/
@darch Also the pop-up when you click on external links in a Twt is broken. I tried to for example in the Twt (screenshot attached) and it didn't work :/
@akoizumi Sorry man, I looked at this briefly last night when I went to bed (on my phone) but I "didn't get it" π
Sorry!
@akoizumi Sorry man, I looked at this briefly last night when I went to bed (on my phone) but I "didn't get it" π
Sorry!
@lyse Yeah I agree, and that does happen.
@lyse Yeah I agree, and that does happen.
It's also been merged and my pod upgraded π
It's also been merged and my pod upgraded π
@darch There are a few minor regressions. But maybe they were intentional? The "In-Reply-To" used to limit the text to some width and use an ellipsis via CSS to cut it off a bit.
@darch There are a few minor regressions. But maybe they were intentional? The "In-Reply-To" used to limit the text to some width and use an ellipsis via CSS to cut it off a bit.
π Hey all users of this pod (twtxt.net -- I just merged @darch's PR that replaces PicoCSS with SimpleCSS. You _may_ want to refresh or clear your browser cache to get the new look π
π Hey all users of this pod (twtxt.net -- I just merged @darch's PR that replaces PicoCSS with SimpleCSS. You _may_ want to refresh or clear your browser cache to get the new look π
@lyse Hmmm good points but yeah it depends on the program π
@lyse Hmmm good points but yeah it depends on the program π
Somehow I think "influence" is the wrong word here π
Somehow I think "influence" is the wrong word here π
@mckinley Looking better and better all the time π
@mckinley Looking better and better all the time π
@tkanos Haha that's amazing work π And those sort of numbers more-or-less line up with the [search engine and crawler[(https://search.twtxt.net/stats) (_which needs a bit more attention and love, maybe some more features too?_)_
@tkanos Haha that's amazing work π And those sort of numbers more-or-less line up with the [search engine and crawler[(https://search.twtxt.net/stats) (_which needs a bit more attention and love, maybe some more features too?_)_
> Bosses Think Workers Do Less From Home, Says Microsoft An anonymous reader quotes a report from the BBC
Bosses are idiots. This kind of mentality is both outdated and stupid. For _some_ of us we actually work longer hours and get more done with less distractions. Can we stop using the term "boss" and "manager" already FFS?! π€¦ββοΈ Here's an idea, be a leader, help those around you, lead by example. Ugggh "middle management" π€¬
> Bosses Think Workers Do Less From Home, Says Microsoft An anonymous reader quotes a report from the BBC
Bosses are idiots. This kind of mentality is both outdated and stupid. For _some_ of us we actually work longer hours and get more done with less distractions. Can we stop using the term "boss" and "manager" already FFS?! π€¦ββοΈ Here's an idea, be a leader, help those around you, lead by example. Ugggh "middle management" π€¬
@lyse Yeah I agree errors should be tested too. That's why Main() has the func Main(w io.Writer, args []string) error π
So you _can_ actually assert on the error returned. For a CLI however, I'm not particularly a fan of logging errors to stderr too much (if at all). And re go-cmdtest FWIW a Terminal combines stdout and stderr too by default when displaying the output of a program π
-- However I filed an issue against the cmdtest project and now I'm not so sure I want to continue using it, I _may_ as well just figure out how to run the test binary under coverage and write the tests myself in Go.
@lyse Yeah I agree errors should be tested too. That's why Main() has the func Main(w io.Writer, args []string) error π
So you _can_ actually assert on the error returned. For a CLI however, I'm not particularly a fan of logging errors to stderr too much (if at all). And re go-cmdtest FWIW a Terminal combines stdout and stderr too by default when displaying the output of a program π
-- However I filed an issue against the cmdtest project and now I'm not so sure I want to continue using it, I _may_ as well just figure out how to run the test binary under coverage and write the tests myself in Go.
@lyse You are right of course ! π but what we're talking about here I think it's probably very experienced program is from one language coming to another language so there isn't much learning the new patterns of such? Anyway π€·ββοΈ
@lyse You are right of course ! π but what we're talking about here I think it's probably very experienced program is from one language coming to another language so there isn't much learning the new patterns of such? Anyway π€·ββοΈ
@lyse Oh btw... The reason a io.Writer is left out for "stderr" is that normally I tend to just set the logging output to os.Stderr, like log.SetOutput(os.Stderr) anyway and its not usually something I end up testing. Not sure if this is the best approach, but I'm only really interested in testing the "output"(s) and either error or non-error cases.
@lyse Oh btw... The reason a io.Writer is left out for "stderr" is that normally I tend to just set the logging output to os.Stderr, like log.SetOutput(os.Stderr) anyway and its not usually something I end up testing. Not sure if this is the best approach, but I'm only really interested in testing the "output"(s) and either error or non-error cases.
@brasshopper Bingo! That's just it π Idioms.
That's why you keep hearing about:
> Idiomatic Go
Some years ago when I still actively developed in Python i twas:
> Zen of Python
Every language has its strengths and weaknesses, like you , I _really_ hate it when the Java or C++ crowd come bring their sillyridiculouss structures to nice languages like Go π
(I felt the same way about Python 2.x -> 3.x too, I just couldn't write Python anymore π
)
@brasshopper Bingo! That's just it π Idioms.
That's why you keep hearing about:
> Idiomatic Go
Some years ago when I still actively developed in Python i twas:
> Zen of Python
Every language has its strengths and weaknesses, like you , I _really_ hate it when the Java or C++ crowd come bring their sillyridiculouss structures to nice languages like Go π
(I felt the same way about Python 2.x -> 3.x too, I just couldn't write Python anymore π
)
@eaplmx That's right π Not just my pod of course, but across the whole network of pods, some ~16 or 20 or so. I'm only actively scraping metrics from 15 at the moment, there are more out there...~
@eaplmx That's right π Not just my pod of course, but across the whole network of pods, some ~16 or 20 or so. I'm only actively scraping metrics from 15 at the moment, there are more out there...~
@abucci yarnd1 also implements WebSub too π Pods actually peer with one another and use WebSub for "feed subscriptions" to update feeds in near real-time.
@abucci yarnd1 also implements WebSub too π Pods actually peer with one another and use WebSub for "feed subscriptions" to update feeds in near real-time.
@eaplmx yarnd actually has WebMentions support. But generally this doesn't work very well as in practise I actually find WebMentions isn't something used a lot. It also has to be supported on the other wise in the first place, which a lot of feeds just aren't going to bother with. However that is one of the advantages of using yarnd, if someone does discover and -mention you, your pod will be "pinged" and it'll show up in your "Mentions" tab even if you don't follow them.
@eaplmx yarnd actually has WebMentions support. But generally this doesn't work very well as in practise I actually find WebMentions isn't something used a lot. It also has to be supported on the other wise in the first place, which a lot of feeds just aren't going to bother with. However that is one of the advantages of using yarnd, if someone does discover and -mention you, your pod will be "pinged" and it'll show up in your "Mentions" tab even if you don't follow them.
@brasshopper That's the thing I really hate the most about programming languages and the communities that that eventually evolve around them. You end up with (as you rightfully point out) with folks from other languages come in and start touting ways to do things that may have made a lot of sense in one language but not necessary another. Standards are great and all, but they also take away the creativity that we all enjoy in this field in the first place. Conventions are better IMO.
@brasshopper That's the thing I really hate the most about programming languages and the communities that that eventually evolve around them. You end up with (as you rightfully point out) with folks from other languages come in and start touting ways to do things that may have made a lot of sense in one language but not necessary another. Standards are great and all, but they also take away the creativity that we all enjoy in this field in the first place. Conventions are better IMO.
@mckinley Please π Let's see if we can get them fixed π€
@mckinley Please π Let's see if we can get them fixed π€
π₯³ π₯³ π₯³ Congratulations Yarn.social community!!! Today is a fantastic day! Why? Because we've reached a new milestone. We have reached a Monthly Active User (MAU) count of 100 π
Unbelievable! π€£ Well done all! π 
> Not that it really matters, but still π
#Yarn.social #Growth #MAU
π₯³ π₯³ π₯³ Congratulations Yarn.social community!!! Today is a fantastic day! Why? Because we've reached a new milestone. We have reached a Monthly Active User (MAU) count of 100 π
Unbelievable! π€£ Well done all! π 
> Not that it really matters, but still π
#Yarn.social #Growth #MAU
@mckinley Hmmm looks like you've found genuine bugs in our Atom output?
@mckinley Hmmm looks like you've found genuine bugs in our Atom output?
So... This PR I cut this morning adds the basic structure for e2e cli integration tests as seen in my fancy "Hello World" greeting π
-- What I like here is how straight forward it was to do π
So... This PR I cut this morning adds the basic structure for e2e cli integration tests as seen in my fancy "Hello World" greeting π
-- What I like here is how straight forward it was to do π
@tkanos Oh I see what youΒ mean... Actually integrate with a Pod's API and transparently post locally and to your feed on some pod? π€
@tkanos Oh I see what youΒ mean... Actually integrate with a Pod's API and transparently post locally and to your feed on some pod? π€
@tkanos
> then yarn integration.
Just gotta implement the Twt Hash and Twt Subject extensions π I'd love to see it also have reply and fork sub-commands π
@tkanos
> then yarn integration.
Just gotta implement the Twt Hash and Twt Subject extensions π I'd love to see it also have reply and fork sub-commands π
Hmmm no we don't... We need a "## Tools" section... @lyse ? @movq ? There _might_ already be a bunch of tools we can add to a new section...
Hmmm no we don't... We need a "## Tools" section... @lyse ? @movq ? There _might_ already be a bunch of tools we can add to a new section...
@tkanos I keep forgetting where it is π’ I _think_ we need to link it on yarn.social Hmmm do we already? π€
@tkanos I keep forgetting where it is π’ I _think_ we need to link it on yarn.social Hmmm do we already? π€
π‘ TIL: Today I learned that there is nothing special about pkg/ inside of Go projects. It is just like any other sub-package structure you _might_ otherwise define in your project. It just adds an extra part to your imports. I _think_ it's actually confusing at best and just unnecessary typing and an unnecessary sub-structure. Just keep your packages in the top-level and be done with it π
π‘ TIL: Today I learned that there is nothing special about pkg/ inside of Go projects. It is just like any other sub-package structure you _might_ otherwise define in your project. It just adds an extra part to your imports. I _think_ it's actually confusing at best and just unnecessary typing and an unnecessary sub-structure. Just keep your packages in the top-level and be done with it π
@lyse Yeah I actually use this technique a lot in GoNix for basically all the Applets. I _think_ this makes it easier to test. The cmdtest package is kind of cool though really, it basically implements the same kind of test runner as you may (or may not) have seen in the Mercurial test suite. The test files in testdata are essentially text files that look a bit like you've run something on the console and copied pasted them. This is brilliant for e2e cli integration testing π And yes it manages to run the test binary so that coverage can also be measured which is fantastic π -- Of course this does not preclude you from writing unit tests for any other parts of your package/library that have a public facing API -- But if your public facing API is _just_ the CLI then this is a perfect fit π
@lyse Yeah I actually use this technique a lot in GoNix for basically all the Applets. I _think_ this makes it easier to test. The cmdtest package is kind of cool though really, it basically implements the same kind of test runner as you may (or may not) have seen in the Mercurial test suite. The test files in testdata are essentially text files that look a bit like you've run something on the console and copied pasted them. This is brilliant for e2e cli integration testing π And yes it manages to run the test binary so that coverage can also be measured which is fantastic π -- Of course this does not preclude you from writing unit tests for any other parts of your package/library that have a public facing API -- But if your public facing API is _just_ the CLI then this is a perfect fit π
@mckinley Kind of wondering whether you'd contribute your XLST to yarnd so we can use/apply it to all Atom feeds of the Pod's timeline and User feeds (presented as Atom)? π€ Could be interesting? π€