J O N A T H A N   F R E C H

WEBLOG.

Cf. https://blog.jfrech.com/

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.

PROJECTS/CURRENT.

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/go/git unadulteratedly models Git's core concepts in Go. It supports packfile reading, object parsing and the wire protocol.

fudgit facilitates Git history fudging.

Frazzles both denotes a loosely-tagged, text-based information morsel content management system as does it denote my corpus. (Not yet public; cf. https://factoids.jfrech.com/)

o-gloss (Opinionated GLOSSary) is a glossary of mostly digital-technological terminology not restricting itself to claim neutrality. (Not yet public.)

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 ressources.

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/go/sftp3 is an SFTPv3 (the protocol OpenSSH's scp uses) implementation in Go.

PROJECTS/COMPLETE.

Joy Assembler interprets a minimalistic toy assembly language. Designed for teaching introductory CS.

01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
; 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, direc­tion­ally super-lazy eso­teric pro­gram­ming language I wrote in the tenth week of the year 2020. [F20B226]

01 
02 
03 
04 
05 
06 
07 
08 
09 
; 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]

01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
~ calculate all primes
~ below a hundred

![prime?]^n:
 ,^d: ?<dn
  ?%nd @+d1
  0 1. 2.
\L [filter]
 ;[prime?]
 [range]2$99.

\.-> Try it online!

imaptar bases off of Simon Ser's (first) IMAP library to implement the "IMAP server resource ~> emls.tar" translation. Tarballs of this form are importable by Brief.

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/http".Dir.

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/x/text/unicode/norm.

glu/cmd/zlib wraps Go's encoding/zlib. Equivalent to "openssl zlib -d".

Install via: $ GOPRIVATE=pkg.jfrech.com go install pkg.jfrech.com/glu/cmd/*@latest

PROJECTS/ON_ICE.

Qep. (Not yet public.)

TAL/MA: Compilation targeting brainfuck. [F21B248]

PROJECTS/SPECULATIVE.

(Redacted.)

PROJECTS/OEIS.

The OEIS is Neil Sloane’s collection of over 360’000 integer sequences, five of which were contributed by myself. [OEIS userpage]

[2021-04-17] 

computed b-file A084433 (b084433.txt)

[2021-04-07] 

computed b-file A265546 (b265546.txt)

[2021-04-07] 

computed b-file A161602 (b161602.txt)

[2021-04-07] 

computed b-file A039334 (b039334.txt)

[2021-04-04] 

computed b-file A087891 (b087891.txt)

[2020-10-21] 

computed b-file A086136 (b086136.txt)

[2020-10-21] 

computed b-file A045096 (b045096.txt)

[2020-10-21] 

computed b-file A037772 (b037772.txt)

[2019-12-01] 

computed b-file A328012 (b328012.txt)

[2019-12-01] 

computed b-file A172987 (b172987.txt)

[2019-10-28] 

*computed term A056154(13) [F19B221] [F19]

[2019-09-12] 

computed b-file A055480 (b055480.txt)

[2019-09-12] 

computed b-file A055474 (b055474.txt)

[2019-09-07] 

authored A325902 (b325902.txt) [F19B220]

[2017-06-05] 

implemented A052018

[2017-06-04] 

authored A288040

[2017-05-04] 

authored A286193

[2017-04-19] 

authored A285494 [F17B171]

[2016-11-18] 

authored A278328 [F17B162]

MANIFEST.

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.

MANIFEST/FREE_SOFTWARE.

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.

MANIFEST/SCHÖPFUNGSHÖHE.

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.

MANIFEST/LICENSING.

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/SCHÖPFUNGS­HÖHE].

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.

PRIVACY.

GDPR's basic tenet of minimising information is fully implemented in the entirety of my tech stack: TLS 1.3 is re­lent­lessly re­quired, 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 Auftrags­ver­arbeitungs­verein­barung.

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.

IMPRINT.

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].

ALIASES.

https://sr.ht/~jfrech

https://gitlab.com/jfrech

https://github.com/jfrech (with despisal)

https://stackexchange.com/users/11472647/jonathan-frech

https://codegolf.stackexchange.com/users/73111/jonathan-frech (PPCG)

https://wiki.archlinux.org/title/User:Jonathan_Frech

https://wiki.filezilla-project.org/User:Jonathan_Frech

https://wiki.freebsd.org/JonathanFrech

https://oeis.org/wiki/User:Jonathan_Frech

https://en.wikipedia.org/wiki/User:Jonathan_Frech

https://de.wikipedia.org/wiki/Benutzer:Jonathan_Frech

https://fr.wikipedia.org/wiki/Utilisateur:Jonathan_Frech

https://wiki.gentoo.org/wiki/User:Jonathan_Frech

CONTACT.

Jonathan Frech <info@jfrech.com>

Postal address: reveal

CONTACT/WHEN.

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.
My response times are volatile (~1h--~8d).

REFERENCES.

[F21B248] 

F.: "Compiling to native brainfuck". 2021-09-04. In: jblog. Online: https://blog.jfrech.com/248/ [accessed 2024-01-06]

[F20B226] 

F.: "Zpr’(h". 2020-03-21. In: jblog. Online: https://blog.jfrech.com/226/ [accessed 2024-01-06]

[Gnu23]   

GNU: "Various Licenses and Comments about Them". 1999--2023. Online: https://www.gnu.org/licenses/license-list.html#Expat [accessed 2024-01-12]

[F19]     

F.: "Extending A056154". 2019-10-28. Online: https://papers.jfrech.com/2019-10-28_jonathan-frech_extending-a056154.pdf [accessed 2024-01-11]

[F19B221] 

F.: "Extending A056154". 2019-11-02. In: jblog. Online: https://blog.jfrech.com/221/ [accessed 2024-01-11]

[F19B220] 

F.: "A325902". 2019-10-05. In: jblog. Online: https://blog.jfrech.com/220/ [accessed 2024-01-11]

[F17B171] 

[F17B171] F.: "A285494". 2017-06-03. In: jblog. Online: https://blog.jfrech.com/171/ [accessed 2024-01-11]

[F19B214] 

F.: "krrp". 2019-04-20. In: jblog. Online: https://blog.jfrech.com/214/ [accessed 2024-01-06]

[F17B162] 

F.: "A278328". 2017-03-11. In: jblog. Online: https://blog.jfrech.com/162/ [accessed 2024-01-11]

Jonathan Frech's homepage; last edited 2024-01-12.