============================
Stamp, addressing, physics
============================

Another digest of my personal news here.


Stamp
=====

For a while I wondered about a language for state machine programming,
simply defining state transitions, but approaching something practical
by introducing wildcards and references. Finally tried it out, and it
turned out usable for stack machine programming at once. Well,
"usable" as in "working", but not necessarily "practical". The
transitions are defined on bits, as in:

0 0 . 0 1

But with wildcards and references, it allows to avoid quite a bit of
repetition, being closer to practical languages:

_ 0 . ^0 1

Strings, hexadecimal numbers, and references of ranges are handled
with syntactic sugar. I/O (syscalls, memory reading and writing) is
handled as built-in (or magic) transitions. It is quite similar to
stack-based languages, but with pattern matching on arbitrary parts of
the stack. Maybe will poke it more in the future, at least it may be
fun to play with. A test program and an interpreter are available at
<https://codeberg.org/defanor/stamp>.


Addressing
==========

I was about to register a domain name, to use as a backup (for email,
XMPP, homepage), but with a local registrar, to avoid the headache
with international money transfers (which are complicated now, thanks
to the government). Found a couple of relatively decent local
registrars via pir.org, then checked the lists of local registrars
more thoroughly, and confirmed that the others are even worse. But
these two still sell expired domains to spammers, as most others do,
one of them is reported to unregister domains upon receiving letters
that look like they are from a law enforcement agency, and potential
private information leaks are a concern: local companies tend to leak
it all the time. Well, I guess all companies do, but these also like
to collect and keep scans of government IDs, which is an odd practice,
and they do not quite respond why they need to collect and keep
those. Also noticed that one of them limits password length to 30
characters, another -- to 16, while NIST SP 800-63B recommends for
such a limit to be at least 64 characters. Wrote about it to both, but
neither fixed it, which does not help to trust them with private
information.

That nudged me to look into GNUNet's GNS once again. Its specification
looks nice, as does that for R5N (the DHT used with GNS; although that
one lacks cryptographic agility, being attached to EdDSA), and it can
be used together with W3C's DIDs (decentralized identifiers). GNUNet
worked after finding a working list of bootstrap hosts (at the
already-blocked lists.gnu.org), since the default ones were dead, and
its dns2gns mostly worked, though not for TLSA records. But even if
that worked as well, the rare programs that can use DANE's TLSA RRs
instead of CAs for verification are likely to require DNSSEC for that,
which you do not get with GNS (without additional hacks, that
is). Apparently a better way to use GNUNet is to use its CADET for
secure channels at once, rather than TLS, but that would require to
adjust programs and protocols, and since GNUNet is under AGPL,
relicensing would be required to use that implementation. All in all,
it is not usable as a drop-in backup way to address resources, but
still looks neat, as it did a decade ago.

Then looked into OpenNIC, and there is a similar issue with DNSSEC
(while TLSA is similarly the only standard way to verify X.509
certificates there, with regular CAs not supporting it): it uses an
alternative root certificate, I suspect that resolvers do not support
multi-root DNSSEC setups, and on top of that one would have to rely on
people maintaining zones, similarly to domain names hooked to public
free DNS services, where strangers provide a nice and useful service,
but then you depend on them. But at least regular CAs are usable with
such free DNS services.

I wonder whether it would be more practical and more easily achievable
to have some kind of a user directory (white pages), rather than a
drop-in DNS replacement. Akin to OpenPGP certificates and identifiers
attached to those, distributed via key servers and/or a DHT. This
reminds me that I recently learned that there are email-verifying key
servers now, such as keys.openpgp.org (set as the default on Debian),
and uploaded my key there.


Physics
=======

I always was rather bad at physics, even though liked tinkering and
expected to like those. Recently decided to finally study physics more
or less thoroughly, and since I would like to play with electronics
more, I jumped into a book on electricity and magnetism, starting with
electrostatics. That was fun, and I spent about a week solving
problems, being quite happy to discover that I remember enough of
calculus to get by (with questions involving things like figuring out
electric fields produced by charged hemispheres, cylinders, and other
shapes), but a few of those problems involved mechanics (particles
with mass, oscillations), which I am unfamiliar with. General books on
physics usually start with mechanics, proceed to electromagnetism,
then go into thermodynamics, quantum mechanics, and so on, so I
decided that it would be more appropriate to work through such a
textbook first. I started that, though the beginning is quite basic
and boring, with more than a hundred problems after the introductory
chapter, which would take a while to solve despite them being
easy. Maybe I will just do odd-numbered ones, which have solutions in
the book itself, so that I can check them after solving (though
amusingly, the very first textbook solution is off by an order of
magnitude: it asks to convert 1.00 gigasecond into 365-day years, and
the solution says that it is 3.17 years, while it is 31.7). Even 50
exercises would take quite a bit of time, and I do not have that much
of spare time. But mostly ceased reading Hacker News, which saves some
time: even working through less interesting problems seems more fun
and useful than reading how major IT companies blockchain and
containerize LLM AI in the Cloud with Kubernetes and Big Data, or
whatever they do this week.

Chances are I will not get to apply any of that, but it is an
interesting subject anyway, learning how the world around works.

For notes, I used org-mode this time. In the past I used AUCTeX (just
LaTeX files) with a preview in Emacs for similar notes on mathematics,
and was happy with that, but org-mode provides not just LaTeX previews
and snippets, but also neat code embedding: it is nice to combine such
notes with the code using Python with SymPy or Octave with its
"symbolic" package: those help to solve systems of equations
(including non-linear ones), to solve equations numerically, to
integrate and differentiate them (particularly tricky or boring ones),
to approximate expressions with Taylor series, and so on. Both can
produce results in LaTeX, which can then be previewed at once, in the
same org-mode buffer. Combined with SVG embedding and Inkscape for
sketching, it looks nice and clean. I took a picture of the initial
setup, it is at
<https://paste.uberspace.net/org-latex-sympy-inkscape.png>.


Other news
==========

- Tried overnight oats, those are nice. Experimenting with different
 recipes: rolled oats, milk and/or yogurt, honey or preserved plums
 and berries, bananas, sometimes chia seeds, cinnamon. Plenty more
 variations to try, and it is nice to wake up being excited to try
 something new, and having it prepared already. Also tried oatmeal
 balls: just mixed rolled oats with an almond chocolate spread,
 compressed it into chunks. Not a bad way to consume such a spread.

- Tried adding orange juice into hummus, it fits well there. So the
 recipe I used the last time included chickpeas, tahini, salt,
 garlic, olive oil, lemon juice, orange juice, cumin, paprika.

- Caught viral conjunctivitis, was ill for a few days, but apparently
 better now. I would not recommend having that. Skipped most of the
 physical exercises for a few days, as well as piano ones, but
 resumed those today. Hopefully that did not lead to much of a
 setback: I have only recently switched to single sets of 15
 pull-ups, from 14. Well, finally used up some of the rest days I
 kept collecting instead of ever having.

- Swamped at work lately, actually for a few months now: urgent tasks
 keep coming, but then the tasks become stuck for varied reasons, or
 the results of finished ones are unused.

- There are ongoing local presidential elections, going to vote. Even
 though it will not affect the result, maybe I will be able to rant
 someday about the youths being lazy to vote, while back in my day we
 voted even despite that not doing anything. Hopefully by that time
 it will change enough for such rants to work.


----
:Date: 2024-03-16