Long time no see!

This commit is contained in:
Netscape Navigator 2020-06-14 17:11:52 -05:00
parent 07c011dae4
commit d4bc10e0e7
74 changed files with 1055 additions and 0 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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, isnt 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.

View File

@ -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 😅

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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?

View File

@ -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?

View File

@ -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?

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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)?

View File

@ -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?

View File

@ -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.

View File

@ -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

View File

@ -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"?

View File

@ -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_.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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?

View File

@ -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?

View File

@ -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.

View File

@ -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.

View File

@ -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?

View File

@ -0,0 +1,9 @@
---
title: SSB Log Entry 590
date: 2020-05-10T16:36:07-05:00
tags:
---
Remember these? https://www.mouseware.org/

View File

@ -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

View File

@ -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

View File

@ -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....

View File

@ -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?

View File

@ -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.

View File

@ -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.

View File

@ -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?

View File

@ -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.

View File

@ -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.

View File

@ -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!

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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/

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 KiB

View File

@ -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"