- Metro Vancouver
- http://reiver.link
-
Joined on
2023-02-13
██████╗ ███████╗██╗██╗ ██╗███████╗██████╗
██╔══██╗██╔════╝██║██║ ██║██╔════╝██╔══██╗
██████╔╝█████╗ ██║██║ ██║█████╗ ██████╔╝
██╔══██╗██╔══╝ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗
██║ ██║███████╗██║ ╚████╔╝ ███████╗██║ ██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝
Name: Charles Iliya Krempeaux
Web: reiver.link
Fediverse: @reiver@mastodon.social
ToC
Software
Applications
Here are some open-source software applications I created:
- chatfed — chatfed is a chat (i.e., instant messaging) application for the Social Web and the Fediverse.
- cloudular (https://codeberg.org/cloudular) — bespoke software for self-hosting and hosting
- crowdbucks (back-end front-end) — an open-source Fediverse-native platform for crowdfunding, tipping, payments, and memberships — supporting server admins, open-source developers, creators, and more.
- gpgo — a compiler for a programming-language similar to the Go programming-language (Golang) geared towards GPGPU programming.
- http-file-server — a simple HTTP file-server.
- laterpub (api worker pkg) — a scheduler for the Fediverse and the Social Web.
- microdon — a small light-weight single-user Fediverse back-end server meant to be used in low-memory low-resource environments. (Using microdon can help keep your costs down.)
- retejo — a single-user HTTP web-server that creates a web-site for one forgejo users. A popular forgejo instance server is codeberg. Thus, retejo works with codeberg. You can think of this as an alternative to Codeberg Pages and GitHub Pages. It supports rendering markdown to HTML.
- spacemonkey — a small-net browser.
- tron — is a set of tools that store files based on what they are, not where you put them — i.e., a content-addressed file-system.
- xim-id — a program that generates a xim-id — a quazi‐ monotonically‐increasing unique‐identifier that fit within 64-bits (i.e, 8-bytes), and is safe to use as a file or directory name.
Go (Golang) Packages
Here are some open-source software Go (golang) packages I created:
Caching
- go-fscache — provides caching "middleware" for a
fs.FS, for the Go programming language. - go-mcache — provides a thread-safe in-memory cache, for the Go programming language.
- go-tmp — implements an expiring optional-type with a time-out, for the Go programming language. In other programming languages, an optional-type might be known as: a option-type, or a maybe-type.
Characters
- go-ascii — provides tools for working with ASCII characters, for the Go programming language.
Codecs
- go-base64 — provides decoders and encoders for the base64 encoding, for the Go programming language. This package base64 is meant to be a replacement for Go's built-in "encoding/base64" package.
Color
- go-ansicolor — provides tools for generating ANSI escape codes for setting the foreground and background colors, for the Go programming language.
Cryptography
- go-md2 — implements the MD2 cryptographic hashing algorithm as per IETF RFC-1319, for the Go programming-language.
- go-md4 — implements the MD4 cryptographic hashing algorithm as per IETF RFC-1320, for the Go programming-language.
Environment Variables
- go-env - provides tools for working with environment-variables, for the Go programming language.
Errors
- go-erorr - provides tools for creating and manipulating errors, for the Go programming language.
Fields
- go-field - provides tools for working with fields (i.e., something with a name and value pair), for the Go programming language.
- go-plan - provides tools for working with the plan-format, for the Go programming language; the plan-format is inspired by the format that was outputted by common clients for the finger-protocol.
File Systems
- go-forgejo — provides tools for working with Forgejo servers (such as Codeberg), for the Go programming language.
- go-fscache — provides caching "middleware" for a
fs.FS, for the Go programming language. - go-fsdefault — provides tools for seeing if an
fs.Filedirectory contains a default-file, for the Go programming language. - go-fsdir — provides tools for working with
"io/fs"directories, for the Go programming language. - go-strfs — provides a virtual file-system, where a
fs.Filecan be created from a Gostring, for the Go programming language.
Identifiers
- go-xim - provides quazi‐ monotonically‐increasing unique‐identifiers that fit within 64-bits (i.e, 8-bytes). A xim includes 5 bytes for a unix-time in seconds, 2 bytes for randomness, and 1 byte for a checksum.
Logging
- go-log - provides structured and formatted logging for the Go programming language.
Math
- go-uint2048 — provides 2048-bit unsigned integers (i.e.,
uint2048), for the Go programming language.
Money
- go-ilpaddr — implements ILP Addresses (Interledger Protocol Addresses), for the Go programming language. ILP Addresses are used by the Interledger Protocol, Open Payments, Web Monetization.
- go-iso4217 — provides an ISO 4217 currency alphabetic-codes, numeric-codes, etc, for the Go programming language.
- go-pymtptr — implements Payment Pointers, for the Go programming language. Payment Pointers are used by the Interledger Protocol, Open Payments, and Web Monetization.
- go-spsp — implements the Simple Payment Setup Protocol (SPSP), for the Go programming language. The Simple Payment Setup Protocol (SPSP) is used by the Interledger Protocol, Open Payments, Web Monetization.
Parsing
- go-strparse — provides tools for parsing strings and returning basic Go types, for the Go programming language.
Social Web
- go-accturi — provides tools for working with acct-URIs, for the Go programming language. The acct-URI scheme is used with WebFinger, and the Fediverse / Social Web.
- go-activityhtml — provides tools for working with ActivityHTML, for the Go programming language; ActivityHTML is HTML that has ActivityPub / ActivityStream data marked-up or embedded into it using RDFa.
- go-asns — provides an implementation of the ActivityPub and ActivityStreams protocols, as they are used on the Fediverse, for the Go programming
- go-fedifinger — provides tools for working with the WebFinger protocol as it is used by the Fediverse, for the Go programming language.
- go-fediverseid — provides tools for working with Fediverse-IDs (ex:
@joebloe@example.com), for the Go programming language. - go-forgejo — provides tools for working with Forgejo servers (such as Codeberg), for the Go programming language.
- go-nodeinfo — implements the NodeInfo protocol ( https://github.com/jhass/nodeinfo ), for the Go programming language.
- go-webfinger — provides tools for working with the WebFinger protocol, for the Go programming language.
Web
- go-ctype — provides tools for working with the HTTP
Content-Typeheader, for the Go programming language. - go-ext2media — provides tools inferring what media-type (MIME type) is associated with a file-extension, for the Go programming language.
- go-htmlimg - provides tool for working with the HTML
<img>element, for the Go programming language. - go-htmlmeta - provides tool for working with the HTML
<meta>element, for the Go programming language. - go-http2https — provides tools to redirect from HTTP to HTTPS, for the Go programming language.
- go-httpaccept — provides tools for working with the HTTP
Acceptrequest header, for the Go programming language. - go-httprec — provides tools for recording and modifying HTTP responses that are useful for creating middleware, for the Go programming language.
- go-httpsse — implements HTTP server-sent events (SSE), for the Go programming language.
- go-htmlpage — provides tools for working with complete HTML pages, for the Go programming language.
an
http.Handlermiddleware to render Markdown to HTML, for the Go programming language. - go-mdhttp — provides an
http.Handlermiddleware to render Markdown to HTML, for the Go programming language. - go-readmode — provides tools for working with readmode-css, for the Go programming language.
- go-rfc2616 — an implementation of (parts of) IETF RFC-2616 (Hypertext Transfer Protocol -- HTTP/1.1), for the Go programming language.
- go-smallmonday — provides a small-web (i.e., smallweb / smolweb) extensions for bluemonday HTML sanitizer, for the Go programming language.
Structured Web
- go-hactor — provides an
http.Handlermiddleware to render hactor (structured-HTML) to HTML, for the Go programming language. - go-harticle — provides an
http.Handlermiddleware to render harticle (structured-HTML) to HTML, for the Go programming language. - go-hexcerpt — provides an
http.Handlermiddleware to render hexcerpt (structured-HTML) to HTML, for the Go programming language. - go-structhtml — provides tools for working with structured-HTML, for the Go programming language.
Styles
Here are some open-source software styles I created:
- readmode-css — a CSS style that is optimized for reading legibility — including choice of fonts, background color, foreground color, etc.
Notes
- a fighters heart — notes and quotations.
- child psychology a very short introduction — notes and quotations.
Writings
- artificial-intelligence
- ascii
- camera_shot
- computer_art
- fist-protocol
- grpc
- hurt-people-hurt-people
- kirikou-and-the-sorceress
- populace_diversion
- small-net
- small-web
- social-web
- text-to-speech_model
- toddlerverse