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.
Warning
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.
Decode Base58 Bitcoin Alphabet Stream
- Type: Modifier
Decodes a Base58-encoded string back into readable text using the Bitcoin alphabet.
Decode Base64 Block Padded
- Type: Modifier
Decodes padded Base64 text back into its original UTF-8 string form.
Decode BaseN Stream
- Type: Modifier
Decodes Base-N encoded text back to its UTF-8 form using a custom alphabet.
Encode Base58 Bitcoin Alphabet Stream
- Type: Modifier
Encodes text into a Base58 string using the Bitcoin alphabet, omitting ambiguous symbols.
Encode Base64 Block Padded
- Type: Modifier
Encodes text into Base64 with full four-character block padding for accurate round-trip decoding.
Encode BaseN Stream
- Type: Modifier
Encodes text into a Base-N format using a user-defined alphabet.
Exponentiate Alpha-Index Chain
- Type: Modifier
Converts letters to their alphabetical indices and exponentiates them in sequence.
Exponentiate Alpha-Index Chain Group
- Type: Modifier
Groups letter indices before exponentiating each group sequentially to produce complex numeric growth patterns.
Exponentiate Integer Chain
- Type: Modifier
Interprets the digits of a number as a sequential chain of exponents.
Generate Hash SHA-256
- Type: Modifier
Computes a one-way SHA-256 hash of the provided input and outputs the hexadecimal digest.
Generate Random Integer
- Type: Modifier
Generates a uniformly distributed random integer between two numbers using an unbiased entropy source.
Generate Random String
- Type: Modifier
Generates a random string using a custom character set and defined length, drawing entropy from the server.
Generate UUID-V4
- Type: Generator
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.
Generate UUID-V5
- Type: Generator
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.
Get Current Day of the Week
- Type: Analzyer
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.
Get Entropy Bits
- Type: Calculator
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.
Get String Length
- Type: Analzyer
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.
Linear Interpolate
- Type: Modifier
Computes a value between two numbers based on an interpolation factor α.
Repeat String
- Type: Modifier
Repeats a given string a specified number of times in a continuous sequence.
Reverse String
- Type: Modifier
Takes a given string and outputs its characters in reverse order.