============================ 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 . 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). 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 . 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