West Michigan, USA


We start, around the turn of the millenium, with a dot on the map: a small city where tickets to the local cinema cost only two dollars. Just outside city limits sat a parsonage, inwhich memorable history was being formed:

"That's so easy, even Zach can read it!" called one of the others.

Now, others there were, in contrast to the big people, who, here, seemed to run the joint by joint-ownership.

I was beckoned toward a newspaper, where a three-panel cartoon was being indicated.

"Here, read this!"

My first test of skill... would I succeed, proving my capability, or fail, showing the known universe that I was most inferior.

Panel 1: Garfield sits on the counter, saying "Zzzzzzzz" Panel 2: Garfield is still sitting on the counter, Jon is watching. Garfield says "Zzzzzzzz" Panel 3: Jon breaks the pattern of Zee's, and says ________...

I couldn't do it. I was the only person who didn't know how to read.


Last active 3 months ago
View more

Recent activity

Re: [PATCH] TOFU: Create file if it didn't exist 14 hours ago

From Zach DeCook to ~fkfd/picross

I think actually the TOFU code in this project is bad.
It sends two requests to the server, of which, only the first has the certificate checked (a MITM could let the first request pass, then intercept the second-- which is the one which actually carries the data).

Also, I believe the first request (made by ssl.getCertificate) is not a valid gemini request. Most servers allow it to work, but notably gmnisrv doesn't. I think that behavior is described by https://lists.sr.ht/~sircmpwn/gmni-discuss/%3C053b05cef8f6918e1d5caa47d44dc70b8311f91d.camel%40mycanofbeans.com%3E#%3CC7CNVUUNIV1G.2Q9ITTBUGVV68@taiga%3E

gmnisrv: Logged IPv4 addresses are wrong a day ago

From Zach DeCook to ~sircmpwn/gmni-discuss

The IPv4 addresses being logged are not accurate (or stable).
The following requests were made from from the same computer (should be gemini.zachdecook.com /  21ms   702 20 text/gemini gemini.zachdecook.com /  13ms   702 20 text/gemini gemini.zachdecook.com /  17ms   702 20 text/gemini

These requests should be from gemini.zachdecook.com /  19ms   702 20 text/gemini gemini.zachdecook.com /  20ms   702 20 text/gemini gemini.zachdecook.com /  19ms   702 20 text/gemini

These requests should be from

[PATCH] TOFU: Create file if it didn't exist 2 days ago

From Zach DeCook to ~fkfd/picross


    Note that we should probably support ~/.local/share/gemini/known_hosts
    (but that uses a different fingerprint format, so we may have to mind for backwards compatibility)

 picross/tofu.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/picross/tofu.py b/picross/tofu.py
index d2fc3d8..f188e9a 100644
--- a/picross/tofu.py
+++ b/picross/tofu.py
@@ -36,6 +36,8 @@ class TofuDatabase:
[message trimmed]

Re: [PATCH imrsh] build: Add builds.sr.ht script using arch image 8 days ago

From Zach DeCook to ~emersion/mrsh-dev

On Mon Nov 23, 2020 at 9:00 PM EST, Drew DeVault wrote:
> Can you re-roll this with alpine instead?

I haven't been able to...
I suspect it has something to do with how mrsh installs itself.

I either get `ld: cannot find -lmrsh`, or (if I make the symlink libmrsh.so),
get a bunch of "undefined reference to mrsh_buffer_add" et al.


(I hope someone can figure this out, since I've had the same problems
trying to use mrsh in my own (non-meson) project).

[PATCH imrsh] build: Add builds.sr.ht script using arch image 8 days ago

From Zach DeCook to ~emersion/mrsh-dev

 .build.yml | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 .build.yml

diff --git a/.build.yml b/.build.yml
new file mode 100644
index 0000000..76988dc
--- /dev/null
+++ b/.build.yml
@@ -0,0 +1,21 @@
image: archlinux
  - meson
[message trimmed]

[PATCH] mailto: support body parameter 10 days ago

From Zach DeCook to ~sircmpwn/aerc

 Makefile           | 1 +
 templates/verbatim | 2 ++
 widgets/aerc.go    | 5 ++++-
 3 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 templates/verbatim

diff --git a/Makefile b/Makefile
index 77f5e61..e979e2d 100644
--- a/Makefile
+++ b/Makefile
@@ -84,6 +84,7 @@ install: all
	install -m755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext
	install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply
[message trimmed]

[PATCH] See how srht handles attached patches 2 months ago

From Zach DeCook to ~sircmpwn/email-test-drive

Probably should've just asked in the sourcehut users email list...

anyway, this part would be 'merge request description',
or [PATCH 0/2] ...

I think it's a fairly common use case, as attaching files
to an email is something most users and email clients are capable of.

though it includes more context-switching, it also makes it harder
to make a mistake.

`git format-patch HEAD~2` also is simpler, more unix-y.

Fwd: Re: [PATCH] * Compose: Don't rely on existence of /bin/sh 2 months ago

From Zach DeCook to ~sircmpwn/aerc

-------- Original Message --------
From: Zach DeCook <zachdecook@librem.one>
Sent: September 4, 2020 8:44:22 AM EDT
To: Drew DeVault <sir@cmpwn.com>
Subject: Re: [PATCH] * Compose: Don't rely on existence of /bin/sh


doesn't really describe why. I think it may have to do with wanting to keep showing the standard android filesystem with accurate paths (maybe for rooted users?).

They do offer a simple chroot wrapper, so this workaround isn't *necessary* for users willing to chroot.

[PATCH] * Compose: Don't rely on existence of /bin/sh 2 months ago

From Zach DeCook to ~sircmpwn/aerc

From e19db616644ba52e38b0bf35ecacc9ada35a63a3 Mon Sep 17 00:00:00 2001
Date: Fri, 4 Sep 2020 08:03:49 -0400

Termux (Android terminal emulator) is one example
of a non-FHS Compliant system which has no /bin/sh.

 widgets/compose.go | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/widgets/compose.go b/widgets/compose.go
index 03c9175..68e54a9 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
[message trimmed]

Re: Session timeouts discard drafts 3 months ago

From to ~emersion/alps-dev

> Please note that the following JavaScript is included for feedback purposes
> only and it's not the final product - I intend to shrink it down a lot before
> final submission.
> But first, I'd like your feedback. To use this, start composing a message via
> the alps interface, and paste the following code into the console of your
> browser. The message should begin auto-saving.
> It also does some really gross scraping to get Draft IDs, I'd clean that up and
> have the backend return the Draft ID instead.

I'm happy to see something at least somewhat working for this critical feature in alps.

I started an approach on this a while back, but didn't complete it, basically the idea was