midnight citylights
Functions

The Midnight Citylights Function Library is a collection of mathematical utilities, generators, modifiers, string tools, and reality-state calculators.

These functions serve both practical and theoretical purposes—ranging from everyday data operations to explorations in Gödel-style numbering, Kolmogorov complexity, and algorithmic information theory.

Together, they form an evolving experimental framework for studying the relationship between computation, compression, and symbolic reasoning, as well as for cryptographic and conceptual research into how ideas themselves can be represented as functions.

Some of these functions can produce extremely large numbers or perform heavy calculations that may cause your browser tab to freeze or become unresponsive. When experimenting with unfamiliar functions, adjust values gradually and avoid pasting very large inputs. If a tab does stall, simply close and reopen it—no permanent harm will occur.

These functions are provided for educational and experimental purposes. They are not guaranteed to meet production-grade cryptographic or security standards. Do not use this library as the sole basis for secure password generation or encryption in sensitive applications.

Decodes a Base58-encoded string back into readable text using the Bitcoin alphabet.

Decodes padded Base64 text back into its original UTF-8 string form.

Decodes Base-N encoded text back to its UTF-8 form using a custom alphabet.

Encodes text into a Base58 string using the Bitcoin alphabet, omitting ambiguous symbols.

Encodes text into Base64 with full four-character block padding for accurate round-trip decoding.

Encodes text into a Base-N format using a user-defined alphabet.

Converts letters to their alphabetical indices and exponentiates them in sequence.

Groups letter indices before exponentiating each group sequentially to produce complex numeric growth patterns.

Interprets the digits of a number as a sequential chain of exponents.

Computes a one-way SHA-256 hash of the provided input and outputs the hexadecimal digest.

Generates a uniformly distributed random integer between two numbers using an unbiased entropy source.

Generates a random string using a custom character set and defined length, drawing entropy from the server.

Generates a universally unique identifier (UUID) following the version-4 specification. Each UUID is a 36-character string containing random hexadecimal digits and fixed formatting markers.

Creates a version-5 UUID following the RFC 4122 specification. This method derives identifiers from a namespace UUID and a name string, ensuring consistent, reproducible results for the same inputs. While UUID v5 can be useful for structured naming and reproducible references, version 4 (random) UUIDs are generally preferred for privacy-critical or security-sensitive systems, as they do not embed source information or potential traceability.

This is a vital module to help discover what day of the week it is. When you click the Calculate button, it will tell you the current day of the week—Monday, Tuesday etc. This is a core function in helping our team mates, especially Alex, correctly be present at appointments.

Computes the total entropy capacity of a message based on two parameters: the number of possible unique symbols (charset size) and the total message length. Uses the standard information formula H = length × log₂(charset size), representing the maximum number of bits that could be encoded by a perfectly random sequence.

Determines the length of a text input by counting its characters, including spaces and punctuation. Useful for measuring input size, text processing, or encoding analysis.

Computes a value between two numbers based on an interpolation factor α.

Repeats a given string a specified number of times in a continuous sequence.

Takes a given string and outputs its characters in reverse order.