The Space Between
2019-03-09 9:50pm

Solderpunk wrote a post about possible improvements to gopher, or
possibly a new protocol that sits in between gopher and the web.
I think that this is a great idea. I second the motion for stand-
ardized necryption at a protocol level. I do not know a lot about
how to implement this sort of thing,  but it seems like the right
call.  I think simplifying the  gopher type system is also a good
idea. Maybe something like: Plaintext, Markup (of a yet to be de-
termined sort. This would replace gophermaps, more on that ahead)
Image (one type for all iamges,  clients can detect and display),
Binary (PDF, Application, Zip), Music, Video, Interactive (7),  &
maybe SSH or Telnet.

Gophermaps are, to be frank, not the best thing ever.  I think an
improvement to this system could be great. Something that has in-
line links would be great. It would be great if those links could
also link to places in the same document (making it quick to nav-
igate larger files). The only other change I would suggest is ma-
king bold and italic text available (to be rendered as is approp-
riate by each client).

I have been working with Golang for the past weeks.  As per usual
I started constructing a gopher client (this has become my basel-
ine project for any new language).   I got a basic one built very
quickly... but then wanted to see what else I  could make happen.
I wanted it to take one terminal screen and work like a pager.  I
did not want to rely on curses though, so I rolled my own term ui
library to go with it. At present it can manage windows and mess-
age bars and the windows can scroll text within them. If the ter-
minal is resized everything can respond and rewrap.   This should
work on any VT100 based terminal (I believe OSX and GNU/Linux).

Once that was all working I thought to myself, wouldnt it be cool
if the program had vim style commands (using ':' to enter a comm-
and, and using hot keys for other commands).   So I wrote a basic
lexer and parser to parse the commands.  I had never written one,
and a solid chunk of the code is adapted from another project but
I get what it is doing and learned a lot along the way!

The next step is to create a config file (and parser for it). The
options for the config will be able  to be set in  the program or
added manually to the file.   After that I need to get favoriting
or bookmarking working. I know how I want it to work: a key comm-
and will have it appear as a window sitting on top of  the  other
windows, once viewed it can be dismissed and the favorite loaded.
I'll have to work some control flow stuff out as well as renderi-
ng order for the screen draw, but that should be fine.

It has been a really fun project!  I think with the experience  I
have gained working on it that if a new protocol gets some momen-
tum built up, that I would like to take a crack at writing a very
simple markup language to provide the above listed features and a
parser and client to go with it. That would be fun.  Get in touch
if any of that sounds interesting to you... I'd love to collabor-
ate on it with someone that wants to handle writing a server  for
it (as well as the encryption portion). Even if nobody uses it, I
still think it would be a fun project.

- - - - -

I still have not found a good balance to writing here lately.  By
the time the day is winding down I am so often too tired to say a
whole lot. I sitll hope to get back in the habit and have more i-
nteresting things to talk about.

On the personal side, there was the possibility that I might have
skin cancer, but that came back negative. We also had a scare re:
my wifes pregnancy, but everything turned out to be ok  (she  and
the forthcoming baby are both doing fine).

Colorfield Space (my server) has been up for 97 days straight  on
a raspberry pi zero in my home. We picked up three users that  do
not originate from Circumlunar Space during that time.  While two
of those did not end up becoming active users,  the third did and
is a really welcome addition to the server  (tfurrows and cmccabe
are the other two who have been great supporters from the getgo).
100 days feels like a kind of cool milestone.  I am psyched there
have not been any problems with my ISP or the dynamic DNS. It all
just seems to work :)

Well, have a good night cirucmluanr space...I am signing off.