printf '%s\\n%s\\n%s' 'https://example.com/twtxt.txt' '2020-12-09T15:38:42Z' 'The twt hash now uses the RFC 3339 timestamp format.' | b2sum -l 256 | awk '{ print $1 }' | xxd -r -p | base32 | sed -E 's/=//g; s/.*(.{7})$/\\1/' | tr '[A-Z]' '[a-z]'
(
xxd
is part of Vim.)
printf '%s\n%s\n%s' 'https://example.com/twtxt.txt' '2020-12-09T15:38:42Z' 'The twt hash now uses the RFC 3339 timestamp format.' | b2sum -l 256 | awk '{ print $1 }' | xxd -r -p | base32 | sed -E 's/=//g; s/.*(.{7})$/\1/' | tr '[A-Z]' '[a-z]'
(
xxd
is part of Vim.)
printf '%s\n%s\n%s' 'https://example.com/twtxt.txt' '2020-12-09T15:38:42Z' 'The twt hash now uses the RFC 3339 timestamp format.' | b2sum -l 256 | awk '{ print $1 }' | xxd -r -p | base32 | sed -E 's/=//g; s/.*(.{7})$/\1/' | tr '[A-Z]' '[a-z]'
(
xxd
is part of Vim.)
printf '%s\n%s\n%s' 'https://example.com/twtxt.txt' '2020-12-09T15:38:42Z' 'The twt hash now uses the RFC 3339 timestamp format.' | b2sum -l 256 | awk '{ print $1 }' | xxd -r -p | base32 | sed -E 's/=//g; s/.*(.{7})$/\1/' | tr '[A-Z]' '[a-z]'
(
xxd
is part of Vim.)
printf '%s\\n%s\\n%s' 'https://example.com/twtxt.txt' '2020-12-09T15:38:42Z' 'The twt hash now uses the RFC 3339 timestamp format.' | b2sum -l 256 | awk '{ print $1 }' | xxd -r -p | base32 | sed -E 's/=//g; s/.*(.{7})$/\\1/' | tr '\n' '\n'
(
xxd
is part of Vim.)
#1234567
, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url
and timestamp
in the hash?
#1234567
, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url
and timestamp
in the hash?
#1234567
, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url
and timestamp
in the hash?
#1234567
, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url
and timestamp
in the hash?
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T
has now a twt hash of B
instead of A
, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T
has now a twt hash of B
instead of A
, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T
has now a twt hash of B
instead of A
, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T
has now a twt hash of B
instead of A
, so this is an edited twt.Did I understand that correctly so far? 🤔
If we were to use
(replyto:…)
, I could just copy and paste the required info into my text editor. With echo … | sha256sum | base64
(+ the truncation step), I have to open a new terminal, make sure the tab gets copied verbatim, make sure that there’s no trailing whitespace in the content, little details like that. It *is* more effort.This probably isn’t the best argument for
(replyto:…)
, but it is *an* argument.Would people do all this manually? I don’t know. Probably not. But part of the fascination with twtxt is that you *could* do it.
I’m speaking from a point of extreme minimalism here and all this isn’t strictly only related to
(reply:…)
. It just reflects my general view on twtxt. The more additional things we build on top, the less interesting twtxt becomes (for me). My goal would be to find solutions that require *less*. Like, don’t solve edits breaking threads by *adding* another protocol, but by rethinking the whole thing, finding the root cause, and maybe come up with something that doesn’t need another building block on top.This is all I have to say for now. 😃 I’m gonna let things cool off for a while.
If we were to use
(replyto:…)
, I could just copy and paste the required info into my text editor. With echo … | sha256sum | base64
(+ the truncation step), I have to open a new terminal, make sure the tab gets copied verbatim, make sure that there’s no trailing whitespace in the content, little details like that. It *is* more effort.This probably isn’t the best argument for
(replyto:…)
, but it is *an* argument.Would people do all this manually? I don’t know. Probably not. But part of the fascination with twtxt is that you *could* do it.
I’m speaking from a point of extreme minimalism here and all this isn’t strictly only related to
(reply:…)
. It just reflects my general view on twtxt. The more additional things we build on top, the less interesting twtxt becomes (for me). My goal would be to find solutions that require *less*. Like, don’t solve edits breaking threads by *adding* another protocol, but by rethinking the whole thing, finding the root cause, and maybe come up with something that doesn’t need another building block on top.This is all I have to say for now. 😃 I’m gonna let things cool off for a while.
If we were to use
(replyto:…)
, I could just copy and paste the required info into my text editor. With echo … | sha256sum | base64
(+ the truncation step), I have to open a new terminal, make sure the tab gets copied verbatim, make sure that there’s no trailing whitespace in the content, little details like that. It *is* more effort.This probably isn’t the best argument for
(replyto:…)
, but it is *an* argument.Would people do all this manually? I don’t know. Probably not. But part of the fascination with twtxt is that you *could* do it.
I’m speaking from a point of extreme minimalism here and all this isn’t strictly only related to
(reply:…)
. It just reflects my general view on twtxt. The more additional things we build on top, the less interesting twtxt becomes (for me). My goal would be to find solutions that require *less*. Like, don’t solve edits breaking threads by *adding* another protocol, but by rethinking the whole thing, finding the root cause, and maybe come up with something that doesn’t need another building block on top.This is all I have to say for now. 😃 I’m gonna let things cool off for a while.
If we were to use
(replyto:…)
, I could just copy and paste the required info into my text editor. With echo … | sha256sum | base64
(+ the truncation step), I have to open a new terminal, make sure the tab gets copied verbatim, make sure that there’s no trailing whitespace in the content, little details like that. It *is* more effort.This probably isn’t the best argument for
(replyto:…)
, but it is *an* argument.Would people do all this manually? I don’t know. Probably not. But part of the fascination with twtxt is that you *could* do it.
I’m speaking from a point of extreme minimalism here and all this isn’t strictly only related to
(reply:…)
. It just reflects my general view on twtxt. The more additional things we build on top, the less interesting twtxt becomes (for me). My goal would be to find solutions that require *less*. Like, don’t solve edits breaking threads by *adding* another protocol, but by rethinking the whole thing, finding the root cause, and maybe come up with something that doesn’t need another building block on top.This is all I have to say for now. 😃 I’m gonna let things cool off for a while.
> Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.
What you’re mentioning is *the primary reason*, imho, *for* location-based addressing. You’re referencing a certain entry in a feed by its timestamp and the author is free to edit it. This solves the problem of broken threads after edits. And editing “raw” twtxt files is a very natural thing to do in the twtxt world (just not in *Yarn*’s world). It’s one of the core aspects and main selling points: You just have a file that you can edit with
vi
or whatever, done.If you think changing content is a *vulnerability* of location-based addressing, then I get the feeling that there’s some kind of big misunderstanding going on here. 🤔 Either on your end or on mine/ours. 🤔
> Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.
What you’re mentioning is *the primary reason*, imho, *for* location-based addressing. You’re referencing a certain entry in a feed by its timestamp and the author is free to edit it. This solves the problem of broken threads after edits. And editing “raw” twtxt files is a very natural thing to do in the twtxt world (just not in *Yarn*’s world). It’s one of the core aspects and main selling points: You just have a file that you can edit with
vi
or whatever, done.If you think changing content is a *vulnerability* of location-based addressing, then I get the feeling that there’s some kind of big misunderstanding going on here. 🤔 Either on your end or on mine/ours. 🤔
> Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.
What you’re mentioning is *the primary reason*, imho, *for* location-based addressing. You’re referencing a certain entry in a feed by its timestamp and the author is free to edit it. This solves the problem of broken threads after edits. And editing “raw” twtxt files is a very natural thing to do in the twtxt world (just not in *Yarn*’s world). It’s one of the core aspects and main selling points: You just have a file that you can edit with
vi
or whatever, done.If you think changing content is a *vulnerability* of location-based addressing, then I get the feeling that there’s some kind of big misunderstanding going on here. 🤔 Either on your end or on mine/ours. 🤔
> Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.
What you’re mentioning is *the primary reason*, imho, *for* location-based addressing. You’re referencing a certain entry in a feed by its timestamp and the author is free to edit it. This solves the problem of broken threads after edits. And editing “raw” twtxt files is a very natural thing to do in the twtxt world (just not in *Yarn*’s world). It’s one of the core aspects and main selling points: You just have a file that you can edit with
vi
or whatever, done.If you think changing content is a *vulnerability* of location-based addressing, then I get the feeling that there’s some kind of big misunderstanding going on here. 🤔 Either on your end or on mine/ours. 🤔
rsync -zaXAP
is what I use all the time. But that’s all – for the rest, I have to consult the manual. 😅
rsync -zaXAP
is what I use all the time. But that’s all – for the rest, I have to consult the manual. 😅
rsync -zaXAP
is what I use all the time. But that’s all – for the rest, I have to consult the manual. 😅
rsync -zaXAP
is what I use all the time. But that’s all – for the rest, I have to consult the manual. 😅
I have to admit, even though I knew they existed, I never had a look at Leah’s mail tools. Just gave
mthread
a spin and this is crazy fast. 🤯 Tempting!
I have to admit, even though I knew they existed, I never had a look at Leah’s mail tools. Just gave
mthread
a spin and this is crazy fast. 🤯 Tempting!
I have to admit, even though I knew they existed, I never had a look at Leah’s mail tools. Just gave
mthread
a spin and this is crazy fast. 🤯 Tempting!
I have to admit, even though I knew they existed, I never had a look at Leah’s mail tools. Just gave
mthread
a spin and this is crazy fast. 🤯 Tempting!
https://media.ccc.de/v/ds24-394-linux-hello-world-nur-mit-einem-hex-editor
Luckily, everything™ is easier™ on DOS with
.COM
files. A fun little time killer to make a HELLO.COM
using only a hex editor, the Intel docs and the DOS interrupt list.That ModR/M stuff is easy in the end, but it took me quite some time to understand it. 🥴
(I’m still new to DOS on this level and didn’t know that all segment registers are initialized to the same values, apparently, so copying CS to DS was not necessary. Too lazy to update the screenshot. File size shrinks by 4 bytes.)
https://movq.de/v/0139fbaabc/doshello.png
https://media.ccc.de/v/ds24-394-linux-hello-world-nur-mit-einem-hex-editor
Luckily, everything™ is easier™ on DOS with
.COM
files. A fun little time killer to make a HELLO.COM
using only a hex editor, the Intel docs and the DOS interrupt list.That ModR/M stuff is easy in the end, but it took me quite some time to understand it. 🥴
(I’m still new to DOS on this level and didn’t know that all segment registers are initialized to the same values, apparently, so copying CS to DS was not necessary. Too lazy to update the screenshot. File size shrinks by 4 bytes.)
https://movq.de/v/0139fbaabc/doshello.png
https://media.ccc.de/v/ds24-394-linux-hello-world-nur-mit-einem-hex-editor
Luckily, everything™ is easier™ on DOS with
.COM
files. A fun little time killer to make a HELLO.COM
using only a hex editor, the Intel docs and the DOS interrupt list.That ModR/M stuff is easy in the end, but it took me quite some time to understand it. 🥴
(I’m still new to DOS on this level and didn’t know that all segment registers are initialized to the same values, apparently, so copying CS to DS was not necessary. Too lazy to update the screenshot. File size shrinks by 4 bytes.)
https://movq.de/v/0139fbaabc/doshello.png
https://media.ccc.de/v/ds24-394-linux-hello-world-nur-mit-einem-hex-editor
Luckily, everything™ is easier™ on DOS with
.COM
files. A fun little time killer to make a HELLO.COM
using only a hex editor, the Intel docs and the DOS interrupt list.That ModR/M stuff is easy in the end, but it took me quite some time to understand it. 🥴
(I’m still new to DOS on this level and didn’t know that all segment registers are initialized to the same values, apparently, so copying CS to DS was not necessary. Too lazy to update the screenshot. File size shrinks by 4 bytes.)
https://movq.de/v/0139fbaabc/doshello.png
yarnd
, but still.If this constitutes a hard “no” to the proposal, then I think we don’t need to discuss it further.
yarnd
, but still.If this constitutes a hard “no” to the proposal, then I think we don’t need to discuss it further.
yarnd
, but still.If this constitutes a hard “no” to the proposal, then I think we don’t need to discuss it further.
yarnd
, but still.If this constitutes a hard “no” to the proposal, then I think we don’t need to discuss it further.
~/Mail/twt
is currently 26 MB in size. Increase that by 20% and we get 31.2 MB.I don’t buy the argument with 2025 bytes. This worst case scenario is not relevant in practice.
~/Mail/twt
is currently 26 MB in size. Increase that by 20% and we get 31.2 MB.I don’t buy the argument with 2025 bytes. This worst case scenario is not relevant in practice.
~/Mail/twt
is currently 26 MB in size. Increase that by 20% and we get 31.2 MB.I don’t buy the argument with 2025 bytes. This worst case scenario is not relevant in practice.
~/Mail/twt
is currently 26 MB in size. Increase that by 20% and we get 31.2 MB.I don’t buy the argument with 2025 bytes. This worst case scenario is not relevant in practice.
https://commission.europa.eu/law/law-topic/data-protection/reform/rules-business-and-organisations/application-regulation/who-does-data-protection-law-apply_en
“A company *or entity* …”
Also, as I understand it, “personal or household activity” (as you called it) is rather strict: An example could be you uploading photos to a webspace behind HTTP basic auth and sending that link to a friend. So, yes, a webserver is involved and you process your friend’s data (e.g., when did he access your files), but it’s just between you and him. But if you were to publish these photos publicly on a webserver that anyone can access, then it’s a different story – even though you could say that “this is just my personal hobby, not related to any job or money”.
If you operate a public Yarn pod and *if you accept registrations from other users*, then I’m pretty sure the GDPR applies. 🤔 You process personal data and you don’t really know these people. It’s not a personal/private thing anymore.
https://commission.europa.eu/law/law-topic/data-protection/reform/rules-business-and-organisations/application-regulation/who-does-data-protection-law-apply_en
“A company *or entity* …”
Also, as I understand it, “personal or household activity” (as you called it) is rather strict: An example could be you uploading photos to a webspace behind HTTP basic auth and sending that link to a friend. So, yes, a webserver is involved and you process your friend’s data (e.g., when did he access your files), but it’s just between you and him. But if you were to publish these photos publicly on a webserver that anyone can access, then it’s a different story – even though you could say that “this is just my personal hobby, not related to any job or money”.
If you operate a public Yarn pod and *if you accept registrations from other users*, then I’m pretty sure the GDPR applies. 🤔 You process personal data and you don’t really know these people. It’s not a personal/private thing anymore.
https://commission.europa.eu/law/law-topic/data-protection/reform/rules-business-and-organisations/application-regulation/who-does-data-protection-law-apply_en
“A company *or entity* …”
Also, as I understand it, “personal or household activity” (as you called it) is rather strict: An example could be you uploading photos to a webspace behind HTTP basic auth and sending that link to a friend. So, yes, a webserver is involved and you process your friend’s data (e.g., when did he access your files), but it’s just between you and him. But if you were to publish these photos publicly on a webserver that anyone can access, then it’s a different story – even though you could say that “this is just my personal hobby, not related to any job or money”.
If you operate a public Yarn pod and *if you accept registrations from other users*, then I’m pretty sure the GDPR applies. 🤔 You process personal data and you don’t really know these people. It’s not a personal/private thing anymore.
https://commission.europa.eu/law/law-topic/data-protection/reform/rules-business-and-organisations/application-regulation/who-does-data-protection-law-apply_en
“A company *or entity* …”
Also, as I understand it, “personal or household activity” (as you called it) is rather strict: An example could be you uploading photos to a webspace behind HTTP basic auth and sending that link to a friend. So, yes, a webserver is involved and you process your friend’s data (e.g., when did he access your files), but it’s just between you and him. But if you were to publish these photos publicly on a webserver that anyone can access, then it’s a different story – even though you could say that “this is just my personal hobby, not related to any job or money”.
If you operate a public Yarn pod and *if you accept registrations from other users*, then I’m pretty sure the GDPR applies. 🤔 You process personal data and you don’t really know these people. It’s not a personal/private thing anymore.