Phlog | |
Home | |
== 2022-08-15 Dillo's quirks & DPIs for gopher & gemini == | |
Dillo's website has been parked since ~May of this year, its | |
development had slowed down considerably and it is probably as | |
dead a browser can be, so I'm not sure how many people are | |
actually going to write - or bother using - new plugins (DPI) | |
for it, but, just in case: | |
- it already looks into =~/.dillo/dpi= by default, so there is | |
no need to add another =dpi_dir= entry into =~/.dillo/dpidrc= | |
(in fact, I'm pretty sure it just reads the first one) | |
- it doesn't seem to cope too well with multiple .dpi files in | |
any given DPI subdirectory. | |
I learned of this when, having installed a second DPI to handle | |
=gemini:= links, I decided to not bother with deleting the | |
executable, and to just rename it by giving it an =old.= prefix. | |
It worked, until I tried using it two days later and it suddenly | |
didn't: having closed the dillo instance, dpid - and the | |
association between the protocol and the executable - presumably | |
went with it, with the error manifesting itself as a series of | |
Dpi_get_server_port: can't read server port from dpid. | |
lines in the dillo output. | |
Fixing it was trivial; figuring out /how/ to fix it, slightly | |
less so. | |
Incidentally, the DPIs I have been using are Charles E. Lehner's | |
=dillo-gopher= and =dillo-gemini=, licensed with GPLv3 and FSF | |
All-Permissive License respectively, and available as Git repos | |
through Secure Scuttlebutt: | |
cel/dillo-gopher | |
cel/dillo-gemini | |
- - - | |
On a slightly different note, I took a stab at revising the | |
troff macros I use to generate this phlog (and that I'd also | |
like to use to generate a blog/gemlog): I spent five minutes | |
adding inline formatting, and wasted the whole afternoon trying | |
to figure out how to stop =grohtml= from wrapping its output at | |
~64 columns. It's /mostly/ a non-issue, but as I am likely to | |
use preformatted text, I'd like to avoid messing *that*up. | |
I ended up settling on mangling the HTML in post-processing - | |
awk to the rescue! - but that's just an ugly hack, one I figure | |
I'll have to dig into the grohtml code to fix. | |
Or I might just stop forcing troff to do the text formatting. | |
Decisions, decisions. | |
== 2022-08-01 Update - 2022 == | |
It has been a long time since I last touched this phlog, or | |
indeed logged into SDF at all. I had almost forgot about it, | |
possibly - *probably* - because I never got into the habit of | |
writing regularly: I'd like to, but it doesn't feel right to | |
write about myself, and I don't feel competent enough to write | |
about anything else. I *know* that it is objectively untrue, | |
but impostor's syndrome is a right bastard. | |
== 2019-11-24 Hardware archeology - Mechanical computing mechanisms == | |
A long, long time ago - possibly more than a decade - I stumbled | |
across an old manual on mechanical computers, which were used | |
for fire control systems back in the forties. | |
I changed my laptop at least twice since, and even if I | |
*probably* still have that file, I have no idea where that might | |
be. | |
Today, I found it again, almost by accident, when clicking on a | |
Wikipedia link gave me the magic words I needed for Google to | |
find it again: it was /Basic Fire Control Mechanisms/, OP 1140, | |
from 1944, and it's available online from at least two | |
locations. | |
I can barely wrap my head around the basic components described | |
in Section 2, and they are of course impressively impractical, | |
but also fascinating. Need to implement the trigonometric | |
functions in hardware? Just cut the right groove into a cam! | |
And don't worry if your computer is starting to look like a | |
dieselpunk torture devices, those are just multipliers and | |
integrators! | |
Basic Fire Control Mechanisms - Maritime Park Association | |
Basic Fire Control Mechanisms - Historic Naval Ships Association Archive | |
== 2019-07-01 Musings on browser history == | |
Today, I spent quite a bit of time looking for a web page that I | |
stumbled across back in 2017, detailing how the author | |
bootstrapped their own (line) editor under FreeDOS by ECHOing | |
Pascal code to a file, one line at a time. It was nothing | |
groundbreaking, but interesting, and, no matter what I did, I | |
could. Not. Find. It. | |
I tried looking at my Firefox history for that time period - my | |
old profile is still hanging around - but nada. I tried | |
googling - well, Startpage'ing - for it, using multiple | |
different sets of keywords, but nada. | |
In the end, I found that page in one of my old bookmarks file. | |
I would have never found it again had I not saved it: neither | |
the title nor the URL contained any of the keywords I searched | |
for (ed, editor, edlin, pascal, scratch), and they were not at | |
all descriptive of its contents. | |
Once more, I found myself wishing that web browsers would save | |
the text of the pages we browse. They wouldn't even need to | |
index them, or to save the HTML, let alone any of the auxiliary | |
resources needed to render them - JS-only pages can pretty much | |
get bent, even if snapshotting the DOM is an option - but just | |
having them save *the text* would be incredibly useful. | |
To be fair, there has been *some* progress in this area, with at | |
least one web-extension for this - WorldBrain's Memex - | |
existing, but... I also wish browsers were uncoupled enough for | |
this to be doable with a few lines of code. | |
The netrik web browser (which died a long time ago), for | |
example, never implemented support for HTTPS, and the author was | |
considering just letting wget or curl take care of it, with | |
netrik only handling the rendering of the HTML itself: it would | |
be even more interesting if the rendering was a completely | |
separate program, taking in a tree of "widgets" from the parser | |
- HTML/CSS, normally, but potentially replaceable to handle any | |
other reasonable similar document layout format. | |
Troff, maybe. :') | |
Bootstrapping a line editor under FreeDOS | |
WorldBrain's Memex [doesn't render w/o JS] | |
Netrik Web Browser | |
== 2019-06-26 Restructuring the phlog - part 3 == | |
I started restructuring my phlog a few days ago, and today I | |
finished it. | |
I don't have to create the folder structure by hand anymore, nor | |
I have to write the gophermaps myself: a small set of groff | |
macros is taking care of that, together with a small Python | |
script which iterates over the post files, invoking troff as | |
needed, creating the folders, and generating the archives. | |
I update the root gophermap (which contains the text of the | |
latest post) with a short ed script, which looks for two | |
markers, `# latest - start' and `# latest - end', deletes all | |
the lines between them, and adds the text of the latest post | |
(which my Python script conveniently leaves in a `latest' | |
gophermap in a format amenable to inclusion). | |
I spent way too much time for my tastes on this, as I had to | |
debug a few issues that popped up because I'm used to the GNU | |
versions of the various tools I used (sed, shell, even ed). | |
A few things I learned: | |
- the NetBSD version of ed doesn't have comments (#), and its | |
read command (r ...) either doesn't do tilde expansion or | |
doesn't follow symlinks. I solved the former issue by | |
shelling out for the comments (*very* inefficient, but I | |
really don't want to leave ed scripts lying around | |
uncommented - they might try to take over the world or some | |
such), and the latter by reading *not* from a file, but from | |
the output of a cat invocation. | |
- the NetBSD version of sed doesn't have character escapes for | |
the replacements (e.g., you can't do s/@@/\t/), so you need | |
to insert the raw characters in there, and it also expects | |
the file parameter to be passed *after* its options (e.g., | |
-i, -e '...'). | |
== Archive == | |
2022 | |
2019 |