Topics include: personal diary (279, 266, 237, 24), poetry (277, 275, 188, 183), terse stories (274, 273, 251, 145), mathematics (263, 256, 246, 238, 224, 219, 171), digital systems design (271, 267, 265), free software politics (276, 261), photography (277, 229, 211, 196, 195, 191, 185), image generation (259, 244, 239, 236, 189, 176, 74, 68, 67, 52, 44), game analysis (159), book reviews (272, 234).
I blog since my teens in 2015 and view my blog as a series in which only the slightest of edits are allowed (i.e. link rot, typos and dated annotations). As such, older posts may not reflect my current positions on matters. If you scroll through my blog and think of a post as childish, it may be because a child wrote it.
Brief---an earnest attempt to make electronic mail manageable.
Install via: $ GOPRIVATE=pkg.jfrech.com go install pkg.jfrech.com/brief/cmd/brief@latest
pkg.jfrech.com/aigoual unadulteratedly models Git's core concepts in Go. It supports packfile reading, indexfile reading, hash-precise object parsing and editing, history fudging, the wire protocol, a pluggable Git-concept-near interface hierarchy and respects io/fs.
pkg.jfrech.com/amber brings Rob Pike's ideas for graphical systems application of Tony Hoare's CSP calculus into the (X-influenced) TTY. Amber sports self-similarity and decouples the potpourri of terminal facilities into truly concurrently sending channels.
Wimzig is my software-minimalism-focused Vim clone. (Not yet public.)
knôtM is a static site generator focusing on ECMAScript-less, WC3-compliant, archivable web resources.
dpfs (dynamic picture filesystem) is a HTML-<picture>-aware, stateless ImageMagick wrapper. (Not yet public.)
toiled routes Internet-based resources (HTTP, URIs, WebFinger; Gopher and Gemini are planned)
plzsub manages small-scale newsletters. (Not yet public.)
pkg.jfrech.com/sftp3 is an SFTPv3 (the protocol OpenSSH's scp uses) implementation in Go.
pkg.jfrech.com/xml is an XML tokenizer and parser following the Pristine Parsing mantra.
pkg.jfrech.com/hereday takes early UNIX' deep findings regarding the untyped textfile to heart and constructs a byte-precise, encoding-agnostic loose syntax together with flat-hierarchical sorting semantics to minimally inject structure into advents of concentrated entropy.
Dattel is a date
re-implementation. (Not yet public.)
Vierviertel. (Not yet public.)
Dreisatz is an arbitrary-precision calculator with unit support and (primitive) equational reasoning, sporting a novel approach to expression parsing.
o-gloss (Opinionated GLOSSary) is a glossary of mostly digital-technological terminology not restricting itself to claim neutrality. (Not yet public.)
Fighting the sequential utterance of the first or eleventh and ninth letters of the neo-Roman alphabet with a passion.
Unearthing the nearly totally lost, tragically deep insights brought upon this world by Plan9.
Joy Assembler interprets a minimalistic toy assembly language. Designed for teaching introductory CS.
; unset the NX bit pragma_static-program := false jmp @main benevolent: mov 0x266b ptc jmp @end main: jmp @dubious dubious-back: mov 0 nop 0xdddddddd jnz @malicious jmp @benevolent dubious: ;jmp @dubious-back mov 12 sya 35 jmp @dubious-back malicious: mov 0x2620 ptc end: mov 0x0a ptc hlt
Zpr'(h. A symbolic, directionally super-lazy esoteric programming language I wrote in the tenth week of the year 2020. [F20B226]
; define the set of prime numbers ; in all of its infinitude <| prelude.zpr (prime? .p) |> (not (any \ (section @ | p) (range 2 p))) primes |> (filter prime? \ (drop 2 |N0)) main |> (take 10 primes)
krrp. A functional, turing-complete esolang focusing on cryptic conciseness whilst preserving capability. [F19B214]
~ calculate all primes ~ below a hundred ![prime?]^n: ,^d: ?<dn ?%nd @+d1 0 1. 2. \L [filter] ;[prime?] [range]2$99.
\.-> Try it online!
wrzl is a password-less sudo/doas alternative. (Not yet public.)
glu is a command-line utility package. It provides:
glu/cmd/ascii prints out the ASCII table.
glu/cmd/crlf normalises text to CRLF (used in mail).
glu/cmd/datauri slurps a file into a data: URI.
glu/cmd/dir2web wraps Go's "net
glu/cmd/drop implements Haskell's drop.
(unstable) glu/cmd/ffsdedup tries to deduplicate files even over flimsily implemented network filesystem kernel drivers (as is the case with macOS' AFP driver).
(unstable) glu/cmd/fscs tries to view the filesystem (underneath a given root directory) as an atomic resource which has an associated unique identifier.
(unstable) glu/cmd/fsdedup tries to deduplicate files.
glu/cmd/hex2base64 is a data encoding filter.
glu/cmd/httpc wraps Go's http.Client (useful for when the system's cURL does not support TLS 1.3).
glu/cmd/rmdir is a recursive, .DS_store-removing rmdir(1) implementation.
glu/cmd/tarsum prints cryptographic hashes of a tarball's regular entries.
glu/cmd/umlauts renames oddly named files (non-destructive, not injective).
glu/cmd/unicodenormalise wraps Go's golang.org
glu/cmd/zlib wraps Go's encoding/zlib. Equivalent to "openssl zlib -d".
Install via: $ GOPRIVATE=pkg.jfrech.com go install pkg.jfrech.com
Qep. (Not yet public.)
TAL/MA: Compilation targeting brainfuck. [F21B248]
(Redacted.)
The OEIS is Neil Sloane’s collection of over 360’000 integer sequences, five of which were contributed by myself. [OEIS userpage]
computed b-file A084433 (b084433.txt)
computed b-file A265546 (b265546.txt)
computed b-file A161602 (b161602.txt)
computed b-file A039334 (b039334.txt)
computed b-file A087891 (b087891.txt)
computed b-file A086136 (b086136.txt)
computed b-file A045096 (b045096.txt)
computed b-file A037772 (b037772.txt)
computed b-file A328012 (b328012.txt)
computed b-file A172987 (b172987.txt)
computed b-file A055480 (b055480.txt)
computed b-file A055474 (b055474.txt)
authored A325902 (b325902.txt) [F19B220]
implemented A052018
authored A288040
authored A286193
I often fear to exist in a monothematic vacuum in which software exists. I am fundamentally of the factually incorrect belief that a miniscule part of the living human population interacts with computers.
Akin to the complexity of freedom pertaining to the non-soft world and following the inescapable certainty of liberal positions fracturing, my concept of free software in its entirety is unique. Nonetheless, it is of the following expressible flavour:
Stallman's interpretation of free software is a) rooted in 80's America. An uncanny amount of non-European political freedom interpretations is intermingled with technological critique. b) The latent rejection of valid commercial interest are of less technological than political nature and actively muddy valid technological critique in the political status quo. c) An overly stressed attention to sharing source code with potential readers has less and less merits in a software echosystem of increasing complexity.
Free software is much more than visible: "Open source" is a) a meaningless term washed by corporate. b) The notion of "community" fundamentally does not apply to haphazardly formed fleeting groups of virtually interacting agents.
Comprehending freedom more abstractly leads to a stronger notion of free software. Free software at its core values a user's fundamental rights. It is adherence to this value structure which makes software free.
In particular, growing security concerns and the need for hardened software are covered.
Implications of the all too cited phenomenon abbreviated with our latin alphabet's first and ninth letter even on a broad societal level are covered, too. As would a rudimentary application of GDPR law.
Interpreting source code akin to literary works is an ad-hoc adaptation of existing legislature to a novel breed of human output.
Trying to remove pride from the discussion, however, uncovers a peculiarity with what type of software is given value: contrary to literary works---in which origininality and expressiveness of the author are in high standing---cornerstones of well-designed software are common style compliance, general legibility and homogeneous entropy (such that no one line of code is potent enough to hide an unreasonable hazardous bug). Coupled with the ever-present background requirement of programs to interact with the world and thus conform to minutely specified interfaces, programming must be seen as a venture with little allowance for personal expression.
As such do I license my non-literary software works under Expat/MIT/X11 [Gnu23].
Of note is that literary works can be executable as software (253, 212, 208, 199, 192, 179, 144, [PPCG]). Being interpretable by a machine alone thus does not constitute low Schöpfungshöhe. No one considers this form of art to intersect with software design worth its salt.
I find deciding on a license difficult. Due to the FSF fading into obscurity and irrelevance in the past few years (as of early 2024), I find discouraging GPLv3 important. GPLv2 is fine, however still incompatible with my understanding of [MANIFEST
I feel worrying about that someone might make money off of my (software) work is solvable by not caring about it. The possibility of someone using my (software) work to transform society in a way I object to I must accept due to my fundamental belief that plurality is desirable.
GDPR's basic tenet of minimising information is fully implemented in the entirety of my tech stack: TLS 1.3 is relentlessly required, cookies are not used by any of my web services as do they log sparsely with a maximum log retainment of a few months.
Due to the Internet's routing behaviour, Internet Protocol (IP) metadata (cf. [RFC791, 3.1]) and Domain Name System metadata (cf. [RFC1035, 3.2.1]) as well as their access times are let known to third parties, uncontrollable by me.
Should you request my websites using unsecured http://, your request is visible to the world. My web services redirect to a https:// resource as quickly as possible but leaked data before communication with my web services is established I cannot prevent.
Since I do not operate my own physical server, the unencrypted entirety of all my web services' interactions with the world is known to netcup GmbH with whom I hold an Auftragsverarbeitungsvereinbarung.
Due to employing certificates from Let's Encrypt, they both gain diluted metadata when a seldom viewed page of mine is accessed (certificate renewal) as well as clients are forced to retrieve their root certificates which may incur additional metadata.
Jonathan Frech operates the domains jfrech.com, jfrech.de, jonathan-frech.de, jfre.ch, jfrech.net, jfrech.org, knotm.de, f0u.de and spamspam.de together with all their subdomains in accordance to German and European law. See also [PRIVACY].
For (e-)mail inquiries, please refer to [CONTACT].
https://sr.ht
https://gitlab.com
https://github.com
https://stackexchange.com/users
https://codegolf.stackexchange.com/users
https://wiki.archlinux.org/title
https://wiki.filezilla-project.org
https://wiki.freebsd.org
https://oeis.org/wiki
https://en.wikipedia.org/wiki
https://de.wikipedia.org/wiki
https://fr.wikipedia.org/wiki
https://wiki.gentoo.org/wiki
Jonathan Frech <info@jfrech.com>
Postal address: reveal
I am happy to hear about typos or bugs.
I take concerns regarding my impact on digital privacy seriously.
I am happy to receive physical letters.
You may write to me in German, English or French. I am delighted if you add a witty quote from the ancient European realms.
My response times are volatile (~1h--~8d).
F.: "Compiling to native brainfuck". 2021-09-04. In: jblog. Online: https://blog.jfrech.com/248/ [accessed 2024-01-06]
F.: "Zpr’(h". 2020-03-21. In: jblog. Online: https://blog.jfrech.com/226/ [accessed 2024-01-06]
GNU: "Various Licenses and Comments about Them". 1999--2023. Online: https://
F.: "Extending A056154". 2019-10-28. Online: https://papers.jfrech.com
F.: "Extending A056154". 2019-11-02. In: jblog. Online: https://blog.jfrech.com/221/ [accessed 2024-01-11]
F.: "A325902". 2019-10-05. In: jblog. Online: https://blog.jfrech.com/220/ [accessed 2024-01-11]
[F17B171] F.: "A285494". 2017-06-03. In: jblog. Online: https://blog.jfrech.com/171/ [accessed 2024-01-11]
F.: "krrp". 2019-04-20. In: jblog. Online: https://blog.jfrech.com/214/ [accessed 2024-01-06]
F.: "A278328". 2017-03-11. In: jblog. Online: https://blog.jfrech.com/162/ [accessed 2024-01-11]
Jonathan Frech's homepage; last edited 2024-10-30.