I am a Ph.D. computer scientist, software and DevOps engineer, and constructive logician/mathematician, on a quest to become a constructive polymath.
/software/hoardy-web/: update, see CHANGELOG./software/hoardy-web/: update, see CHANGELOG./software/hoardy-web/: update, see CHANGELOG./software/hoardy-web/: update, see CHANGELOG./software/hoardy-web/: minor update, see CHANGELOG./software/hoardy-web/: update, see CHANGELOG./note/BrutalDepTypes/: improved readability./note/exocortex/: minor edits./note/exocortex/: minor edits./software/hoardy-web/: update, see CHANGELOG.blog.oxij.org/*: now redirect to pages under /note/, which no longer refer to blog.oxij.org./note/BrutalDepTypes/: merged relevant bits of blog.oxij.org into here./note/learn-cs/: moved from blog.oxij.org, did not edit yet./note/deliberately-obvious/: moved from blog.oxij.org, rewrote./note/exocortex/: stub → draft./note/BrutalDepTypes/: edited metadata, improved literate version a bit./note/ReinventingFormalLogic/: edited metadata, improved literate version a bit./note/nix-wishlist/: edited metadata, changed the canonical URL./note/nixos-install-via/: edited metadata, changed the canonical URL./note/: simplified page layout./note/cybercrud/: update./note/copyright/: minor update./note/exocortex/: stub minor update./note/nutrition/: stub minor update./note/bayesian-studies/: stub minor update.*: improved layout of all the pages a bit./note/exocortex/: stub update./note/bayesian-reasoning/: update./note/nutrition/: stub init./note/bayesian-studies/: stub init.*: improved layout of all the pages a bit./software/hoardy-adb/: minor update, see CHANGELOG./software/kisstdlib/: minor update, see CHANGELOG./note/cybercrud/: init./note/copyright/: draft init./note/bayesian-reasoning/: minor update.*: minor edits everywhere, improved layout of all the pages a bit.*: improved layout of all the pages a bit./note/bayesian-reasoning/: init.*: improved layout of all the pages a bit./software/hoardy-web/: minor update, see CHANGELOG./software/hoardy-web/: bugfixes, see CHANGELOG./software/hoardy/: incremental improvements, see CHANGELOG./software/hoardy-adb/: major update, see CHANGELOG./software/kisstdlib/: see CHANGELOG./note/: update./software/hoardy/: first public version./: major edits./note/BrutalDepTypes/: minor edits./software/hoardy-mail/: see CHANGELOG.*: I have a Patreon account now./teaching/: minor edits./note/ReinventingFormalLogic/: improved quite a bit./software/hoardy-web/, /software/hoardy-adb/, /software/hoardy-mail/: renamed pwebarc -> hoardy-web, abarms -> hoardy-adb, imaparms -> hoardy-mail./teaching/: improved quite a bit./note/*: switched to semantic versioning./note/BrutalDepTypes/: major update.*: migrated the whole site to my own static website generator (because I failed to find the one I like), now with a-la GitHub local git repos (because I dislike what stagit produces)./software/: started actively working on publishing some of my more complex software projects and making them useful to the general public.If you are new here, you might want to checkout the following pages first:
My notes on various topics, of these
“My Personal Exocortex Software System” elaborates in depth on my note taking, document archival and annotation, self-tracking, and other exocortex-related interests;
“Cybercrud and Anti-circumventiontopia: Reflections on Enshittification, EULA Roofieing, and Related Phenomena” only gets more and more relevant as the time passes;
“Brutal (Meta-)Introduction to Dependent Types in Agda” seems to stay relevant and popular among the people interested in dependent types for more than a decade now.
Software projects (co-)authored by me, most of which are also mirrored on my GitHub.
Most of these can be connected directly to one or more of my interests.
I’ve been working on these quite actively for the last few years.
If I live long enough to get to it, I will use these ideas to make the best programming language ever.
Courses, Seminars, and Talks I taught/led/did. Most of those were taught by me before people started to customarily record lectures and post them to YouTube, so the useful parts of that sub-tree on this site mostly consists of course plans and exercises. Of those
plans contain a ton of useful links and search terms, if you are willing to do the research yourself.
/note/excortex/ page describes some of the machinery.)To: Jan Malakhovski <oxij@oxij.org>.Subject: line.Related considerations
git format-patch are perfectly fine too.Tox is a protocol for end-to-end encrypted distributed peer-to-peer and chatroom messaging, voice/video calls, etc. See there for more info and the clients that support it. The protocol has issues and the experience of using the clients is frequently pretty buggy, but, on consideration, it’s still the best thing for doing the above things I’m aware of at the moment. Which is to say, other things might look and feel better, but they are objectively worse in ways that matter most to me.
gpg is its command line tool for handling everything OpenPGP-related. See its website for more info.rsa2048/0x0E6CA66E5C557AA8
Fingerprint: 514BB966B46E3565050886E80E6CA66E5C557AA8 (514B B966 B46E 3565 0508 86E8 0E6C A66E 5C55 7AA8).
To import the above, you can do
gpg --keyserver hkp://keys.gnupg.net --recv-keys 514BB966B46E3565050886E80E6CA66E5C557AA8
It’s not required that you send me encrypted emails, however, I prefer my emails to be encrypted, when possible.
When sending, remember to sign and encrypt! Both! (Unless you really know what you are doing.)
If it’s the first time you are writing to me, attach your PGP keys to your message. E.g., do:
key="0xYourKeyID"
gpg --export "$key" --export-options export-clean,export-minimal > "$key.asc"
and attach the resulting file.
Btw, you can also inspect its contents via
gpg --list-packets < "$key.asc" | less
Notably, messages encrypted to my keys and/or signed by any of the keys I trust skip all of my spam filtering. Which is to say, sending your email message properly encrypted to me is a good way to ensure it won’t be classified as spam.
git objectsgit tags) of my software projects.git log noise and makes git rebase-ing more annoying than it already is.If you think one of my software projects or notes has an issue, bug, or just misses something obvious, open an Issue on GitHub or write me an email about it. Even though my answer to any feature requests will likely be “eventually”, I’m trying my best fix any reported bugs ASAP.
Similarly, if you like something of mine enough to make a patch for one of my software projects or write and publish your own version of one of my more theoretical notes, please open a PR on GitHub or drop me an email about it. I’d love to see if I can adopt some changes back from your work, or maybe I’ll just link to it.
I will be especially thankful if you decide to write me a thoughtful email about how you use my things. In such messages, please specifically mention the parts you liked and the parts you didn’t. This is super-helpful for development. Many improvements to my software projects can be tracked to such email exchanges.
For example, several persons wrote me emails which could be summarized as
hoardy-webrocks, thanks for making it! But, re-queuing sucks. Can we have a different UI for this, please?
and thus, eventually, the re-archival machinery was born.
Also, I’m self-aware enough to notice that honest praise is the best motivator for me and that I spend most of my idle time thinking about things people wrote to me about.
If you would rather praise or complain about my things in a blog post, podcast, or video instead, you are welcome to that too.
Though, in that case, I would be thankful if you would also kindly send me a link to it. Similarly, I would be implicitly thankful if you would, in good faith, mention my stuff where it would be relevant, both on social media and in non-spam private communication. Relevant gossip is the best advertisement, after all.
If you think you have a better solution to a problem mentioned in my notes or solved by a piece of my software or the software I use and mention in one of my notes, please inform me about it. I will probably link to the thing from the relevant page on this site and/or from the relevant project’s documentation, depending.
If you browse the docs and GitHub issues of my projects, you can find multiple examples of me doing this.
I hate how search engines apparently lower your search rank when you link to too many other useful things. Which, while they have a good explanation for doing it, I find it mightily suspicious that it also benefits them greatly, as now you have to go to them for alternatives and comparisons, instead of the original project pages listing those things, even though that’s actually the best place to host such things. This is normal and expected in academic writing. So, I refuse to obey stupid SEO rules and all my projects feature extensive list of alternatives and comparisons, like this, for example.
Help me get my sustenance by donating some coins into my tip jars so that I could devote more of my time to those personal projects instead of doing freelance work:
oxij on Patreon
Bitcoin (BTC)
bc1q6hlk9v2jkw86yarve67dsmny6yej7jyhgsypxl
Monero (XMR)
838KWx98i8o459fFqRSwzQaPdm7idUyASGujJqBbmUw2eHe541AaEnCKrk8GxrcJEwQCgTFMmZdD21q5C7Qo2ifJ7ydAsoa
Any other cryptocurrency converted to XMR via Trocador.app.
Also, its onion address.
For Trocador, Bitcoin over Lightning Network is the default, but it can be changed to almost anything after you click the link. No registration! No KYC! No JavaScript required!
Personally, I think everyone should have their own indie cryptocurrency tip jars. Allowing Patreon and GitHub to control future livelihoods of potentially everyone makes me feel very paranoid. I.e., if you are an indie developer, you should probably make such tip jars too! Personally, for tips, I would rather use Monero than anything else in existence.
As an extension of the previous option, you can write me an email describing how you use my things and any features you or your company wants to be there but are apparently missing, and then, assuming we mutually agree on the terms, you can simply hire me to add those things for you.
Similarly, you can also ask me if I would be willing to do work on other things if you think that my experience would be useful there.
No, it’s a valid username made from “0 x i + j”, a playful way of saying “a Jan instance with no additional imaginary parts”, i.e., “just me, no role-play”.
Because most of those links aren’t citations, I mostly link to Wikipedia for disambiguation purposes, as if it were a dictionary, which is a perfectly fine use for it. For example:
The above is a post-hoc description of the technique. Meanwhile, its historiography shows us that it was invented for a completely different purpose, namely …
However, when I’m talking about the contents of Wikipedia articles, I cite those, as is proper.