diff --git a/colors.png b/colors.png new file mode 100644 index 0000000..e701fa9 Binary files /dev/null and b/colors.png differ diff --git a/source/blog/ssb-8wL6Ix4iG9fjLRX5ljyqfqgz-8-KLHu54X_VhW32fcM=.html.markdown b/source/blog/ssb-8wL6Ix4iG9fjLRX5ljyqfqgz-8-KLHu54X_VhW32fcM=.html.markdown new file mode 100644 index 0000000..9c84f7a --- /dev/null +++ b/source/blog/ssb-8wL6Ix4iG9fjLRX5ljyqfqgz-8-KLHu54X_VhW32fcM=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 257 +date: 2020-01-02T10:57:51-06:00 +tags: + +--- + +![A pollen grain, under a microscope](http://tilde.town/~netscape_navigator/img/ssb/_JbmsrQ7FJLtzzZIyTcdss5sg1mls9BFN4u2-8CvTE8=.png) +![The tip of a ballpoint pen, magnified a billiondyseven times](http://tilde.town/~netscape_navigator/img/ssb/F9xLbQ0eOE2Bu7fEG73arjgOIWveSfVoUQ_RjSW558U=.png) +Just noticed that SSB has a #microscope channel. I like microscopes, too! diff --git a/source/blog/ssb-9kvqiq9UsUxQzRcYJeSHZN4FZNCqf0UHjJW7zxnSlfA=.html.markdown b/source/blog/ssb-9kvqiq9UsUxQzRcYJeSHZN4FZNCqf0UHjJW7zxnSlfA=.html.markdown new file mode 100644 index 0000000..2cbeca6 --- /dev/null +++ b/source/blog/ssb-9kvqiq9UsUxQzRcYJeSHZN4FZNCqf0UHjJW7zxnSlfA=.html.markdown @@ -0,0 +1,13 @@ +--- + +title: SSB Log Entry 246 +date: 2019-12-11T20:47:54-06:00 +tags: + +--- + +Plato grew concerned over people's reliance on books rather than memorization. I will hear on occasion a similar sentiment from people of our time. They worry that the people of today have lost something by relying on digital formats such as web search instead of more traditional things like paper books. + +I don't agree with such sentiment and I will most certainly not complain about having resources as expansive as Wikipedia, Open Street Map or the Internet Archive. I do think though there is one thing we have lost by having insanely well indexed databases at our disposal. As a curious kid growing up in an exurban area, I did not have many forms of entertainment. My encyclopedia set offered me the ability to peruse a knowledge base at random and without a purpose. I learned a great deal of botany, biology, chemistry and many other subjects in the process. Often this knowledge was found during a search for a more specific (yet unrelated) answer. The act of turning the page led me to unexpected headings and illustrations that were of great interest. Conversely, the internet provides me answers to almost any question I ask, but it comes with the caveat that I know what the question is. + +Advances in data structures and algorithms are helping humanity solve huge challenges. I sure do wish sites other than Wikipedia cam with a "random" button, though. diff --git a/source/blog/ssb-Er6QmPQX2iriVpMkUiJI_HwblB0faO3dwY_CVtPl27c=.html.markdown b/source/blog/ssb-Er6QmPQX2iriVpMkUiJI_HwblB0faO3dwY_CVtPl27c=.html.markdown new file mode 100644 index 0000000..896f1d0 --- /dev/null +++ b/source/blog/ssb-Er6QmPQX2iriVpMkUiJI_HwblB0faO3dwY_CVtPl27c=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 348 +date: 2020-03-04T10:06:51-06:00 +tags: + +--- + +Hey- can anyone see this message? Just naively moved my `.ssb` folder off of a defective laptop onto a new laptop. diff --git a/source/blog/ssb-FCstPHg32VU7oyS2ABZ-UvpZuy46MnIWnLA0NgdIVoo=.html.markdown b/source/blog/ssb-FCstPHg32VU7oyS2ABZ-UvpZuy46MnIWnLA0NgdIVoo=.html.markdown new file mode 100644 index 0000000..ac73cee --- /dev/null +++ b/source/blog/ssb-FCstPHg32VU7oyS2ABZ-UvpZuy46MnIWnLA0NgdIVoo=.html.markdown @@ -0,0 +1,74 @@ +--- + +title: SSB Log Entry 366 +date: 2020-03-10T08:07:06-05:00 +tags: + +--- + +# SSB Verification From Scratch in Ruby + +I just did it (I think). I am going to post it here in tutorial form with the hope that it helps someone. + +First we need a few dependencies: + +```ruby +require "json" +require "base64" +require "ed25519" +``` + +Here's the message I want to verify: + +```ruby +original_message = { + previous: nil, + author: "@z2M8msI2EUubNHnrEJncglDIy2/SUd+36jCyJnfeiHk=.ed25519", + sequence: 1, + timestamp: 1554164725521, + hash: "sha256", + content: { + type: "about", + about: "@z2M8msI2EUubNHnrEJncglDIy2/SUd+36jCyJnfeiHk=.ed25519", + image: "&jqMB109+asDMUVWkeAsqK/4KlbF+6M2x+jtTdFIdVw8=.sha256", + name: "Netscape Navigator", + }, + signature: "3er8E88P7WPSjnm+L3QmoPqNxhqAn/pOjvo6Owk0KNn69FgOjAYLOgRdrGnuihBp4QYWYPJ5bS1Gw9weQKj9DQ==.sig.ed25519", +} +``` + +The original message was JSON. + +We need to [delete the signature from the message](https://ssbc.github.io/scuttlebutt-protocol-guide/#message-format) before we can verify: + +```ruby +original_message.delete(:signature) +``` + +We also need a copy of our public key. I could have been fancy and exracted the value from `original_message`, but will instead copy/paste for readability: + +```ruby +public_key = Base64.urlsafe_decode64("z2M8msI2EUubNHnrEJncglDIy2/SUd+36jCyJnfeiHk=") +``` + +Same thing with the signature. I am just copy/pasting the value found in `original_message`: + +```ruby +signature = Base64.urlsafe_decode64("3er8E88P7WPSjnm+L3QmoPqNxhqAn/pOjvo6Owk0KNn69FgOjAYLOgRdrGnuihBp4QYWYPJ5bS1Gw9weQKj9DQ==") +``` + +Since JSON is not deterministic, we need to serialize the message *exactly* how we found it. Luckily the Ruby JSON lib follows those rules when using `pretty_generate`. Don't forget to call `.chomp` to remove any trailing carriage returns (they will invalidate the signature): + +```ruby +message = JSON.pretty_generate(original_message).chomp +``` + +We now have a `message` and a `private_key`. We are ready to verify: + +```ruby +Ed25519::VerifyKey.new(public_key).verify(signature, message) +``` + +The program will return `true` if OK (:tada:) or throw a `Ed25519::VerifyError` exception if verification fails. + +How does that look to all of the #ssb experts reading this? diff --git a/source/blog/ssb-G8wgTozx0E1a_y3LQfSIkACQ9mLKJlxKYceccLwY1Iw=.html.markdown b/source/blog/ssb-G8wgTozx0E1a_y3LQfSIkACQ9mLKJlxKYceccLwY1Iw=.html.markdown new file mode 100644 index 0000000..d98054f --- /dev/null +++ b/source/blog/ssb-G8wgTozx0E1a_y3LQfSIkACQ9mLKJlxKYceccLwY1Iw=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 402 +date: 2020-03-24T10:49:25-05:00 +tags: + +--- + +![image.png](http://tilde.town/~netscape_navigator/img/ssb/kPY77FKIUyz3PZ7DkDsv4OA6bw-7BxBsjDJPYgGvKek=.png) + +American politics 2020 in one photo. diff --git a/source/blog/ssb-KLDW6NSAfetlCfp-oZEXO0-I3lYfS_5JEMI3rxD7vSw=.html.markdown b/source/blog/ssb-KLDW6NSAfetlCfp-oZEXO0-I3lYfS_5JEMI3rxD7vSw=.html.markdown new file mode 100644 index 0000000..04abc2e --- /dev/null +++ b/source/blog/ssb-KLDW6NSAfetlCfp-oZEXO0-I3lYfS_5JEMI3rxD7vSw=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 336 +date: 2020-02-27T07:19:26-06:00 +tags: + +--- + +How are things going with #bamboo and #bamboo-rs lately? diff --git a/source/blog/ssb-MLMMo1UHZQ_3rPltPDS7SGB7VFtRwmKmxxz-mEzZn4w=.html.markdown b/source/blog/ssb-MLMMo1UHZQ_3rPltPDS7SGB7VFtRwmKmxxz-mEzZn4w=.html.markdown new file mode 100644 index 0000000..c01b765 --- /dev/null +++ b/source/blog/ssb-MLMMo1UHZQ_3rPltPDS7SGB7VFtRwmKmxxz-mEzZn4w=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 280 +date: 2020-01-17T09:02:32-06:00 +tags: + +--- + +Do you own a 7" laptop? How do you like it? diff --git a/source/blog/ssb-PiMrb7iMY4-wUU5uI8GQA1kXoMfaD-YcfhNls_7az0I=.html.markdown b/source/blog/ssb-PiMrb7iMY4-wUU5uI8GQA1kXoMfaD-YcfhNls_7az0I=.html.markdown new file mode 100644 index 0000000..d620828 --- /dev/null +++ b/source/blog/ssb-PiMrb7iMY4-wUU5uI8GQA1kXoMfaD-YcfhNls_7az0I=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 296 +date: 2020-02-01T12:26:50-06:00 +tags: + +--- + +What is the difference between a "connection" and "possible connection" in #patchwork ? diff --git a/source/blog/ssb-U18KSGs5VJTYa29xbSRyQkyNJqVlRZCoP3Sb5bKL0FU=.html.markdown b/source/blog/ssb-U18KSGs5VJTYa29xbSRyQkyNJqVlRZCoP3Sb5bKL0FU=.html.markdown new file mode 100644 index 0000000..808c954 --- /dev/null +++ b/source/blog/ssb-U18KSGs5VJTYa29xbSRyQkyNJqVlRZCoP3Sb5bKL0FU=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 308 +date: 2020-02-12T13:38:50-06:00 +tags: + +--- + +Quick attendance call- who here is from tilde.town ? CC: [@m455](https://scuttlebutt.nz/) [@Gaffen](https://scuttlebutt.nz/) [@按豆](https://scuttlebutt.nz/) + +Just trying to make sure I am following all the tilde.town folks here. diff --git a/source/blog/ssb-Ypj9hbgmaLd0peXu6IVFDQMXMsXlSp_5rtdXNRCu0w0=.html.markdown b/source/blog/ssb-Ypj9hbgmaLd0peXu6IVFDQMXMsXlSp_5rtdXNRCu0w0=.html.markdown new file mode 100644 index 0000000..a6991b2 --- /dev/null +++ b/source/blog/ssb-Ypj9hbgmaLd0peXu6IVFDQMXMsXlSp_5rtdXNRCu0w0=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 392 +date: 2020-03-18T21:56:49-05:00 +tags: + +--- + +I'm going to try to do more mobile scuttling. My mobile feed is [@Netscape Mobile](https://scuttlebutt.nz/). diff --git a/source/blog/ssb-YzudjYODljmkN2SkaEY3XUIe0oekqW7A8kkghIn3780=.html.markdown b/source/blog/ssb-YzudjYODljmkN2SkaEY3XUIe0oekqW7A8kkghIn3780=.html.markdown new file mode 100644 index 0000000..08a6b68 --- /dev/null +++ b/source/blog/ssb-YzudjYODljmkN2SkaEY3XUIe0oekqW7A8kkghIn3780=.html.markdown @@ -0,0 +1,15 @@ +--- + +title: SSB Log Entry 287 +date: 2020-01-19T08:02:06-06:00 +tags: + +--- + +I wonder how email managed to stay federated when so many other protocols fell to centralization. + +IRC => All the chat/messenger apps +FTP => Drop Box and Drive +NNTP => Reddit, Twitter, etc.. + +Somehow, email managed to stay in use, even among less-than-computer-savvy end users. diff --git a/source/blog/ssb-_wtHcsYa9U5YuV9BdVRmQTmnysTCkqoyeJl7RhVRqFM=.html.markdown b/source/blog/ssb-_wtHcsYa9U5YuV9BdVRmQTmnysTCkqoyeJl7RhVRqFM=.html.markdown new file mode 100644 index 0000000..b1ce0d6 --- /dev/null +++ b/source/blog/ssb-_wtHcsYa9U5YuV9BdVRmQTmnysTCkqoyeJl7RhVRqFM=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 345 +date: 2020-02-28T09:43:00-06:00 +tags: + +--- + +Has anyone found a USB docking station that Just Works :tm: on Ubuntu? diff --git a/source/blog/ssb-eAU4YWZiCypU9UvPm6QGndOkG_y9PwlDkZs-rWwe-qA=.html.markdown b/source/blog/ssb-eAU4YWZiCypU9UvPm6QGndOkG_y9PwlDkZs-rWwe-qA=.html.markdown new file mode 100644 index 0000000..754fde2 --- /dev/null +++ b/source/blog/ssb-eAU4YWZiCypU9UvPm6QGndOkG_y9PwlDkZs-rWwe-qA=.html.markdown @@ -0,0 +1,11 @@ +--- + +title: SSB Log Entry 262 +date: 2020-01-03T10:02:09-06:00 +tags: + +--- + +I took a hiatus from Twitter in 2019. Coming back to Twitter after a year of using SSB exclusively really amplifies how manipulative algorithmic feeds and endless scroll are. I can set check Patchwork quickly and get back to work. Twitter is a non-stop steam roller of distractions and click bait. + +I wish all the people I talk to on Twitter would switch over. The only thing I like is the people at this point. diff --git a/source/blog/ssb-tsMA4a_NgDaLvX__TAsc9_Jq-URMNFiXDo6oip2h6N8=.html.markdown b/source/blog/ssb-tsMA4a_NgDaLvX__TAsc9_Jq-URMNFiXDo6oip2h6N8=.html.markdown new file mode 100644 index 0000000..6800bcc --- /dev/null +++ b/source/blog/ssb-tsMA4a_NgDaLvX__TAsc9_Jq-URMNFiXDo6oip2h6N8=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 268 +date: 2020-01-05T11:29:06-06:00 +tags: + +--- + +Welp I just found a live server that is running DOS on a PC Junior. Very fun. #retrocomputing http://50.125.82.27:8088/ diff --git a/source/blog/ssb-wGM9I7FpU0sO-0WDTlv-kD5Lr1yg22I46b6AgvTUsHM=.html.markdown b/source/blog/ssb-wGM9I7FpU0sO-0WDTlv-kD5Lr1yg22I46b6AgvTUsHM=.html.markdown new file mode 100644 index 0000000..118c48c --- /dev/null +++ b/source/blog/ssb-wGM9I7FpU0sO-0WDTlv-kD5Lr1yg22I46b6AgvTUsHM=.html.markdown @@ -0,0 +1,21 @@ +--- + +title: SSB Log Entry 409 +date: 2020-03-26T08:48:32-05:00 +tags: + +--- + +With the way gossip works in #ssb, does the local machine ever persist messages to disk that cannot be verified? +Eg: + + * You receive a message from peer A that was authored by peer B + * The message is syntactically valid, but you don't have peer B's complete feed, so you cannot verify the message is authentic. + +Do these situations ever happen in the real world? If so, how does SSB handle them? Does it: + + * Never happen, because SSB doesn't sync feeds like that ever. + * hold on to the message until it has enough information to do the algebra on it. + * discard the message entirely since it can't verify it based on current knowledge. + +Still learning the protocol, so pardon my lack of understanding if this is not how SSB works. diff --git a/source/blog/ssb-zkkBDNGKPaa3M14ekOcBxYTyd2_j8SqX7NSnunk6DUw=.html.markdown b/source/blog/ssb-zkkBDNGKPaa3M14ekOcBxYTyd2_j8SqX7NSnunk6DUw=.html.markdown new file mode 100644 index 0000000..28ee3b4 --- /dev/null +++ b/source/blog/ssb-zkkBDNGKPaa3M14ekOcBxYTyd2_j8SqX7NSnunk6DUw=.html.markdown @@ -0,0 +1,9 @@ +--- + +title: SSB Log Entry 359 +date: 2020-03-08T12:11:32-05:00 +tags: + +--- + +I vaguely remember images rendering correctly when offline in previous versions of #patchwork. I don't have internet at home this week (which has been surprisingly nice, actually) and have noticed that I can't see any images. Is this expected? Do I need to change a setting to cache all images locally (I don't care if it wastes harddrive space, I have plenty). diff --git a/source/img/ssb/2U8NPCHFSVBBgo-i6-niArLA00UUw-F9IMVDHYwFylU=.png b/source/img/ssb/2U8NPCHFSVBBgo-i6-niArLA00UUw-F9IMVDHYwFylU=.png index 148f5db..524c503 100644 Binary files a/source/img/ssb/2U8NPCHFSVBBgo-i6-niArLA00UUw-F9IMVDHYwFylU=.png and b/source/img/ssb/2U8NPCHFSVBBgo-i6-niArLA00UUw-F9IMVDHYwFylU=.png differ diff --git a/source/img/ssb/4a2exteUOagm_bJYVxbsgMoKEjDjFohFzunSU7CX1jk=.png b/source/img/ssb/4a2exteUOagm_bJYVxbsgMoKEjDjFohFzunSU7CX1jk=.png index 044b534..03e817d 100644 Binary files a/source/img/ssb/4a2exteUOagm_bJYVxbsgMoKEjDjFohFzunSU7CX1jk=.png and b/source/img/ssb/4a2exteUOagm_bJYVxbsgMoKEjDjFohFzunSU7CX1jk=.png differ diff --git a/source/img/ssb/BQRlWZWbfOaktspHr45eQLZu6tOBkbXNB2LBm9tYZb8=.png b/source/img/ssb/BQRlWZWbfOaktspHr45eQLZu6tOBkbXNB2LBm9tYZb8=.png index 80204e6..09a5897 100644 Binary files a/source/img/ssb/BQRlWZWbfOaktspHr45eQLZu6tOBkbXNB2LBm9tYZb8=.png and b/source/img/ssb/BQRlWZWbfOaktspHr45eQLZu6tOBkbXNB2LBm9tYZb8=.png differ diff --git a/source/img/ssb/CObxcH4h9W61SU4zg6fsgIMrYI4J9OcC9aFR5qk_CT4=.png b/source/img/ssb/CObxcH4h9W61SU4zg6fsgIMrYI4J9OcC9aFR5qk_CT4=.png index 44f1f3f..6cb8401 100644 Binary files a/source/img/ssb/CObxcH4h9W61SU4zg6fsgIMrYI4J9OcC9aFR5qk_CT4=.png and b/source/img/ssb/CObxcH4h9W61SU4zg6fsgIMrYI4J9OcC9aFR5qk_CT4=.png differ diff --git a/source/img/ssb/F9xLbQ0eOE2Bu7fEG73arjgOIWveSfVoUQ_RjSW558U=.png b/source/img/ssb/F9xLbQ0eOE2Bu7fEG73arjgOIWveSfVoUQ_RjSW558U=.png new file mode 100644 index 0000000..ab9113a Binary files /dev/null and b/source/img/ssb/F9xLbQ0eOE2Bu7fEG73arjgOIWveSfVoUQ_RjSW558U=.png differ diff --git a/source/img/ssb/_JbmsrQ7FJLtzzZIyTcdss5sg1mls9BFN4u2-8CvTE8=.png b/source/img/ssb/_JbmsrQ7FJLtzzZIyTcdss5sg1mls9BFN4u2-8CvTE8=.png new file mode 100644 index 0000000..ef98cc9 Binary files /dev/null and b/source/img/ssb/_JbmsrQ7FJLtzzZIyTcdss5sg1mls9BFN4u2-8CvTE8=.png differ diff --git a/source/img/ssb/_hzVqdCacWciPusnC6QvkRgFp54o7l_Dd-fVeO_CV5w=.png b/source/img/ssb/_hzVqdCacWciPusnC6QvkRgFp54o7l_Dd-fVeO_CV5w=.png index 8bff28d..09de1fc 100644 Binary files a/source/img/ssb/_hzVqdCacWciPusnC6QvkRgFp54o7l_Dd-fVeO_CV5w=.png and b/source/img/ssb/_hzVqdCacWciPusnC6QvkRgFp54o7l_Dd-fVeO_CV5w=.png differ diff --git a/source/img/ssb/jY8Ax5s-wxbsLeyuVMqVYaUg_-mg8JZxcG4dH4kywxk=.png b/source/img/ssb/jY8Ax5s-wxbsLeyuVMqVYaUg_-mg8JZxcG4dH4kywxk=.png index 9686b12..15bbd0c 100644 Binary files a/source/img/ssb/jY8Ax5s-wxbsLeyuVMqVYaUg_-mg8JZxcG4dH4kywxk=.png and b/source/img/ssb/jY8Ax5s-wxbsLeyuVMqVYaUg_-mg8JZxcG4dH4kywxk=.png differ diff --git a/source/img/ssb/kPY77FKIUyz3PZ7DkDsv4OA6bw-7BxBsjDJPYgGvKek=.png b/source/img/ssb/kPY77FKIUyz3PZ7DkDsv4OA6bw-7BxBsjDJPYgGvKek=.png new file mode 100644 index 0000000..57c7076 Binary files /dev/null and b/source/img/ssb/kPY77FKIUyz3PZ7DkDsv4OA6bw-7BxBsjDJPYgGvKek=.png differ diff --git a/source/img/ssb/xQzeeOVZkP4UWGkxuZiy3X8zQQwikwW9a_NZIv90rn0=.png b/source/img/ssb/xQzeeOVZkP4UWGkxuZiy3X8zQQwikwW9a_NZIv90rn0=.png index 7eb84bc..080fb41 100644 Binary files a/source/img/ssb/xQzeeOVZkP4UWGkxuZiy3X8zQQwikwW9a_NZIv90rn0=.png and b/source/img/ssb/xQzeeOVZkP4UWGkxuZiy3X8zQQwikwW9a_NZIv90rn0=.png differ