# 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 196329
# self = https://watcher.sour.is?offset=142025
# next = https://watcher.sour.is?offset=142125
# prev = https://watcher.sour.is?offset=141925
@chunkimo Probably lxml is still the best from memory. I don't do Python since some years now so my recommendation could be out of date.
@chunkimo Probably lxml is still the best from memory. I don't do Python since some years now so my recommendation could be out of date.
@screem No worries ๐Ÿ‘Œ Another happy Yarner with answers from around the globe ๐Ÿ˜†
@screem No worries ๐Ÿ‘Œ Another happy Yarner with answers from around the globe ๐Ÿ˜†
@screem No worries ๐Ÿ‘Œ Another happy Yarner with answers from around the globe ๐Ÿ˜†
Done ๐Ÿ‘Œ
Done ๐Ÿ‘Œ
Done ๐Ÿ‘Œ
@chunkimo Kk I'll add it to the allowed domain list ๐Ÿ‘Œ
@chunkimo Kk I'll add it to the allowed domain list ๐Ÿ‘Œ
@chunkimo Kk I'll add it to the allowed domain list ๐Ÿ‘Œ
@chunkimo It's mostly documented here: https://dev.twtxt.net/
@chunkimo It's mostly documented here: https://dev.twtxt.net/
@chunkimo It's mostly documented here: https://dev.twtxt.net/
Jinx ๐Ÿ˜†
Jinx ๐Ÿ˜†
Jinx ๐Ÿ˜†
@prologic Refurbished thinkpad from ebay is also a good option.
@screem Hmmm Framework laptop? Raspberry Pi Laptop? ๐Ÿค”
@screem Hmmm Framework laptop? Raspberry Pi Laptop? ๐Ÿค”
@screem Hmmm Framework laptop? Raspberry Pi Laptop? ๐Ÿค”
@chunkimo who owns that domain? Can it be trusted not to have multi gigabyte images hosted there. ๐Ÿ˜†
@chunkimo who owns that domain? Can it be trusted not to have multi gigabyte images hosted there. ๐Ÿ˜†
@chunkimo who owns that domain? Can it be trusted not to have multi gigabyte images hosted there. ๐Ÿ˜†
@chunkimo Ahh I see ๐Ÿ‘Œ Well Yarn pods have a ReST API too btw -- primarily used by the mobile app; what I'm on now
@chunkimo Ahh I see ๐Ÿ‘Œ Well Yarn pods have a ReST API too btw -- primarily used by the mobile app; what I'm on now
@chunkimo Ahh I see ๐Ÿ‘Œ Well Yarn pods have a ReST API too btw -- primarily used by the mobile app; what I'm on now
@chunkimo Which domain? Drop a link to one here?
@chunkimo Which domain? Drop a link to one here?
@chunkimo Which domain? Drop a link to one here?
@chunkimo Link me to one that didn't render?

Are you uploading them or linking to external images?
@chunkimo Link me to one that didn't render?

Are you uploading them or linking to external images?
@chunkimo Link me to one that didn't render?

Are you uploading them or linking to external images?
@chunkimo We already support Twtxt feeds from RSS/Atom via https://feeds.twtxt.net ๐Ÿ˜†
@chunkimo We already support Twtxt feeds from RSS/Atom via https://feeds.twtxt.net ๐Ÿ˜†
@chunkimo We already support Twtxt feeds from RSS/Atom via https://feeds.twtxt.net ๐Ÿ˜†
@screem Define cheap?
@screem Define cheap?
@screem Define cheap?
@prx Yhwre is jenny and tt ; Both TUI clients.

cc @movq for jenny and @lyse for tt
@prx Yhwre is jenny and tt ; Both TUI clients.

cc @movq for jenny and @lyse for tt
@prx Yhwre is jenny and tt ; Both TUI clients.

cc @movq for jenny and @lyse for tt
@chunkimo Looks cold ๐Ÿฅถ
@chunkimo Looks cold ๐Ÿฅถ
@chunkimo Looks cold ๐Ÿฅถ
this is by design and a security feature
this is by design and a security feature
this is by design and a security feature
@chunkimo by default pods do not permit rendering of images inline unless the operator of the pod has permitted those domains.

just let me know which domains are missing, and I'll add them!

otherwise, just upload the image using the media upload button ๐Ÿ‘Œ
@chunkimo by default pods do not permit rendering of images inline unless the operator of the pod has permitted those domains.

just let me know which domains are missing, and I'll add them!

otherwise, just upload the image using the media upload button ๐Ÿ‘Œ
@chunkimo by default pods do not permit rendering of images inline unless the operator of the pod has permitted those domains.

just let me know which domains are missing, and I'll add them!

otherwise, just upload the image using the media upload button ๐Ÿ‘Œ
[47ยฐ09โ€ฒ53โ€ณS, 126ยฐ43โ€ฒ39โ€ณW] Raw reading: 0x642D1C71, offset +/-1
@chunkimo Welcome!
@chunkimo Yup ๐Ÿ‘ŒIf you want to call that "federation" fine ๐Ÿ˜† But we don't call it that here -- It's just another Feed ๐Ÿคฃ
@chunkimo Yup ๐Ÿ‘ŒIf you want to call that "federation" fine ๐Ÿ˜† But we don't call it that here -- It's just another Feed ๐Ÿคฃ
@chunkimo Yup ๐Ÿ‘ŒIf you want to call that "federation" fine ๐Ÿ˜† But we don't call it that here -- It's just another Feed ๐Ÿคฃ
[47ยฐ09โ€ฒ11โ€ณS, 126ยฐ43โ€ฒ59โ€ณW] Reading: 0.10000 PPM
@jlj Congrats! ๐Ÿฅณ
@jlj Congrats! ๐Ÿฅณ
@jlj Congrats! ๐Ÿฅณ
@yuriichi As @jlj said Yarn.social is a few years running now ๐Ÿ‘Œ
@yuriichi As @jlj said Yarn.social is a few years running now ๐Ÿ‘Œ
@yuriichi As @jlj said Yarn.social is a few years running now ๐Ÿ‘Œ
@stigatle Same here! ๐Ÿ˜ด Was up till 3am writing up my slide deck on Go Generics ๐Ÿ˜†
@stigatle Same here! ๐Ÿ˜ด Was up till 3am writing up my slide deck on Go Generics ๐Ÿ˜†
@stigatle Same here! ๐Ÿ˜ด Was up till 3am writing up my slide deck on Go Generics ๐Ÿ˜†
Yhanks for the feedback @lyse and @xuu ๐Ÿ‘Œ It was late at night and I made a few minor errors despite reviewing twice ๐Ÿ˜†
Yhanks for the feedback @lyse and @xuu ๐Ÿ‘Œ It was late at night and I made a few minor errors despite reviewing twice ๐Ÿ˜†
Yhanks for the feedback @lyse and @xuu ๐Ÿ‘Œ It was late at night and I made a few minor errors despite reviewing twice ๐Ÿ˜†
@chunkimo In germs of "federated" yes and no. we don't use that term as it doesn't really apply for Yarn.social which uses Twtxt and has no meaning.

But you can follow feeds across pods and other self-Hosted Twtxt feeds (it's all just Twtxt) ๐Ÿ‘Œ
@chunkimo In germs of "federated" yes and no. we don't use that term as it doesn't really apply for Yarn.social which uses Twtxt and has no meaning.

But you can follow feeds across pods and other self-Hosted Twtxt feeds (it's all just Twtxt) ๐Ÿ‘Œ
@chunkimo In germs of "federated" yes and no. we don't use that term as it doesn't really apply for Yarn.social which uses Twtxt and has no meaning.

But you can follow feeds across pods and other self-Hosted Twtxt feeds (it's all just Twtxt) ๐Ÿ‘Œ
@chunkimo Welcome to my pod ! ๐Ÿค—
@chunkimo Welcome to my pod ! ๐Ÿค—
@chunkimo Welcome to my pod ! ๐Ÿค—
๐Ÿ‘‹ Hello @chunkimo, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the โจ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! ๐Ÿค—
๐Ÿ‘‹ Hello @chunkimo, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the โจ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! ๐Ÿค—
So. Some bits.


i := fIndex(xs, 5.6)


Can also be


i := Index(xs, 5.6)


The compiler can infer the type automatically. Looks like you mention that later.

Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository


func Map[U,V any](rows []U, fn func(U) V) []V {
  out := make([]V, len(rows))
  for i := range rows { out = fn(rows[i]) }
  return out
}


rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })



I am pretty sure the type parameters goes the other way with the type name first and constraint second.


func Foo[comparable T](xs T, s T) int

Should be

func Foo[T comparable](xs T, s T) int
So. Some bits.


i := fIndex(xs, 5.6)


Can also be


i := Index(xs, 5.6)


The compiler can infer the type automatically. Looks like you mention that later.

Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository


func Map[U,V any](rows []U, fn func(U) V) []V {
  out := make([]V, len(rows))
  for i := range rows { out = fn(rows[i]) }
  return out
}


rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })



I am pretty sure the type parameters goes the other way with the type name first and constraint second.


func Foo[comparable T](xs T, s T) int

Should be

func Foo[T comparable](xs T, s T) int
So. Some bits.


i := fIndex(xs, 5.6)


Can also be


i := Index(xs, 5.6)


The compiler can infer the type automatically. Looks like you mention that later.

Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository


func Map[U,V any](rows []U, fn func(U) V) []V {
  out := make([]V, len(rows))
  for i := range rows { out = fn(rows[i]) }
  return out
}


rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })



I am pretty sure the type parameters goes the other way with the type name first and constraint second.


func Foo[comparable T](xs T, s T) int
๐Ÿงฎ USERS:1 FEEDS:2 TWTS:560 ARCHIVED:63371 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
A MEO com publicidade a dizer que tem internet de velocidade supersรณnica... eles nรฃo sabem o que "velocidade supersรณnica" quer dizer, pois nรฃo?
Thank you, @prologic!
@prologic In part two, you can talk about generic types. ;-) I used them here the first time: https://git.isobeef.org/lyse/tt2/-/blob/master/ui/treeview/treeview.go
@prologic That's a cool concept! I'd love to have that at work, too.

When introducing generic functions you switched the parameter s to be the slice and not the element to search for. Maybe keep it consistent with the rest of the code samples and change s and x to xs and s. Or even better, use nicer names. :-)

Also, you might want to tell a few sentences about the ~. When I first encountered underlying types I was a bit puzzled.

Keep up the great Go talks!
Got the gui to scale properly with the window now, was easy to fix... Looks much better already!

Today was very sunny, but still extremely cold. Even below freezing in the night (-2ยฐC this night again, too). With the sun we reached 6ยฐC, but the wind was blowing good, so it didn't feel warm at all. I encountered a cool rainbow cloud again. That somehow is a real thing here lately. Also I managed to capture a few birds. Most of them aren't great, that's the best one I reckon:

Bird in a tree

And finally, the sunset made for a nice end of the day.
The GTK gui client is coming along nicely.
Added avatar support, and reply button.
It's pretty obvious that the GUI does not scale properly yet, but I'll worry about that once the last feature is added. Now I'm only missing the 'post status' gui, I need to think a bit about how I want that implemented.
Anyways - here's the latest screenshot..

It's official! ๐Ÿ‡ฌ๐Ÿ‡ง
๐Ÿ‘‹ Hello @prologic, you were web mentioned on https://twt.nfld.uk/twt/5bngpcq
๐Ÿ‘‹ Hello @prologic, you were web mentioned on https://twt.nfld.uk/twt/5bngpcq
@yuriichi Not so new, no. :) @prologic started coding in earnest back in 2020, so, yeah, some 'pods' are a few years old now. But, welcome!
[47ยฐ09โ€ฒ33โ€ณS, 126ยฐ43โ€ฒ08โ€ณW] 3638 days without news from Herve
๐Ÿ‘‹ Hello @zipmoumma, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the โจ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! ๐Ÿค—
๐Ÿ‘‹ Hello @zipmoumma, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the โจ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! ๐Ÿค—
omg. we are getting hammered by snow in Minnesnowta.
Im going to fall a sleep standing up tonight it feels like. Holy shit I'm tired today. Just one more day then it's much needed vacation time.
@prologic I wish I knew ๐Ÿคท The world is mental
Well actually today rather, today is ready tomorrow ๐Ÿคฃ Damn i need to go to bed ๐Ÿ˜ด
Well actually today rather, today is ready tomorrow ๐Ÿคฃ Damn i need to go to bed ๐Ÿ˜ด