MIDNIGHT CITYLIGHTS
Functions

Our Function Library is a collection of mathematical utilities, generators, modifiers, string tools, and reality-state calculators. Each is presented as a simple web interface—easy to use, yet educational in the Platonic essence of an atomic function and the insights even the simplest equations can reveal.

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

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

Decode Base64 Block Padded

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

Decode BaseN Stream

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

Encode Base58 Bitcoin Alphabet Stream

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

Encode Base64 Block Padded

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

Encode BaseN Stream

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

Exponentiate Alpha-Index Chain

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

Exponentiate Alpha-Index Chain Group

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

Exponentiate Integer Chain

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

Generate Hash SHA-256

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

Generate Random Integer

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

Generate Random String

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

Generate UUID-V4

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

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

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

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

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

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

Repeat String

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

Reverse String

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