# 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=33291
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=33391
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=33191
@ocdtrekkie It will I'd you subscribe to @abucci or my feeds 😆
@mckinley Ouch 😅
@mckinley Ouch 😅
@ocdtrekkie Feed for the pod or an individual user? 🤔
@ocdtrekkie Feed for the pod or an individual user? 🤔
Hehe 😂 Current version Git SHA 45.77.39.149 of GoNix boots up okay in Vultr which is good 😅 But I'm missing a few things, and I'm not sure if networking came up 😂

Need to build equivalents for:

- ip addr show or ifconfig
- ping

At the very least 😂
Hehe 😂 Current version Git SHA 45.77.39.149 of GoNix boots up okay in Vultr which is good 😅 But I'm missing a few things, and I'm not sure if networking came up 😂

Need to build equivalents for:

- ip addr show or ifconfig
- ping

At the very least 😂
@screem Wow 😳
@screem Wow 😳
SamHennessy/hlive: HLive is a server-side WebSocket based dynamic template-less view layer for Go.

This is _really_ interesting 😎
SamHennessy/hlive: HLive is a server-side WebSocket based dynamic template-less view layer for Go.

This is _really_ interesting 😎
Anyone else planning on coming? 🤔
Anyone else planning on coming? 🤔
Cool! 👌
Cool! 👌
[prologic/gonix: A UNIX Operating System (based on the Linux Kernel) with a Userland mostly written in Go (Golang). - gonix - Mills](https://git.mills.io/prologic/gonix)
[prologic/gonix: A UNIX Operating System (based on the Linux Kernel) with a Userland mostly written in Go (Golang). - gonix - Mills](https://git.mills.io/prologic/gonix)
5am UTC as always on meet.jit.si/Yarn.social
5am UTC as always on meet.jit.si/Yarn.social
5am UTC as always on https://jit.si/Yarn.social
Who's up for a video/audio get together today? 🤔
Who's up for a video/audio get together today? 🤔
@stigatle How can too much wind stop one from paragliding?! 😳 Iant that the idea? 😆
@stigatle How can too much wind stop one from paragliding?! 😳 Iant that the idea? 😆
@stigatle Morning! Lovely shot 👌
@stigatle Morning! Lovely shot 👌
@novaburst You still didn't tell me what it was 😆
@novaburst You still didn't tell me what it was 😆
@novaburst what was it full of?
@novaburst what was it full of?
@novaburst With what!? 😂
@novaburst With what!? 😂
@lyse Gorcha
@lyse Gorcha
@abucci Just check'n 🤗
@abucci Just check'n 🤗
@abucci Btw you know you can tweak the Max Length of posts on your pod right?
@abucci Btw you know you can tweak the Max Length of posts on your pod right?
@stigatle I always love your morning shots so gorgeous 😍
@stigatle I always love your morning shots so gorgeous 😍
Also exciting 🥳
Also exciting 🥳
@stigatle Yup not worries 👌
@stigatle Yup not worries 👌
Can I add your Pod to the list of known pods? 🤔 I will scape a couple of statistical metrics from it that measure the network size and activity 👌
Can I add your Pod to the list of known pods? 🤔 I will scape a couple of statistical metrics from it that measure the network size and activity 👌
@stigatle Oh I see ! Cool shit 👌
@stigatle Oh I see ! Cool shit 👌
@stigatle Been sick for over 2 weeks 😢🥴
@stigatle Been sick for over 2 weeks 😢🥴
@stigatle. Very beautiful 👌
@stigatle. Very beautiful 👌
@stigatle Man that's a big dog!!! 😆
@stigatle Man that's a big dog!!! 😆
@stigatle Nope working fine 🤣
@stigatle Nope working fine 🤣
@stigatle It works! What's changed? 🤔
@stigatle It works! What's changed? 🤔
@eaplmx I should be taking advice from you 🤗
@eaplmx I should be taking advice from you 🤗
@eaplmx I'm the worst person to ask 😆 Look at how slow my projects and their uptake is 🤣 And not a single one earns a single dime 🤦‍♂️
@eaplmx I'm the worst person to ask 😆 Look at how slow my projects and their uptake is 🤣 And not a single one earns a single dime 🤦‍♂️
I was gonna say the correct thing to do here normally in most cases is to put the content type encoding in the HTTP response heads
I was gonna say the correct thing to do here normally in most cases is to put the content type encoding in the HTTP response heads
Very interesting implementation 🤔
Very interesting implementation 🤔
Also the year long Timelapse is good 👌
Also the year long Timelapse is good 👌
Yeah this is pretty cool!
Yeah this is pretty cool!
@lyse Also curious how you plan to write a Web UI without any Javascript -- But you started off by writing a Rest API? Are those going to be two separate things?
@lyse Also curious how you plan to write a Web UI without any Javascript -- But you started off by writing a Rest API? Are those going to be two separate things?
Geez I'm not looking forward to our next summer 🤣
Geez I'm not looking forward to our next summer 🤣
Me too 😂
Me too 😂
@xuu Nice!
@xuu Nice!
@mckinley Nice!
@mckinley Nice!
@abucci My thougjts exacrly 😆
@abucci My thougjts exacrly 😆
OTOH I'm not really sure what to make of their manifesto -- I also really don't like the word "manifesto" 😂
OTOH I'm not really sure what to make of their manifesto -- I also really don't like the word "manifesto" 😂
cohost!

Came across this today. Interesting take on "Social Media", if you read about it you'll see a familiar set of values and concepts not too different from Yarn.social 👌

Tried to "Signup" but quickly realised I would not be able to post without an "Invite Code", what a shame 😅

Anyway, I _think_ it's cool and interesting to see more concerted efforts to bring back the "good" in "social media" like it used to be back when it all started with blogs and status updates (remember Finger, Status.net, etc? 😂)

Speaking of which @mckinley how did we go with the other one we found the other day and integrating it with the Twtxt spec and some of the Yarn.social extensions? -- I _feel_ like we should try to do the same with CoHost too -- But at this point I'm not completely sure how to reach out to these three that are running this thing 🤔
cohost!

Came across this today. Interesting take on "Social Media", if you read about it you'll see a familiar set of values and concepts not too different from Yarn.social 👌

Tried to "Signup" but quickly realised I would not be able to post without an "Invite Code", what a shame 😅

Anyway, I _think_ it's cool and interesting to see more concerted efforts to bring back the "good" in "social media" like it used to be back when it all started with blogs and status updates (remember Finger, Status.net, etc? 😂)

Speaking of which @mckinley how did we go with the other one we found the other day and integrating it with the Twtxt spec and some of the Yarn.social extensions? -- I _feel_ like we should try to do the same with CoHost too -- But at this point I'm not completely sure how to reach out to these three that are running this thing 🤔
- There is also FUSE filesystem called bitcaskfs you can use to mount your database and treat it like a filesystem for debugging purposes or whatever.

- And finally if you need High Availability or a Server<->Client model there is the builtin bitcaskd which provides a Redis-compatible API for a server/client model or the bitraft which provides Raft-based HA with a Redis-compatible API.
- There is also FUSE filesystem called bitcaskfs you can use to mount your database and treat it like a filesystem for debugging purposes or whatever.

- And finally if you need High Availability or a Server<->Client model there is the builtin bitcaskd which provides a Redis-compatible API for a server/client model or the bitraft which provides Raft-based HA with a Redis-compatible API.
@lyse If you're going to seriously look at Bitcask (which I use in all my projects, including yarnd) you _should_ know some things up front:

- Be aware of a design flaw / bug #238 whereby your program will deadlock if you attempt to do .Get()(s) inside of a .Scan() or .Fold(). This is a known problem, so avoid doing this. The work-around is to copy the keys you want to work with, then perform your operations on them separately.

With that out of the way:

Hopefully most of the information on the README will be enough to get you started and understand performance characteristics and the overall API.

Couple of additional things to note:

- There export/dump commands to help you debug your database. As well as import/restore the other way around.

For example, I use this frequently:

h
$ bitcask -p ./dinofs.db dump | jq '. | map_values(@base64d)'


...continued...
@lyse If you're going to seriously look at Bitcask (which I use in all my projects, including yarnd) you _should_ know some things up front:

- Be aware of a design flaw / bug #238 whereby your program will deadlock if you attempt to do .Get()(s) inside of a .Scan() or .Fold(). This is a known problem, so avoid doing this. The work-around is to copy the keys you want to work with, then perform your operations on them separately.

With that out of the way:

Hopefully most of the information on the README will be enough to get you started and understand performance characteristics and the overall API.

Couple of additional things to note:

- There export/dump commands to help you debug your database. As well as import/restore the other way around.

For example, I use this frequently:

h
$ bitcask -p ./dinofs.db dump | jq '. | map_values(@base64d)'


...continued...
@lyse Use Bitcask 😆 Designed for high write and read 😂
@lyse Use Bitcask 😆 Designed for high write and read 😂
@retrocrash I like it. Capital to get started? We'd need a tiny bit at least 😆
@retrocrash I like it. Capital to get started? We'd need a tiny bit at least 😆
@lyse

> Maybe long-term: OAuth/etc. But that goes against the rule of simplicity and
puts a big hole in the privacy part.

I'd recommend implementing IndieAuth. You can even test against _any_ yarnd instance out there as they're all valid IndieAuth providers (or one locally even)
@lyse

> Maybe long-term: OAuth/etc. But that goes against the rule of simplicity and
puts a big hole in the privacy part.

I'd recommend implementing IndieAuth. You can even test against _any_ yarnd instance out there as they're all valid IndieAuth providers (or one locally even)
@lyse I also argue you can use a KV store here, but abstracting out the interface is a good idea anyway. The types of data you're wanting to store (exercises) are more like time-series (which most use KV stores anyway).

Recommend Bitcask of course 😅 Or Badger or Bolt
@lyse I also argue you can use a KV store here, but abstracting out the interface is a good idea anyway. The types of data you're wanting to store (exercises) are more like time-series (which most use KV stores anyway).

Recommend Bitcask of course 😅 Or Badger or Bolt
@lyse

> The thing yarnd uses seems a bit odd to Lyse.

I didn't choose it 😅 I have no experience in this kind of thing 😂
@lyse

> The thing yarnd uses seems a bit odd to Lyse.

I didn't choose it 😅 I have no experience in this kind of thing 😂