diff --git a/source/blog/ssb--CJ0V2UxB-3Ll-8jfoJft57-Da_PiMdOV0TDiKJzJ0E=.html.markdown b/source/blog/ssb--CJ0V2UxB-3Ll-8jfoJft57-Da_PiMdOV0TDiKJzJ0E=.html.markdown new file mode 100644 index 0000000..bf79d1b --- /dev/null +++ b/source/blog/ssb--CJ0V2UxB-3Ll-8jfoJft57-Da_PiMdOV0TDiKJzJ0E=.html.markdown @@ -0,0 +1,12 @@ +--- + +title: SSB Log Entry 508 +date: 2020-04-27T09:54:44-05:00 +tags: + +--- + +Seeing [@SoapDog (SPX)](https://scuttlebutt.nz/) 's #cyberdeck post reminded me of an old Windows 95 box I purchased at the Vintage Computing Festival Midwest last year: + +![A very old and small computer](http://tilde.town/~netscape_navigator/img/ssb/ajm6aqp6bjA4l4yfZ-e-PTios0JMrzS0s5dCFez-Dsk=.png) + diff --git a/source/blog/ssb--XCcnO073G65cUUen1p0Tp7zHxczFzjzXvk1-eXi20U=.html.markdown b/source/blog/ssb--XCcnO073G65cUUen1p0Tp7zHxczFzjzXvk1-eXi20U=.html.markdown new file mode 100644 index 0000000..83c1f80 --- /dev/null +++ b/source/blog/ssb--XCcnO073G65cUUen1p0Tp7zHxczFzjzXvk1-eXi20U=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 503 +date: 2020-04-26T16:08:29-05:00 +tags: + +--- + +Does anyone here play with Retro #forth ? I'm trying my hand at building a Nga VM currently. It's coming along OK aside from some bugs to work out. + +RetroForth is really exciting stuff. Seems to offer a lot of stuff out of the box without adding too much overhead. diff --git a/source/blog/ssb-0J0EbaxSCJaUpIR4_sYLdDzf3phXq08R8cdYJbuyG2E=.html.markdown b/source/blog/ssb-0J0EbaxSCJaUpIR4_sYLdDzf3phXq08R8cdYJbuyG2E=.html.markdown new file mode 100644 index 0000000..c4d3541 --- /dev/null +++ b/source/blog/ssb-0J0EbaxSCJaUpIR4_sYLdDzf3phXq08R8cdYJbuyG2E=.html.markdown @@ -0,0 +1,43 @@ +--- + +title: SSB Log Entry 617 +date: 2020-05-13T08:13:55-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + + * Today was mostly spent in Regex hell as I try to figure out why my lexer is crashing on bad input. + * I removed a bunch of dead code and cleaned up various parts of the codebase. + +# TODO + + * Decide on the new sigil format (Thanks for feedback [@kas](https://scuttlebutt.nz/), [@Gaffen](https://scuttlebutt.nz/) - my responses are below) + * Fix the lexer crash issue + * Continue writing documentation + +# Responses to Yesterday's Stuff + + > @gaffen: Hmm, text? + +I like this a lot. The problem I have with `post` (which is still under consideration) is that it seems a bit too focused on social apps. + + > Multihash, is that the part between the sigil and the extension? + +It's the whole thing, so SIGIL + LONG_STRING + ".ed25519" in this use case. + + > @kas: does it matter? I have never quite understood why base64 was chosen over plain hex + +I thought this also. Very early versions of Pigeon did exactly what you are suggesting. After a while, it became unwieldy from the developer ergonomics perspective (and developer ergonomics are a big goal for the project). Next, I tried URL safe base64, much like SSB, but found that there are still some places you can't put URL safe Base64 (such as FAT16 filesystems). Next, I tried RFC4648 Base 32. It had problems, but I didn't keep a developer log back then, so I already forgot what the issue was. Needless to say, I remember it was troublesome. + +Ultimately, I settled on [Crockford Base32](https://www.crockford.com/base32.html) and I think it is the best compromise between the simplicity of hex and the compactness of Base64. I've had such a good experience with it, I will probably use it on future unrelated projects. Highly underrated. + + > @kas: That statement is only valid when using a fixed-width font, isn’t it? + +That's the use case I care about most. I was imagining a developer combing through large swathes of multihashes while debugging a live application. This falls under the umbrella of developer ergonomics. I'm sure end users will be looking at multihashes also, for example, copy/pasting and sharing. To those end users, it's going to be a long illegible pile of text regardless. It will be the responsibility of the application developer to pick the correct rendering method in those cases. On the flip side, the folks who are going to be looking at 10+ multihashes in one screen will almost certainly be doing so from a text editor or terminal, and I don't know any folks running non-monospace fonts in those environments. + diff --git a/source/blog/ssb-1wFOdA_9Yn6ZO88-oJJ4y66eLb6NuHsJJP1YFo5uEPg=.html.markdown b/source/blog/ssb-1wFOdA_9Yn6ZO88-oJJ4y66eLb6NuHsJJP1YFo5uEPg=.html.markdown new file mode 100644 index 0000000..1c2904f --- /dev/null +++ b/source/blog/ssb-1wFOdA_9Yn6ZO88-oJJ4y66eLb6NuHsJJP1YFo5uEPg=.html.markdown @@ -0,0 +1,25 @@ +--- + +title: SSB Log Entry 675 +date: 2020-05-20T08:43:02-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, May 20th + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + +Everything is _still_ a work in progress with regards to enforcing canonical ordering of header fields. + +I have 7 failing tests currently. My progress will be a bit slower than usual because I am currently enrolled in a MOOC, so that cuts into my daily intellectual exploration time. + +Yesterday I had a very good discussion with [@cel-desktop](https://scuttlebutt.nz/), [@Christian Bundy](https://scuttlebutt.nz/) and [@kas](https://scuttlebutt.nz/) about the merits of `.ed25519` / `.sha256` suffixes. I am still unsure if it is worth it to keep them or not 🤔 + +# TODO + + * Continue enforcing canonical ordering of headers. + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + * Finish writing documentation, except this time, don't find huge bugs that require me make huge changes 😅 diff --git a/source/blog/ssb-4y-x6MTYdEzPh9k0T8eozBZWHaSSUkTIvAhVMArMwdg=.html.markdown b/source/blog/ssb-4y-x6MTYdEzPh9k0T8eozBZWHaSSUkTIvAhVMArMwdg=.html.markdown new file mode 100644 index 0000000..1aa40c9 --- /dev/null +++ b/source/blog/ssb-4y-x6MTYdEzPh9k0T8eozBZWHaSSUkTIvAhVMArMwdg=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 714 +date: 2020-05-25T16:06:32-05:00 +tags: + +--- + +Facial recognition software should be used for positive things, like helping me know if the bird at the feeder is the same one as yesterday. diff --git a/source/blog/ssb-5UN2cdACkt4g9Nyd2Uo-Br75xg18Ei0-24LxXK4zVOs=.html.markdown b/source/blog/ssb-5UN2cdACkt4g9Nyd2Uo-Br75xg18Ei0-24LxXK4zVOs=.html.markdown new file mode 100644 index 0000000..5a2771b --- /dev/null +++ b/source/blog/ssb-5UN2cdACkt4g9Nyd2Uo-Br75xg18Ei0-24LxXK4zVOs=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 500 +date: 2020-04-25T17:24:02-05:00 +tags: + +--- + +[@Gaffen](https://scuttlebutt.nz/) Mentioned something in a non-SSB that I never realized about SSB: + +SSB use encourages you to become socially closer to a smaller group of peers. This is in contrast to other platforms (like Mastodon or Twitter) that expose you to more numerous but superficial connections. Most social apps encourage the user to increase their "node count". SSB favors strengthening the vertices of your social graph. + +I've been using SSB for a while now and never stopped to realize that. This realization changes the way I will describe the Scuttleverse to outsiders. diff --git a/source/blog/ssb-7TQ1UanWFRAMlKyaZQH7pjiBQVz2k9QEiq7_wUABlaw=.html.markdown b/source/blog/ssb-7TQ1UanWFRAMlKyaZQH7pjiBQVz2k9QEiq7_wUABlaw=.html.markdown new file mode 100644 index 0000000..ead6aa9 --- /dev/null +++ b/source/blog/ssb-7TQ1UanWFRAMlKyaZQH7pjiBQVz2k9QEiq7_wUABlaw=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 792 +date: 2020-06-14T17:07:20-05:00 +tags: + +--- + +I have an aquarium with a heater for tropical fish. The water is very warm, so I need to replace the water every so often otherwise salt will accumulate in the tank as the heater evaporates the water. + +Has anyone used aquarium water for #gardening ? I imagine it is very nutrient rich. The plants in my tank seem to like it- maybe the non-aquatic kind will like it also? + +I just purchased a nutrient test kit (N/P/K/Ph). I will report back my results soon. diff --git a/source/blog/ssb-7roxx7hxjmpIWcZPBg1hty2tsXqAKBeI7uWPAJfC8PY=.html.markdown b/source/blog/ssb-7roxx7hxjmpIWcZPBg1hty2tsXqAKBeI7uWPAJfC8PY=.html.markdown new file mode 100644 index 0000000..404290a --- /dev/null +++ b/source/blog/ssb-7roxx7hxjmpIWcZPBg1hty2tsXqAKBeI7uWPAJfC8PY=.html.markdown @@ -0,0 +1,15 @@ +--- + +title: SSB Log Entry 522 +date: 2020-04-29T08:13:09-05:00 +tags: + +--- + +I will start posting daily #pigeon-protocol updates to my feed. + +Today I wrote more documentation for the Ruby client. It is ~80% complete. + +You can find the (nearly complete) documentation [here](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby/src/branch/master/ruby_tutorial.md). + +Please let me know what you think. diff --git a/source/blog/ssb-8Pq-VSGNz_iaZvqTThWFOTIyuxi6YbUpY_cuJ4PsBoo=.html.markdown b/source/blog/ssb-8Pq-VSGNz_iaZvqTThWFOTIyuxi6YbUpY_cuJ4PsBoo=.html.markdown new file mode 100644 index 0000000..4db7630 --- /dev/null +++ b/source/blog/ssb-8Pq-VSGNz_iaZvqTThWFOTIyuxi6YbUpY_cuJ4PsBoo=.html.markdown @@ -0,0 +1,21 @@ +--- + +title: SSB Log Entry 736 +date: 2020-06-02T09:01:14-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, June 2nd 2020 + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# In Progress + + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + * Make ED25519 and SHA256 the default and only option for hashing and signing. Deprecate "footers" like `.sig.ed25519`, `.sha256`. + +# TODO + + * Go back to writing documentation + * After the Ruby codebase stabilizes maybe write an implementation in Go that will essentially just be a copy/paste job on the Ruby version. Ruby was great for trying out ideas, but it is not very portable and I've had trouble sharing Ruby code with non-Rubyists in the past. More people would be able to try stuff out if static binaries are available and Go will make that easy while not getting me too bogged down in things like memory management or learning what a borrow checker is. diff --git a/source/blog/ssb-9-xDTq4qS1AWp7Csuu-J_ruphdZ6jRm93QVk1k7TXCQ=.html.markdown b/source/blog/ssb-9-xDTq4qS1AWp7Csuu-J_ruphdZ6jRm93QVk1k7TXCQ=.html.markdown new file mode 100644 index 0000000..498ec2d --- /dev/null +++ b/source/blog/ssb-9-xDTq4qS1AWp7Csuu-J_ruphdZ6jRm93QVk1k7TXCQ=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 683 +date: 2020-05-22T08:16:47-05:00 +tags: + +--- + +Going to try to drink less than a pot of coffee today. Wish me luck. diff --git a/source/blog/ssb-97ok3cFsiN5qUTMXzjaCbtfiBUz_0o1Y6S_unmP85CI=.html.markdown b/source/blog/ssb-97ok3cFsiN5qUTMXzjaCbtfiBUz_0o1Y6S_unmP85CI=.html.markdown new file mode 100644 index 0000000..7968132 --- /dev/null +++ b/source/blog/ssb-97ok3cFsiN5qUTMXzjaCbtfiBUz_0o1Y6S_unmP85CI=.html.markdown @@ -0,0 +1,16 @@ +--- + +title: SSB Log Entry 723 +date: 2020-05-28T08:15:49-05:00 +tags: + +--- + +Going to start a new thread about [@kas](https://scuttlebutt.nz/) 's use of the Obsidian app for #zettelkasten . + +I got an invite a few days ago. I am skeptical that manually managed files can scale into the tens of thousands (a number which I intend to reach, and which I have reached in the past with spaced repetition tools when I studied foreign languages in college). + +Is this concern unfounded? +How many cards do you folks have in your box? + +An ideal system for me would be one where you create a tmp file that is "ingested" and is later referred to by UUID and retrieved via fulltext search. Does anyone know of such a tool that exists? diff --git a/source/blog/ssb-ADVTRwVFm77yHNW_3mCKdJxUwEESKtTDmjBi3xnksz4=.html.markdown b/source/blog/ssb-ADVTRwVFm77yHNW_3mCKdJxUwEESKtTDmjBi3xnksz4=.html.markdown new file mode 100644 index 0000000..ac9fa9b --- /dev/null +++ b/source/blog/ssb-ADVTRwVFm77yHNW_3mCKdJxUwEESKtTDmjBi3xnksz4=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 647 +date: 2020-05-15T13:58:20-05:00 +tags: + +--- + +Do you have any strongly held, but unpopular beliefs regarding software development practices? diff --git a/source/blog/ssb-BXRqNCJsZutPKV5jzVeFywmpzNIEkeUJ7QfymjdSnhg=.html.markdown b/source/blog/ssb-BXRqNCJsZutPKV5jzVeFywmpzNIEkeUJ7QfymjdSnhg=.html.markdown new file mode 100644 index 0000000..651fd50 --- /dev/null +++ b/source/blog/ssb-BXRqNCJsZutPKV5jzVeFywmpzNIEkeUJ7QfymjdSnhg=.html.markdown @@ -0,0 +1,25 @@ +--- + +title: SSB Log Entry 687 +date: 2020-05-22T09:04:58-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, May 22nd + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + +The Ruby implementation now enforces "canonical ordering" rather than flexible ordering of header fields. + +# TODO + + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + * Go back to writing documentation + * I might actually get rid of multihash along the lines of what Kas suggested. That is, implicitly support ED25519 and SHA256 as defaults. I will call them "the only option" in documentation rather than the defaults. I think that: + * `ed25519` and `sha256` have stood the test of time long enough. + * We can easily add a `.whatever` suffix later if we need to. + * It is also possible to configure the "world" that the feed lives to only use a certain signing / hashing algo. + * I'm pretty OK with a future where a security concern causes feeds to be manually migrated by authors (or left behind for eternity). I don't think this is avoidable, given the eternal nature of a feed- is it? diff --git a/source/blog/ssb-Bm_Eyt7F8FExwmmhkGNAljxq9efuvtgPcJidhMte6bY=.html.markdown b/source/blog/ssb-Bm_Eyt7F8FExwmmhkGNAljxq9efuvtgPcJidhMte6bY=.html.markdown new file mode 100644 index 0000000..ed3154a --- /dev/null +++ b/source/blog/ssb-Bm_Eyt7F8FExwmmhkGNAljxq9efuvtgPcJidhMte6bY=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 529 +date: 2020-04-30T10:34:23-05:00 +tags: + +--- + +One of the best #italodisco mixes I've heard in a while: https://www.youtube.com/watch?v=2NSBtP4sB_U&list=LLjGE645YGFiud9e3OEuW46g&index=3 diff --git a/source/blog/ssb-FpZ4ATjxUw1kCP1TechCqxGMocS-HSjv17yrd1OGDoA=.html.markdown b/source/blog/ssb-FpZ4ATjxUw1kCP1TechCqxGMocS-HSjv17yrd1OGDoA=.html.markdown new file mode 100644 index 0000000..9583a23 --- /dev/null +++ b/source/blog/ssb-FpZ4ATjxUw1kCP1TechCqxGMocS-HSjv17yrd1OGDoA=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 434 +date: 2020-04-03T13:42:11-05:00 +tags: + +--- + +I've got some stubborn seeds that aren't germinating. Going to try scarification for the first time. Wish me luck! Will post pics if it works. #gardening diff --git a/source/blog/ssb-GpgUl0PDQSK73pkWPJsNDUfCJnZVZRCxeAkO0zlFMAs=.html.markdown b/source/blog/ssb-GpgUl0PDQSK73pkWPJsNDUfCJnZVZRCxeAkO0zlFMAs=.html.markdown new file mode 100644 index 0000000..77f1f39 --- /dev/null +++ b/source/blog/ssb-GpgUl0PDQSK73pkWPJsNDUfCJnZVZRCxeAkO0zlFMAs=.html.markdown @@ -0,0 +1,40 @@ +--- + +title: SSB Log Entry 636 +date: 2020-05-14T09:05:52-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + + * Did some minor cleanup, removed duplication. + * I decided to reorganize headers, but then I realized that **headers are order dependent**, which I don't like. + * Continued the discussion about sigils. Any final comments? Please keep in mind that the message format is intended for use by developers rather than end users. + +I think this is what log entries will look like now: + +``` +author FEED.BVQCXBFKH2PMYJ3W4CRD8JEA82JB3PC9T0RVCZAAD0S2ENZ6WANG.ed25519 +prev TEXT.ZG8XJM3BDQBVSPNCJFQ7JZ2X0229STJH32MH80793SHX2YKAAXDG.sha256 +lipmmaa TEXT.3NPHB4BHTJ9RXZTNGY5YY84DNHQQY3TY2ZD2QMAQYW8NMBA1W3HG.sha256 +depth 2 +kind blob.add + +author:FEED.BVQCXBFKH2PMYJ3W4CRD8JEA82JB3PC9T0RVCZAAD0S2ENZ6WANG.ed25519 +file_checksum:FILE.YPF11E5N9JFVB6KB1N1WDVVT9DXMCHE0XJWBZHT2CQ29S5SEPCSG.sha256 +description:"A really cool mix tape." +whatever:"foo, bar, baz, blah..." + +signature SMP6M...redacted_for_legibility...EXW2G.sig.ed25519 +``` + +# TODO + + * Allow headers to be placed in any order. + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + diff --git a/source/blog/ssb-HKZ687D5pkUjfvbPn3CLhHquJ4PaIIXJm2GYHAQ1MO8=.html.markdown b/source/blog/ssb-HKZ687D5pkUjfvbPn3CLhHquJ4PaIIXJm2GYHAQ1MO8=.html.markdown new file mode 100644 index 0000000..1f64721 --- /dev/null +++ b/source/blog/ssb-HKZ687D5pkUjfvbPn3CLhHquJ4PaIIXJm2GYHAQ1MO8=.html.markdown @@ -0,0 +1,35 @@ +--- + +title: SSB Log Entry 597 +date: 2020-05-11T07:58:59-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +Pretty sure I **naively screwed up the lipmaa link implementation and need to re-write**. Going back and fixing the mess I made in [a branch](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby/src/branch/lipmaa_fix). Currently there are 10 failing tests. + +Based on the discussion surrounding SSB URLs, I am going to **diverge from SSB's sigil usage scheme**: + + * Change the `@` sigil to `feed.` + * Change the `%` sigil to `mesg.` + * Change the `&` sigil to `blob.` + +The new sigils will all be four letter abbreviations followed by a period char. + +The reasons are: + + * Does not use unsafe or reserved URL characters. + * Easier for new devs to remember (although I can "sight read" SSB multihashes, I do remember it took a while to remember). + +Here's an example: + +``` +OLD WAY: +@PSAZVT7913W2Q7GJEY1EJ789A2QJ22WD9VMFSJ2BS2DPDZ37RMVG.ed25519 + +NEW WAY: +feed.PSAZVT7913W2Q7GJEY1EJ789A2QJ22WD9VMFSJ2BS2DPDZ37RMVG.ed25519 +``` +#pigeon-protocol diff --git a/source/blog/ssb-IOYS_Phsh1459qlQXqeR6tM8aazlg02UCVOeKDkgj8w=.html.markdown b/source/blog/ssb-IOYS_Phsh1459qlQXqeR6tM8aazlg02UCVOeKDkgj8w=.html.markdown new file mode 100644 index 0000000..2085c1d --- /dev/null +++ b/source/blog/ssb-IOYS_Phsh1459qlQXqeR6tM8aazlg02UCVOeKDkgj8w=.html.markdown @@ -0,0 +1,23 @@ +--- + +title: SSB Log Entry 528 +date: 2020-04-30T08:50:02-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +## DONE + +I finished writing the #pigeon-protocol API docs for the Ruby client. These docs may be useful to outside observers **even if you have no plans on writing Ruby code**. They give a good overview of how a compliant Pigeon Protocol client behaves and show the minimum skills required to write a Pigeon-based app. + +## TODO + +I need to go back and finish writing the protocol spec document now that the API is stable. This is especially true for explaining how "bundles" are imported and exported. + +## HELP WANTED + +If anyone (even a non-Rubyist) has time, I would appreciate feedback on [the Ruby API docs](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby/src/branch/master/ruby_tutorial.md). + +I look forward to your constructive criticism. diff --git a/source/blog/ssb-JDPZ4QMYTTkkedbQ98cOrBz0H0CplLVL8JrNnV-w-WU=.html.markdown b/source/blog/ssb-JDPZ4QMYTTkkedbQ98cOrBz0H0CplLVL8JrNnV-w-WU=.html.markdown new file mode 100644 index 0000000..c22cd64 --- /dev/null +++ b/source/blog/ssb-JDPZ4QMYTTkkedbQ98cOrBz0H0CplLVL8JrNnV-w-WU=.html.markdown @@ -0,0 +1,12 @@ +--- + +title: SSB Log Entry 710 +date: 2020-05-25T09:56:39-05:00 +tags: + +--- + +Ah here we go, some blog articles to confirm my bias with: + +"Caffeine: A vitamin-like nutrient, or adaptogen" +http://raypeat.com/articles/articles/caffeine.shtml diff --git a/source/blog/ssb-KAjCgbV3wlYQPm_R3paDL5iVO4If0wecT-zuQAoirAk=.html.markdown b/source/blog/ssb-KAjCgbV3wlYQPm_R3paDL5iVO4If0wecT-zuQAoirAk=.html.markdown new file mode 100644 index 0000000..2107ca2 --- /dev/null +++ b/source/blog/ssb-KAjCgbV3wlYQPm_R3paDL5iVO4If0wecT-zuQAoirAk=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 450 +date: 2020-04-09T07:59:57-05:00 +tags: + +--- + +The SSB whitepaper mentions that timestamps are applied to messages but cannot be trusted for security reasons. + +Does anyone know of any timestamping techniques that do not require centralized infrastructure or consensus (two things that seem to be in conflict with the goals of the protocol and its use cases)? diff --git a/source/blog/ssb-KER87JYd8HaGiVm4yjZGX9ckavvu74ekJs9L6V4bWF0=.html.markdown b/source/blog/ssb-KER87JYd8HaGiVm4yjZGX9ckavvu74ekJs9L6V4bWF0=.html.markdown new file mode 100644 index 0000000..5bb9760 --- /dev/null +++ b/source/blog/ssb-KER87JYd8HaGiVm4yjZGX9ckavvu74ekJs9L6V4bWF0=.html.markdown @@ -0,0 +1,39 @@ +--- + +title: SSB Log Entry 670 +date: 2020-05-19T08:17:32-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + +Today, everything is a work in progress. + +I was originally going to allow flexible header ordering in messages. As [@cinnamon](https://scuttlebutt.nz/) pointed out to me, this is probably not a good idea. I've stashed that branch and started instead working on enforcement of "canonical ordering". + +The new format will look like this (notice that header entries are alphabetized): + +``` +author FEED.VX4PVHGY750PV84S3ATE6CCP3ND416P2XZ995X1GK655NNQ46S60.ed25519 +depth 3 +kind example123 +lipmaa TEXT.GTTZ48JFHJVSNRWY1WFR82M7A5YTM2N4KN96G913PKHVM25Q8YWR.sha256 +prev TEXT.RWY8Q52MVHKP319G69NK4N2MTY5A7M28RFW1YWRNSVJHFJ84ZTTG.sha256 + +hello:"World!" +cool_song:FILE.7Z2CSZKMB1RE5G6SKXRZ63ZGCNP8VVEM3K0XFMYKETRDQSM5WBSG.sha256 + +signature C4Z...SNIP!...T20.sig.ed25519 +``` + +# TODO + + * Continue enforcing canonical ordering of headers. + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + * Remove `.sha256`, `.ed25519`, `.sig.ed25519` and friends? Seems like it might be a case of YAGNI. To date, has SSB ever needed or changed these suffixes? Seems to just add syntactic noise while preparing for future events that may never arrive. I could be wrong though. I'm basing this statement off of things that were said in the SSB whitepaper. Real-world experience may offer other advantages that I'm not aware of? + diff --git a/source/blog/ssb-LT8AvPXvGO_odHq9SjMqVOTnvLCSLkgy6lRokXUR21o=.html.markdown b/source/blog/ssb-LT8AvPXvGO_odHq9SjMqVOTnvLCSLkgy6lRokXUR21o=.html.markdown new file mode 100644 index 0000000..c69bec5 --- /dev/null +++ b/source/blog/ssb-LT8AvPXvGO_odHq9SjMqVOTnvLCSLkgy6lRokXUR21o=.html.markdown @@ -0,0 +1,24 @@ +--- + +title: SSB Log Entry 781 +date: 2020-06-12T08:53:31-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, June 9th 2020 + +_Note to folks just tuning in:_ I do semi-daily updates related to #pigeon-protocol - [a sneakernet-focused project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# IN PROGRESS + +I'm about 80% done with the Ruby lib API docs. +After that, I will fix the protocol documentation (most things in the protocol documentation are not correct anymore). +After that, I will ask [@m455](https://scuttlebutt.nz/) to provide my documentation some "adult supervision" and cohesiveness 😄 + +# TODO + +Now that the message format has been adequately tidied, I really need to focus on the sharable parts of the project. + + * Finish documentation. + * Write an implementation in Go that will serve as the "most official implementation". Ruby was great for trying out ideas, but it is not very portable and I've had trouble sharing Ruby code with non-Rubyists in the past. More people would be able to try stuff out if static binaries are available and Go will make that easy while not getting me too bogged down in things like memory management or learning what a borrow checker is. diff --git a/source/blog/ssb-Mo20cBJQcvBVJSVvGlRGWnNboYQAg2Tgm2n_MI2uDE0=.html.markdown b/source/blog/ssb-Mo20cBJQcvBVJSVvGlRGWnNboYQAg2Tgm2n_MI2uDE0=.html.markdown new file mode 100644 index 0000000..db90e79 --- /dev/null +++ b/source/blog/ssb-Mo20cBJQcvBVJSVvGlRGWnNboYQAg2Tgm2n_MI2uDE0=.html.markdown @@ -0,0 +1,45 @@ +--- + +title: SSB Log Entry 610 +date: 2020-05-12T07:59:24-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +## Done + + * Fixed a mistake I made in the Lipmaa link implementation + +## TODO + + * Fix a bug where a message containing `\n` in a key causes `StringScanner` to hang indefinitely. + * Re-order header fields to be more readable + * Cleanup and documentation + +## IDEAS WELCOME (Naming Things) + +Yesterday I talked about how I [want to get rid of SSB-style sigils](%HKZ687D5pkUjfvbPn3CLhHquJ4PaIIXJm2GYHAQ1MO8=.sha256) in favor of ones that are URL-safe and human readable. The idea was well received, but **there's some disagreement as to what we should use instead of the current sigils**. + +Right now, we use `@`, `%`, `&` sigils to represent identities, messages and blobs, respectively. + +I had originally proposed changing them to the following: + + * Change `@` to `feed.` + * Change `&` to `blob.` + * Change `%` to `mesg.` + +The first two seem to work. The last one was not as popular, mostly based on the feedback that people don't like abbreviating words for various reasons. Eg: makes it harder for non-native English speakers to look it up in a dictionary, and it will act funny in screen readers (though I think the Base32 that follows a sigil would do the same anyway). + +I'm not sure what I should use instead of `mesg.`. + + * I don't want to use `message.` because pigeon multihashes are already longer than SSB multihashes (52 characters, last time I checked). + * It would be nice if the new sigil is exactly 4 letters long because you can perform string indexing more easily when writing lexers or working in constrained environments / languages with minimal string support. It is also a lot easier on the eyes when multihashes all line up neatly. + * [@kas](https://scuttlebutt.nz/) suggested using `post.` This is probably what I will use if I can't find a better alternative. + +Does anyone have any other ideas? Another alternative I've considered is using single character sigils, such as `F` for feeds, `B` for blob, `M` for message. It's not as readable, but it _is_ more URL safe and only slightly less anglocentric than the current sigils. + +I'm open to more ideas. I will probably just go with `post.` otherwise. + +#pigeon-protocol diff --git a/source/blog/ssb-NSZtCBFqox9Wkx9w1NEwGpaFRKVA32fEmbmtCRM3wDo=.html.markdown b/source/blog/ssb-NSZtCBFqox9Wkx9w1NEwGpaFRKVA32fEmbmtCRM3wDo=.html.markdown new file mode 100644 index 0000000..7b2e388 --- /dev/null +++ b/source/blog/ssb-NSZtCBFqox9Wkx9w1NEwGpaFRKVA32fEmbmtCRM3wDo=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 727 +date: 2020-05-28T20:19:24-05:00 +tags: + +--- + +Sure, you've heard of the hot new trend known as "dopamine fasting", but have you heard of the lesser known trend of "cortisol feasting"? diff --git a/source/blog/ssb-ObPWkWxdbMDHWR8Xalc8KqXGYVeAMCN7Q7obeiWFspY=.html.markdown b/source/blog/ssb-ObPWkWxdbMDHWR8Xalc8KqXGYVeAMCN7Q7obeiWFspY=.html.markdown new file mode 100644 index 0000000..dc36635 --- /dev/null +++ b/source/blog/ssb-ObPWkWxdbMDHWR8Xalc8KqXGYVeAMCN7Q7obeiWFspY=.html.markdown @@ -0,0 +1,12 @@ +--- + +title: SSB Log Entry 487 +date: 2020-04-22T13:03:23-05:00 +tags: + +--- + +[@SoapDog (SPX)](https://scuttlebutt.nz/)'s recent post (%ZvMutQOyUPbi2oQ1Cd3QZLXWAgsgBcxTsU4mSoPNCBw=.sha256) got me thinking: + +What are some good open standards that are actively maintained *other than HTML* for easily rendering cross-platform graphics on a screen? Does such a thing exist? Again, the goal is to _not use HTML or web engines_. + diff --git a/source/blog/ssb-QHzNC12DZr6G8tMwEL3jTkHABdNbvPXrVTGoy31-U8o=.html.markdown b/source/blog/ssb-QHzNC12DZr6G8tMwEL3jTkHABdNbvPXrVTGoy31-U8o=.html.markdown new file mode 100644 index 0000000..26868e3 --- /dev/null +++ b/source/blog/ssb-QHzNC12DZr6G8tMwEL3jTkHABdNbvPXrVTGoy31-U8o=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 616 +date: 2020-05-13T06:50:42-05:00 +tags: + +--- + +![A Northern Cardinal sitting in a pile of brush](http://tilde.town/~netscape_navigator/img/ssb/JdWl6rAnQiehSzlcXo-599o8NXurRXC0k-tSx24k4Eg=.png) + +This guy came to visit me during my morning coffee. Had to use digital zoom, unfortunately, which reduced the image's quality. I was concerned that if I got any closer it would fly away. + +#showmeyourbirds #birds diff --git a/source/blog/ssb-Q_5QqPmHY-HLufx0vTqxbteVsTuclszroYzQt0-fRrA=.html.markdown b/source/blog/ssb-Q_5QqPmHY-HLufx0vTqxbteVsTuclszroYzQt0-fRrA=.html.markdown new file mode 100644 index 0000000..bc50549 --- /dev/null +++ b/source/blog/ssb-Q_5QqPmHY-HLufx0vTqxbteVsTuclszroYzQt0-fRrA=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 719 +date: 2020-05-26T19:52:32-05:00 +tags: + +--- + +Just found out that cardinals account for 49% percent of backyard bird sightings in my locale. He's special to me and I'm not going to let statistics get in the way of that. You're welcome to my bird feeder any day, buddy. + +![a northern cardinal peering in to my window](http://tilde.town/~netscape_navigator/img/ssb/ov_4CZVeXSplu1rfnJhip6dsVS1wc8Jkhv4zAJ7r5FM=.png) + +#birds #showmeyourbirds diff --git a/source/blog/ssb-S6gUdmDCXCQy5RVn86Afl_zqWJlFMt7gKPrinueWW7A=.html.markdown b/source/blog/ssb-S6gUdmDCXCQy5RVn86Afl_zqWJlFMt7gKPrinueWW7A=.html.markdown new file mode 100644 index 0000000..6303882 --- /dev/null +++ b/source/blog/ssb-S6gUdmDCXCQy5RVn86Afl_zqWJlFMt7gKPrinueWW7A=.html.markdown @@ -0,0 +1,26 @@ +--- + +title: SSB Log Entry 766 +date: 2020-06-09T08:24:03-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, June 9th 2020 + +_Note to folks just tuning in:_ I do semi-daily updates related to #pigeon-protocol - [a sneakernet-focused project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# Done + +The first ever stable version is [published on Tildegit](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby) under the `v0.2.0` tag. + +Now that the API is stable, I need to go back through all the deprecated docs I've written and make sure I'm not referencing old information. + +I also added installation instructions to the README. + +# TODO + +Now that the message format has been adequately tidied, I really need to focus on the sharable parts of the project. + + * Moar documentation. + * Write an implementation in Go that will serve as the "most official implementation". Ruby was great for trying out ideas, but it is not very portable and I've had trouble sharing Ruby code with non-Rubyists in the past. More people would be able to try stuff out if static binaries are available and Go will make that easy while not getting me too bogged down in things like memory management or learning what a borrow checker is. diff --git a/source/blog/ssb-S88cxmCeIMWXGpfxnybynb7v2XdqarrYoWciMIxb1fM=.html.markdown b/source/blog/ssb-S88cxmCeIMWXGpfxnybynb7v2XdqarrYoWciMIxb1fM=.html.markdown new file mode 100644 index 0000000..75f1ef1 --- /dev/null +++ b/source/blog/ssb-S88cxmCeIMWXGpfxnybynb7v2XdqarrYoWciMIxb1fM=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 591 +date: 2020-05-10T16:42:14-05:00 +tags: + +--- + +A test of skill where competitors create software, but run time exceptions are the only allowed means of flow control. diff --git a/source/blog/ssb-T0fSYxx2THOwDQ-5PKv-GuEQsl5ajy6QeD8yiD4bWhE=.html.markdown b/source/blog/ssb-T0fSYxx2THOwDQ-5PKv-GuEQsl5ajy6QeD8yiD4bWhE=.html.markdown new file mode 100644 index 0000000..ec66ccf --- /dev/null +++ b/source/blog/ssb-T0fSYxx2THOwDQ-5PKv-GuEQsl5ajy6QeD8yiD4bWhE=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 422 +date: 2020-03-30T11:36:40-05:00 +tags: + +--- + +Found this on Twitter today. Seems useful: +![image.png](http://tilde.town/~netscape_navigator/img/ssb/ly6hGrmV8mo5a730kHZwpBeG3Qv7lRpkkIHQbmik7b0=.png) + diff --git a/source/blog/ssb-TcQxum9YMBl_sGyLWUNXB3lF9MxoMTt6dj8ORafAONg=.html.markdown b/source/blog/ssb-TcQxum9YMBl_sGyLWUNXB3lF9MxoMTt6dj8ORafAONg=.html.markdown new file mode 100644 index 0000000..5a6311b --- /dev/null +++ b/source/blog/ssb-TcQxum9YMBl_sGyLWUNXB3lF9MxoMTt6dj8ORafAONg=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 698 +date: 2020-05-23T08:52:10-05:00 +tags: + +--- + +The coffee cessation idea lasted about 4 hours, btw. diff --git a/source/blog/ssb-U1y_0CQgrO1cvNy0hyG5_08YZ2uwYP64LPSEnJMHKHQ=.html.markdown b/source/blog/ssb-U1y_0CQgrO1cvNy0hyG5_08YZ2uwYP64LPSEnJMHKHQ=.html.markdown new file mode 100644 index 0000000..ec110ee --- /dev/null +++ b/source/blog/ssb-U1y_0CQgrO1cvNy0hyG5_08YZ2uwYP64LPSEnJMHKHQ=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 772 +date: 2020-06-09T14:45:47-05:00 +tags: + +--- + +Just installed #beakerbrowser . This is cool, but I think I need to wait until I get home. Current network is not hole punchable. Is that a big deal? diff --git a/source/blog/ssb-VTo37ZwdGjYJvSbH7n0GGYHY8mqxPB1J1nGWmaa-CdY=.html.markdown b/source/blog/ssb-VTo37ZwdGjYJvSbH7n0GGYHY8mqxPB1J1nGWmaa-CdY=.html.markdown new file mode 100644 index 0000000..44ab6e4 --- /dev/null +++ b/source/blog/ssb-VTo37ZwdGjYJvSbH7n0GGYHY8mqxPB1J1nGWmaa-CdY=.html.markdown @@ -0,0 +1,18 @@ +--- + +title: SSB Log Entry 515 +date: 2020-04-28T08:33:23-05:00 +tags: + +--- + +Towards the end of last year, I started noodling around with an idea of an SSB-esque protocol that had fewer "moving parts" so that it could be: + + * Easily implemented by third party devs in new languages + * Free of network dependencies (I wanted something that could easily operate on Win 3.1, Palm Pilot or sneakernet) + +I started working on [this idea](https://tildegit.org/PigeonProtocolConsortium/protocol_spec) and wrote [the first working implementation](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby) this month. + +The docs need a lot of work and the client is still not quite stable, admittedly. I am showing the docs to folks with similar interests for constructive feedback. + +What do you think? diff --git a/source/blog/ssb-WShojc0LEpjJBk-snyGhw8ObzsyVPOHBuKD-IshkA1A=.html.markdown b/source/blog/ssb-WShojc0LEpjJBk-snyGhw8ObzsyVPOHBuKD-IshkA1A=.html.markdown new file mode 100644 index 0000000..7dbdafd --- /dev/null +++ b/source/blog/ssb-WShojc0LEpjJBk-snyGhw8ObzsyVPOHBuKD-IshkA1A=.html.markdown @@ -0,0 +1,10 @@ +--- + +title: SSB Log Entry 521 +date: 2020-04-28T14:50:12-05:00 +tags: + +--- + +![A save icon that is not a floppy disk but instead is a blank sheet of paper with an arrow pointing down](http://tilde.town/~netscape_navigator/img/ssb/OGnjS50JYTkH7_5-ZiP1ej32aPQDoWpgPhQW_u2nOeM=.png) +Looks like OpenOffice "modernized" their save icon to no longer be a floppy disk. I'm outraged. diff --git a/source/blog/ssb-XWf6Ik3LBh-bSKMNotzTn-F8XwIrxT1xxiHYegSDHH4=.html.markdown b/source/blog/ssb-XWf6Ik3LBh-bSKMNotzTn-F8XwIrxT1xxiHYegSDHH4=.html.markdown new file mode 100644 index 0000000..83c1136 --- /dev/null +++ b/source/blog/ssb-XWf6Ik3LBh-bSKMNotzTn-F8XwIrxT1xxiHYegSDHH4=.html.markdown @@ -0,0 +1,40 @@ +--- + +title: SSB Log Entry 753 +date: 2020-06-05T08:04:33-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, June 5th 2020 + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# Done + +I am (finally) done renaming sigils. + +The new messages look like this: + +``` +author USER.XE50J6A292KXRT1TRPR3DGQKTASDD9WMKGVQM5RFX9N06T7YAR7G +depth 12 +kind example-entry +lipmaa TEXT.J59CT9PW3FHR4BQAHAE5M4EMBDCRWW03FBBYN7M3114QMC1YDTMG +prev TEXT.HBX5PHVGKKQ3NVPSVD2HMESYVNR3YWKWXNAG4XG0MCFPB04VW40G + +example-string:"596c18e0-b1d6-47ba-9f61-d330f7b9228e" +just-a-blob-i-guess:FILE.ET9C7B9N82XR0F021CXEWSPDH23H4CHMX866WWA3R2PXEFZM67PG +my_friend:USER.DD9WMKGVQM5RFX9N06T7YAR7GSATKQGD3RPRT1TRXK292A6J05EX +FILE.7Z2CSZKMB1RE5G6SKXRZ63ZGCNP8VVEM3K0XFMYKETRDQSM5WBSG:"want" + +signature XVP9R...(redacted)...S8E08 +``` + +# TODO + +Now that the message format has been adequately tidied, I really need to focus on the sharable parts of the project. + + * Go back to writing documentation. + * Publish the Rubygem. + * Write an implementation in Go that will serve as the "most official implementation". Ruby was great for trying out ideas, but it is not very portable and I've had trouble sharing Ruby code with non-Rubyists in the past. More people would be able to try stuff out if static binaries are available and Go will make that easy while not getting me too bogged down in things like memory management or learning what a borrow checker is. diff --git a/source/blog/ssb-YDd4bo99UooBHe3cnsoR2EFcuusfohsBERtIIs0Q4Yg=.html.markdown b/source/blog/ssb-YDd4bo99UooBHe3cnsoR2EFcuusfohsBERtIIs0Q4Yg=.html.markdown new file mode 100644 index 0000000..5ed1eeb --- /dev/null +++ b/source/blog/ssb-YDd4bo99UooBHe3cnsoR2EFcuusfohsBERtIIs0Q4Yg=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 555 +date: 2020-05-05T06:53:45-05:00 +tags: + +--- + +Does this exist: A machine-learning based tool for extracting key terms from text so that authors can better create glossaries for their reference texts? diff --git a/source/blog/ssb-YUKWO_PDY8V2PCRCl28J5tkZpmPG2uC0HKAzn2ndY3E=.html.markdown b/source/blog/ssb-YUKWO_PDY8V2PCRCl28J5tkZpmPG2uC0HKAzn2ndY3E=.html.markdown new file mode 100644 index 0000000..6f43ad8 --- /dev/null +++ b/source/blog/ssb-YUKWO_PDY8V2PCRCl28J5tkZpmPG2uC0HKAzn2ndY3E=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 590 +date: 2020-05-10T16:36:07-05:00 +tags: + +--- + +Remember these? https://www.mouseware.org/ diff --git a/source/blog/ssb-_ACaDqLICSdVR7X2YNmitNih9W3C3Sm59R1sOLdvY6s=.html.markdown b/source/blog/ssb-_ACaDqLICSdVR7X2YNmitNih9W3C3Sm59R1sOLdvY6s=.html.markdown new file mode 100644 index 0000000..698a505 --- /dev/null +++ b/source/blog/ssb-_ACaDqLICSdVR7X2YNmitNih9W3C3Sm59R1sOLdvY6s=.html.markdown @@ -0,0 +1,14 @@ +--- + +title: SSB Log Entry 439 +date: 2020-04-04T11:13:11-05:00 +tags: + +--- + +![a cluster of four seeds on a piece of white paper. The seeds have just opened](http://tilde.town/~netscape_navigator/img/ssb/BGUwKmelfKZn69DrQsPq0U68rE-dbzrnMy3dvDEBen4=.jpeg) + +Looks like scarification works! For perspective: these seeds were sitting on a wet towel for weeks with no activity. They started to crack and swell within 24 hours of scarification. Hopefully the keep growing! + +#gardening + diff --git a/source/blog/ssb-_FxOuHhfDhQSPCdMmjoa_O_TVZ_XzJEQtPkhFXvCY4U=.html.markdown b/source/blog/ssb-_FxOuHhfDhQSPCdMmjoa_O_TVZ_XzJEQtPkhFXvCY4U=.html.markdown new file mode 100644 index 0000000..aaa1a88 --- /dev/null +++ b/source/blog/ssb-_FxOuHhfDhQSPCdMmjoa_O_TVZ_XzJEQtPkhFXvCY4U=.html.markdown @@ -0,0 +1,15 @@ +--- + +title: SSB Log Entry 552 +date: 2020-05-04T08:52:18-05:00 +tags: + +--- + +(I forgot that #dev-diary was a thing) + +# Pigeon Protocol Daily Updates + + * Continued writing developer [documentation](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). I am probably 40% done at this point. + +#pigeon-protocol diff --git a/source/blog/ssb-_hSkjg2OVsgX-FTqYZRN-RYm5VIoGYOXmMRWGTUFKus=.html.markdown b/source/blog/ssb-_hSkjg2OVsgX-FTqYZRN-RYm5VIoGYOXmMRWGTUFKus=.html.markdown new file mode 100644 index 0000000..1bf591a --- /dev/null +++ b/source/blog/ssb-_hSkjg2OVsgX-FTqYZRN-RYm5VIoGYOXmMRWGTUFKus=.html.markdown @@ -0,0 +1,18 @@ +--- + +title: SSB Log Entry 703 +date: 2020-05-24T12:52:50-05:00 +tags: + +--- + +I just read about #zettelkasten this week. +I also started an graph algorithms MOOC this week. +Last week I learned about "terminology extraction" +I would love to have a zettlekasten system that: + + * Performs terminology extraction on each note. + * Cross references notes having titles matching the terminology without user intervention. + +How could one do this with open source tools? Hmm.... + diff --git a/source/blog/ssb-aEuNjiVOLfQEY5WcLhubMmz_wkEgSLCS4zyZK_b1KwY=.html.markdown b/source/blog/ssb-aEuNjiVOLfQEY5WcLhubMmz_wkEgSLCS4zyZK_b1KwY=.html.markdown new file mode 100644 index 0000000..2febc71 --- /dev/null +++ b/source/blog/ssb-aEuNjiVOLfQEY5WcLhubMmz_wkEgSLCS4zyZK_b1KwY=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 599 +date: 2020-05-11T09:15:48-05:00 +tags: + +--- + +![one of those pens that does OCR using a sliding pane of glass](http://tilde.town/~netscape_navigator/img/ssb/27wla4K17tQv9s1K3BvRM4HvwMbT-nwRg_Vt-Mi6hTQ=.png) + +I am pretty sure I am dyslexic, but never bothered to get it checked out. I use a screen reader to help me read a lot because sometimes I "think" I see a word a certain way and it's actually not the correct word. Paper books (or, oh my god, PDFs on Linux) are really hard to read still. + +I've seen OCR scanners like the one in the picture. I'd like to buy one, but they're very expensive. Maybe I could make a DIY one? Does anyone know how these things work? diff --git a/source/blog/ssb-coPQoI0ZJCX0ZVDSr4M40JOByKMAAiE-1hsohLG5cz4=.html.markdown b/source/blog/ssb-coPQoI0ZJCX0ZVDSr4M40JOByKMAAiE-1hsohLG5cz4=.html.markdown new file mode 100644 index 0000000..9f15215 --- /dev/null +++ b/source/blog/ssb-coPQoI0ZJCX0ZVDSr4M40JOByKMAAiE-1hsohLG5cz4=.html.markdown @@ -0,0 +1,50 @@ +--- + +title: SSB Log Entry 747 +date: 2020-06-03T08:50:59-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update, June 3rd 2020 + +_Note to folks just tuning in:_ I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# Discussion + +Yesterday I had an interesting discussion with [@Christian Bundy](https://scuttlebutt.nz/) surrounding serialization formats. It brought up a good question: "Is it worth it to have a custom serialization format?". Pigeon is my response to a project I attempted with SSB a year or so ago. The project ran in an offline environment where Javascript was not appropriate and where data transfer happened over a medium that did not have access to the public internet or DNS. + +In attempting to write my own SSB implementation, I noticed that JSON was so flexible that it allowed a lot of room for error. It also allowed the use of arrays and nested objects, which led to things like "dot.notation.to.access.stuff", which I didn't like from an ergonomic standpoint. + +The world has a lot of serialization formats. JSON is ubiquitous and well understood. Despite this, I felt that SSB's use of JSON was not a win for discoverability or comprehension. One of the things that has made JSON so popular (and basically the first choice for most projects) is its flexibility. There are no schemas, the delimiters only take up a few bytes, there's no "XML tax" to pay with opening/closing tags, stuff is infinitely nestable, etc... + +For a use case like cryptographic signing, I would argue that flexibility is _bad_ and attracts human error while increasing the difficulty of implementation for third party devs. + +For those reasons, I decided it would be best to give Pigeon its own serialization format. I wanted to re-invent the wheel with the hopes of creating a round one (quote stolen, sorry not sorry). + +The format: + + * Does not allow the use of flexible lists, which lessens that chance of out-of-order elements and makes life easier for users of languages with manual memory management. + * Does not allow nesting of objects within objects, leading to schemas that can be understood in a single glance and which do not allow for infinite scope creep (at some point, you will be forced to create a new schema outside of the current message). + * Does not allow the use of comments, which forces developers to either put data in the app or not (as opposed to allowing "magic comments", pragmas and other half baked ideas) + * Has a focus on ease of implementation, eg: it's not XML. + * Allows for first class implementation of protocol-specific data types. For example, we allow for blob literals instead of forcing everything the be a string that requires application-layer schema validation (the lexer / parser will catch invalid blob/feed/message literals) + * Discourages (but does not prevent entirely) ambiguity by having strict rules about order and whitespace (important for signature verification) + +With that being said, I think, if this idea is worth pursuing at all, the INI file format is the closest thing to what I want. TOML looked good, but I did not take into account the infinite nesting / array parts of it. It would need to be a strict subset of INI, however. I would not want to allow arbitrary use of whitespace, or the addition of comments which inevitably creeps into out-of-band schemas. + +With that, I think I might not investigate third-party serialization formats. Interested to hear feedback, though. Especially if anyone knows of a format that fits the requirements and would reduce the amount of work required to author a third-party pigeon implementation :thinking_face: + +# Done + + * Fairly certain the sigil change is complete and the last piece to complete is just updating the test suite. + +# In Progress + + * Change `@`, `%`, `&` to `FEED.`, `TEXT.`, `FILE.`, respectively. + * Make ED25519 and SHA256 the default and only option for hashing and signing. Deprecate "footers" like `.sig.ed25519`, `.sha256`. + +# TODO + + * Go back to writing documentation + * After the Ruby codebase stabilizes maybe write an implementation in Go that will essentially just be a copy/paste job on the Ruby version. Ruby was great for trying out ideas, but it is not very portable and I've had trouble sharing Ruby code with non-Rubyists in the past. More people would be able to try stuff out if static binaries are available and Go will make that easy while not getting me too bogged down in things like memory management or learning what a borrow checker is. diff --git a/source/blog/ssb-cwNdUVJYFWV1BVHNgyvD13EegpuxhsR_49Fzumy4bCQ=.html.markdown b/source/blog/ssb-cwNdUVJYFWV1BVHNgyvD13EegpuxhsR_49Fzumy4bCQ=.html.markdown new file mode 100644 index 0000000..bbf80f2 --- /dev/null +++ b/source/blog/ssb-cwNdUVJYFWV1BVHNgyvD13EegpuxhsR_49Fzumy4bCQ=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 461 +date: 2020-04-12T10:52:41-05:00 +tags: + +--- + +Just deleted Twitter. I took a year off in 2019 and after being back for a few months, I can see it's not very positive and does not bring a lot of value to my life. Algorithmic feeds are bad. diff --git a/source/blog/ssb-ffDHkLqa37dFI7rlY_K8u3f2u_NRzczRg4dC1iafCF8=.html.markdown b/source/blog/ssb-ffDHkLqa37dFI7rlY_K8u3f2u_NRzczRg4dC1iafCF8=.html.markdown new file mode 100644 index 0000000..4b5a29d --- /dev/null +++ b/source/blog/ssb-ffDHkLqa37dFI7rlY_K8u3f2u_NRzczRg4dC1iafCF8=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 774 +date: 2020-06-10T08:23:37-05:00 +tags: + +--- + +OK I think I have beaker working. I guess I should share drives with people now? diff --git a/source/blog/ssb-g7b2Qpl1DVWYpRl8XnrNXRVVg2m--IDqmmDwRthxY8M=.html.markdown b/source/blog/ssb-g7b2Qpl1DVWYpRl8XnrNXRVVg2m--IDqmmDwRthxY8M=.html.markdown new file mode 100644 index 0000000..9e42ac9 --- /dev/null +++ b/source/blog/ssb-g7b2Qpl1DVWYpRl8XnrNXRVVg2m--IDqmmDwRthxY8M=.html.markdown @@ -0,0 +1,19 @@ +--- + +title: SSB Log Entry 619 +date: 2020-05-13T11:22:58-05:00 +tags: + +--- + +# Pokemon Go, but Birds + + * You sign up + * You see a bird and photograph it. + * Multiple players within a 30 mile radius identify the bird and reach consensus. Players earn points for correct identification, lose points for misidentification. + * Once a quorum of 5 is reached, a 3 day waiting window begins. + * Players who photograph the same bird within this three day period "steal" points from the player, thereby rewarding players who find the rarest birds. + * If no one photographs the bird within the three day point-stealing spree, the user is awarded a large prize, possibly based on rarity of said bird. + * Points are redeemed for bird-themed prrizes, such as seed bells and feeders. + + diff --git a/source/blog/ssb-gf8cRhJsZZVEQ76h7t2wLDigyinu-ICxE05JHV3BoGQ=.html.markdown b/source/blog/ssb-gf8cRhJsZZVEQ76h7t2wLDigyinu-ICxE05JHV3BoGQ=.html.markdown new file mode 100644 index 0000000..f45fff3 --- /dev/null +++ b/source/blog/ssb-gf8cRhJsZZVEQ76h7t2wLDigyinu-ICxE05JHV3BoGQ=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 440 +date: 2020-04-04T12:13:52-05:00 +tags: + +--- + +Secure Scuttlebutt's immutability gives us the gift of humility. Everyone makes spelling mistakes. Especially me. diff --git a/source/blog/ssb-jEqyQcSvZFx7kvrt6ghf_q1oLG1vDXY2j85Ngzpn24g=.html.markdown b/source/blog/ssb-jEqyQcSvZFx7kvrt6ghf_q1oLG1vDXY2j85Ngzpn24g=.html.markdown new file mode 100644 index 0000000..b4f0022 --- /dev/null +++ b/source/blog/ssb-jEqyQcSvZFx7kvrt6ghf_q1oLG1vDXY2j85Ngzpn24g=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 708 +date: 2020-05-24T20:44:15-05:00 +tags: + +--- + +Probably need to take a one week vacation from #pigeon-protocol to tend to some work / family issues. I will be back at it in exactly one week. Thanks for all the support folks! diff --git a/source/blog/ssb-m23UhC0pO2wwkNKxwqEiJPHwSDSFmpQixcw6C-uOIxg=.html.markdown b/source/blog/ssb-m23UhC0pO2wwkNKxwqEiJPHwSDSFmpQixcw6C-uOIxg=.html.markdown new file mode 100644 index 0000000..d8cec1a --- /dev/null +++ b/source/blog/ssb-m23UhC0pO2wwkNKxwqEiJPHwSDSFmpQixcw6C-uOIxg=.html.markdown @@ -0,0 +1,20 @@ +--- + +title: SSB Log Entry 560 +date: 2020-05-06T08:11:27-05:00 +tags: + +--- + +# Pigeon Protocol Daily Update + +## DONE + +Not too much to declare here. Still writing docs. + +## TODO + + * While writing documentation, I found a few bugs related to blobs and backlinks. I will fix these before continuing. + * Finish documentation (taking longer than expected). + +#pigeon-protocol diff --git a/source/blog/ssb-nFrHqtx7b-7mWpVMSeFn84D1V-Hx4Uip0d0GwWDCgCw=.html.markdown b/source/blog/ssb-nFrHqtx7b-7mWpVMSeFn84D1V-Hx4Uip0d0GwWDCgCw=.html.markdown new file mode 100644 index 0000000..6564e4a --- /dev/null +++ b/source/blog/ssb-nFrHqtx7b-7mWpVMSeFn84D1V-Hx4Uip0d0GwWDCgCw=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 662 +date: 2020-05-16T16:23:31-05:00 +tags: + +--- + +I sure could use some humor right about now. diff --git a/source/blog/ssb-nY7bqND5Kqym8MGu2zl2_dyvbaTvPt7jjuzKrNkbZHA=.html.markdown b/source/blog/ssb-nY7bqND5Kqym8MGu2zl2_dyvbaTvPt7jjuzKrNkbZHA=.html.markdown new file mode 100644 index 0000000..80ff2ea --- /dev/null +++ b/source/blog/ssb-nY7bqND5Kqym8MGu2zl2_dyvbaTvPt7jjuzKrNkbZHA=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 716 +date: 2020-05-26T09:24:57-05:00 +tags: + +--- + +#qaul looks cool and seems to have many of the same goals as #pigeon-protocol . + +I really like the term "internet independent" and am excited to see where this goes. diff --git a/source/blog/ssb-ncv2FTM-HqhUFe345mbZHMIfShFfnvpmgrHpFkerCyM=.html.markdown b/source/blog/ssb-ncv2FTM-HqhUFe345mbZHMIfShFfnvpmgrHpFkerCyM=.html.markdown new file mode 100644 index 0000000..79aac35 --- /dev/null +++ b/source/blog/ssb-ncv2FTM-HqhUFe345mbZHMIfShFfnvpmgrHpFkerCyM=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 606 +date: 2020-05-11T17:03:59-05:00 +tags: + +--- + +#italodisco legend Alberto Carpani (AKA Albert One) passed away today from pneumonia, possibly caused by COVID-19. First Italo record I ever bought. Really going to miss him and his work. diff --git a/source/blog/ssb-oE95UYqs3PD5nIJledbmeujc21KbD5PpjzVeHHh9DMw=.html.markdown b/source/blog/ssb-oE95UYqs3PD5nIJledbmeujc21KbD5PpjzVeHHh9DMw=.html.markdown new file mode 100644 index 0000000..7a1fab1 --- /dev/null +++ b/source/blog/ssb-oE95UYqs3PD5nIJledbmeujc21KbD5PpjzVeHHh9DMw=.html.markdown @@ -0,0 +1,25 @@ +--- + +title: SSB Log Entry 533 +date: 2020-05-01T09:30:38-05:00 +tags: + +--- + + +# Pigeon Protocol Daily Update + +## DONE + +Proof read the front page of the [protocol spec](https://tildegit.org/PigeonProtocolConsortium/protocol_spec) and shuffled things around a bit. Technically this isn't done. + +## TODO + + * Finish writing the [developer docs](https://tildegit.org/PigeonProtocolConsortium/protocol_spec/src/branch/master/DEV_DOCS.md) that specify message / bundle formats. + +## HELP WANTED + + * Proofreaders are always welcome. I will reply to all comments. + * If anyone is good at writing BNF grammars, I could use some help with creating a formal grammar for [this thing](https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby/src/branch/master/lib/pigeon/lexer.rb#L47-L71). + + #pigeon-protocol diff --git a/source/blog/ssb-pCCk_49_073TW9CytkG3-_iR628ar8TA5wIv6V9ol7I=.html.markdown b/source/blog/ssb-pCCk_49_073TW9CytkG3-_iR628ar8TA5wIv6V9ol7I=.html.markdown new file mode 100644 index 0000000..2fa4be4 --- /dev/null +++ b/source/blog/ssb-pCCk_49_073TW9CytkG3-_iR628ar8TA5wIv6V9ol7I=.html.markdown @@ -0,0 +1,25 @@ +--- + +title: SSB Log Entry 645 +date: 2020-05-15T08:01:14-05:00 +tags: + +--- + +# Pigeon Protocol Update: May 15th, 2020 + +Note to folks just tuning in: I do daily updates related to #pigeon-protocol - [a project with similar goals to SSB](https://tildegit.org/PigeonProtocolConsortium/protocol_spec). + +# DONE + +Yesterday, I found a bug. Header entries were order dependent. A better implementation would allow authors to put the headers in any order, but there are some historical artifacts preventing that in the Ruby implementation. + +To allow message headers in any order, I (think I) must perform signature verification while lexing messages, rather than at the time of ingestion. + +This is still a WIP. + +# TODO + + * Finish lexer updates + * Do the big sigil update + * Get back to writing documentation diff --git a/source/blog/ssb-qVzZ69OWCERqxF2NJQGEggT3atFmxwJGu3KMY7cvATk=.html.markdown b/source/blog/ssb-qVzZ69OWCERqxF2NJQGEggT3atFmxwJGu3KMY7cvATk=.html.markdown new file mode 100644 index 0000000..0a9adf6 --- /dev/null +++ b/source/blog/ssb-qVzZ69OWCERqxF2NJQGEggT3atFmxwJGu3KMY7cvATk=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 676 +date: 2020-05-20T08:51:01-05:00 +tags: + +--- + +Unpopular opinion: Parallelism is a compromise you make at design time to gain performance speed while sacrificing traceability and introspection. diff --git a/source/blog/ssb-rovWYEY0dBHDO9y8uXBaaLvUxOlj4Ht6AhyiygCSvFs=.html.markdown b/source/blog/ssb-rovWYEY0dBHDO9y8uXBaaLvUxOlj4Ht6AhyiygCSvFs=.html.markdown new file mode 100644 index 0000000..84a96a2 --- /dev/null +++ b/source/blog/ssb-rovWYEY0dBHDO9y8uXBaaLvUxOlj4Ht6AhyiygCSvFs=.html.markdown @@ -0,0 +1,15 @@ +--- + +title: SSB Log Entry 760 +date: 2020-06-07T18:30:18-05:00 +tags: + +--- + +# Wrist-Based Data Storage + +A smart watch with a 1 TB SD card. + +Instead of pulling data from the cloud, you pull it from the watches' SD card. Your phone and your laptop are both able to retrieve data via Bluetooth or WiFi. Since a watch is easy to wear and literally attached to your body, your data follows you wherever you go. + +At night, you put it into a cradle to charge. The cradle has a redundant SSD that performs nightly backups in case the watch is ever damaged. Cradles are stackable for extra redundancy. diff --git a/source/blog/ssb-s-T0wai_wT-C1aiXBy6RFJ-KLiu2hqP_0Pz7TKFqBKE=.html.markdown b/source/blog/ssb-s-T0wai_wT-C1aiXBy6RFJ-KLiu2hqP_0Pz7TKFqBKE=.html.markdown new file mode 100644 index 0000000..ea07e28 --- /dev/null +++ b/source/blog/ssb-s-T0wai_wT-C1aiXBy6RFJ-KLiu2hqP_0Pz7TKFqBKE=.html.markdown @@ -0,0 +1,12 @@ +--- + +title: SSB Log Entry 737 +date: 2020-06-02T09:11:01-05:00 +tags: + +--- + +![huge tomato plants in a pot](http://tilde.town/~netscape_navigator/img/ssb/UQiLUuRMdgU2ewzcABxeNeYsfNnFzlP58jKwMc93YIQ=.png) +Tomato plants are getting big. I've had good luck with old pots that sat outside unused (and full of leaves) for a year or two before being planting. I don't know what it is about that that makes the soil so favorable. + +#gardening diff --git a/source/blog/ssb-t9kDesL9sXdkVpEFx9ut02lchPMTj0jFkCJswXsNlQw=.html.markdown b/source/blog/ssb-t9kDesL9sXdkVpEFx9ut02lchPMTj0jFkCJswXsNlQw=.html.markdown new file mode 100644 index 0000000..b1aadb2 --- /dev/null +++ b/source/blog/ssb-t9kDesL9sXdkVpEFx9ut02lchPMTj0jFkCJswXsNlQw=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 695 +date: 2020-05-22T18:37:25-05:00 +tags: + +--- + +Remember in 2015 when everyone was like "Use ES6 transpilers! Some day, you won't even need them!" + +lol diff --git a/source/blog/ssb-uOWIJqdsaPB74ZbeyfafW_XSMmf1cdDWVMfBn_P-nh8=.html.markdown b/source/blog/ssb-uOWIJqdsaPB74ZbeyfafW_XSMmf1cdDWVMfBn_P-nh8=.html.markdown new file mode 100644 index 0000000..f79f626 --- /dev/null +++ b/source/blog/ssb-uOWIJqdsaPB74ZbeyfafW_XSMmf1cdDWVMfBn_P-nh8=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 704 +date: 2020-05-24T15:47:14-05:00 +tags: + +--- + +Possible #zettelkasten client. For the irony, mostly: https://en.wikipedia.org/wiki/Cardfile diff --git a/source/blog/ssb-ukxr4okUhNYZyFHXq1dZMPP2C5YRTk3AujbIdbVuzfg=.html.markdown b/source/blog/ssb-ukxr4okUhNYZyFHXq1dZMPP2C5YRTk3AujbIdbVuzfg=.html.markdown new file mode 100644 index 0000000..0570566 --- /dev/null +++ b/source/blog/ssb-ukxr4okUhNYZyFHXq1dZMPP2C5YRTk3AujbIdbVuzfg=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 525 +date: 2020-04-29T13:52:49-05:00 +tags: + +--- + +ONLY 90s KIDS WILL RECOGNIZE THIS ONE: + +![literally just a desktop email client](http://tilde.town/~netscape_navigator/img/ssb/SSYmyuDjUS-Bz8CXk26PQYoHjYV6bGp2Ax6-GWJB28s=.png) + +I made the switch to a desktop email client recently. It's been refreshing. It's fast, simple. It works. diff --git a/source/blog/ssb-xJsXM1zXdxEHw-dkydQc_fqUiZGgscSFZ2-_wou22ZU=.html.markdown b/source/blog/ssb-xJsXM1zXdxEHw-dkydQc_fqUiZGgscSFZ2-_wou22ZU=.html.markdown new file mode 100644 index 0000000..ea3f2d6 --- /dev/null +++ b/source/blog/ssb-xJsXM1zXdxEHw-dkydQc_fqUiZGgscSFZ2-_wou22ZU=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 712 +date: 2020-05-25T15:04:32-05:00 +tags: + +--- + +I dislike using Git for things other than version control. + +It's a great version control system, but every time I see a tool that uses Git for other stuff (static site generator, database, package manager, installation tool, etc...), it lacks polish and feels like you're just using someone elses bash script collection. diff --git a/source/blog/ssb-xa0A1F8O2A_Hf5GVsOglRLACZNdpnepKD5EVOzO90Ac=.html.markdown b/source/blog/ssb-xa0A1F8O2A_Hf5GVsOglRLACZNdpnepKD5EVOzO90Ac=.html.markdown new file mode 100644 index 0000000..987e567 --- /dev/null +++ b/source/blog/ssb-xa0A1F8O2A_Hf5GVsOglRLACZNdpnepKD5EVOzO90Ac=.html.markdown @@ -0,0 +1,17 @@ +--- + +title: SSB Log Entry 443 +date: 2020-04-06T08:56:42-05:00 +tags: + +--- + +After reviewing all the ways you can ASCII encode binary data, I think Crockford's Base 32 is my favorite. + + * No special characters + * No padding to get in the way (there is an optional checksum, though) + * URL safe and file system safe (even on case insensitive file systems like FAT16/FAT32) + * Human-centric (reduced risk of typos, easy to say over the phone) + * Easy to implement (I wrote an encoder in one afternoon) + +https://www.crockford.com/base32.html diff --git a/source/blog/ssb-xzRDWdq0WT298Q3aUsVSyDZC47YyFrVvGY9T2ARIC3M=.html.markdown b/source/blog/ssb-xzRDWdq0WT298Q3aUsVSyDZC47YyFrVvGY9T2ARIC3M=.html.markdown new file mode 100644 index 0000000..1990d64 --- /dev/null +++ b/source/blog/ssb-xzRDWdq0WT298Q3aUsVSyDZC47YyFrVvGY9T2ARIC3M=.html.markdown @@ -0,0 +1,17 @@ +--- + +title: SSB Log Entry 465 +date: 2020-04-13T20:41:48-05:00 +tags: + +--- + +# Question About Bamboo Terminology + +Below I've "invented" two terms. Is there a real name for the thing I am referring to in #bamboo ? + +**"normal backlink"**: A Bamboo message where the `lipmaalink` property is equal to (seqnum-1). +In a feed of length 20, the "normal backlinks" would be: 1, 2, 3, 5, 6, 7, 9, 10, 11, 14, 15, 16, 18, 19, 20. + +**"long backlink"**: A message where the `lipmaalink` property is NOT equal to (seqnum-1) +In a feed of length 20, the "long backlinks" would be: 4, 8, 12, 13, 17. diff --git a/source/blog/ssb-zHJ62LIUPPBR5UYINUEmim5-QhFZTh2MdoRsfNV6FGI=.html.markdown b/source/blog/ssb-zHJ62LIUPPBR5UYINUEmim5-QhFZTh2MdoRsfNV6FGI=.html.markdown new file mode 100644 index 0000000..6caca6e --- /dev/null +++ b/source/blog/ssb-zHJ62LIUPPBR5UYINUEmim5-QhFZTh2MdoRsfNV6FGI=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 479 +date: 2020-04-17T19:07:43-05:00 +tags: + +--- + +![Pseudocode representing a gossip protocol](http://tilde.town/~netscape_navigator/img/ssb/2IIBG9iaz0Q8V8oKn_Vko7wGjuUfUmL5I2WSXyAtHFE=.png) +Watching a good talk by Félix López on Epidemic Broadcast Trees. +https://paperswelove.org/2016/video/felix-lopez-introduction-to-gossip-protocols/ diff --git a/source/img/ssb/27wla4K17tQv9s1K3BvRM4HvwMbT-nwRg_Vt-Mi6hTQ=.png b/source/img/ssb/27wla4K17tQv9s1K3BvRM4HvwMbT-nwRg_Vt-Mi6hTQ=.png new file mode 100644 index 0000000..6bff9c8 Binary files /dev/null and b/source/img/ssb/27wla4K17tQv9s1K3BvRM4HvwMbT-nwRg_Vt-Mi6hTQ=.png differ diff --git a/source/img/ssb/2IIBG9iaz0Q8V8oKn_Vko7wGjuUfUmL5I2WSXyAtHFE=.png b/source/img/ssb/2IIBG9iaz0Q8V8oKn_Vko7wGjuUfUmL5I2WSXyAtHFE=.png new file mode 100644 index 0000000..d898bcd Binary files /dev/null and b/source/img/ssb/2IIBG9iaz0Q8V8oKn_Vko7wGjuUfUmL5I2WSXyAtHFE=.png differ diff --git a/source/img/ssb/BGUwKmelfKZn69DrQsPq0U68rE-dbzrnMy3dvDEBen4=.jpeg b/source/img/ssb/BGUwKmelfKZn69DrQsPq0U68rE-dbzrnMy3dvDEBen4=.jpeg new file mode 100644 index 0000000..ad71f8a Binary files /dev/null and b/source/img/ssb/BGUwKmelfKZn69DrQsPq0U68rE-dbzrnMy3dvDEBen4=.jpeg differ diff --git a/source/img/ssb/JdWl6rAnQiehSzlcXo-599o8NXurRXC0k-tSx24k4Eg=.png b/source/img/ssb/JdWl6rAnQiehSzlcXo-599o8NXurRXC0k-tSx24k4Eg=.png new file mode 100644 index 0000000..107e413 Binary files /dev/null and b/source/img/ssb/JdWl6rAnQiehSzlcXo-599o8NXurRXC0k-tSx24k4Eg=.png differ diff --git a/source/img/ssb/OGnjS50JYTkH7_5-ZiP1ej32aPQDoWpgPhQW_u2nOeM=.png b/source/img/ssb/OGnjS50JYTkH7_5-ZiP1ej32aPQDoWpgPhQW_u2nOeM=.png new file mode 100644 index 0000000..f14a902 Binary files /dev/null and b/source/img/ssb/OGnjS50JYTkH7_5-ZiP1ej32aPQDoWpgPhQW_u2nOeM=.png differ diff --git a/source/img/ssb/SSYmyuDjUS-Bz8CXk26PQYoHjYV6bGp2Ax6-GWJB28s=.png b/source/img/ssb/SSYmyuDjUS-Bz8CXk26PQYoHjYV6bGp2Ax6-GWJB28s=.png new file mode 100644 index 0000000..e9b88ae Binary files /dev/null and b/source/img/ssb/SSYmyuDjUS-Bz8CXk26PQYoHjYV6bGp2Ax6-GWJB28s=.png differ diff --git a/source/img/ssb/UQiLUuRMdgU2ewzcABxeNeYsfNnFzlP58jKwMc93YIQ=.png b/source/img/ssb/UQiLUuRMdgU2ewzcABxeNeYsfNnFzlP58jKwMc93YIQ=.png new file mode 100644 index 0000000..d02f478 Binary files /dev/null and b/source/img/ssb/UQiLUuRMdgU2ewzcABxeNeYsfNnFzlP58jKwMc93YIQ=.png differ diff --git a/source/img/ssb/ajm6aqp6bjA4l4yfZ-e-PTios0JMrzS0s5dCFez-Dsk=.png b/source/img/ssb/ajm6aqp6bjA4l4yfZ-e-PTios0JMrzS0s5dCFez-Dsk=.png new file mode 100644 index 0000000..2afb52a Binary files /dev/null and b/source/img/ssb/ajm6aqp6bjA4l4yfZ-e-PTios0JMrzS0s5dCFez-Dsk=.png differ diff --git a/source/img/ssb/ly6hGrmV8mo5a730kHZwpBeG3Qv7lRpkkIHQbmik7b0=.png b/source/img/ssb/ly6hGrmV8mo5a730kHZwpBeG3Qv7lRpkkIHQbmik7b0=.png new file mode 100644 index 0000000..4275481 Binary files /dev/null and b/source/img/ssb/ly6hGrmV8mo5a730kHZwpBeG3Qv7lRpkkIHQbmik7b0=.png differ diff --git a/source/img/ssb/ov_4CZVeXSplu1rfnJhip6dsVS1wc8Jkhv4zAJ7r5FM=.png b/source/img/ssb/ov_4CZVeXSplu1rfnJhip6dsVS1wc8Jkhv4zAJ7r5FM=.png new file mode 100644 index 0000000..f23e627 Binary files /dev/null and b/source/img/ssb/ov_4CZVeXSplu1rfnJhip6dsVS1wc8Jkhv4zAJ7r5FM=.png differ diff --git a/ssb_import.rb b/ssb_import.rb index 4268c4a..b1ba1ad 100644 --- a/ssb_import.rb +++ b/ssb_import.rb @@ -2,6 +2,7 @@ require "pry" require "open-uri" require "base64" require "erb" +require "json" USER_ID = "@z2M8msI2EUubNHnrEJncglDIy2/SUd+36jCyJnfeiHk=.ed25519" BLOB_URL = "http://localhost:8989/blobs/get/%s?contentType=%s"