About Me
Autistic oddball.
Interests
Programming
Linguistics
Prosody
Music
Art
Creative writing
Nature
Birds
Guns
Movies
History
Philosophy
Psychology
Gender issues
Links
A web-based utility to encode and decode text. It uses a combination of GZip compression and a custom Base-95 encoding scheme. The primary goal is to represent binary data in a text format that is more compact than alternatives like Base64, especially for compressible data.
How it Works:
- Encoding: The user provides plain text and clicks
Encode
. The application first compresses this text into a binary format using the GZip algorithm. This binary data is then encoded into a string using a Base-95 character set (which uses 95 printable ASCII characters).
- Decoding: The user provides the Base-95 encoded string and clicks
Decode
. The application first decodes it back into its binary GZip format. It then decompresses this data to retrieve the original plain text.
Features:
- Tabbed UI: A clean interface with separate "Encode" and "Decode" tabs.
- Multiple Inputs: Users can type text directly, paste from the clipboard, or upload a text file.
- Output Handling: The generated output can be easily copied to the clipboard or downloaded as a
.txt
file.
- Statistics: It calculates and displays the byte size of the input and output, along with the percentage change. This is useful for visualizing the efficiency of the GZip compression.
- UX Enhancements: It includes toast notifications for user actions, a loading overlay during processing, and a warning if the encoded output contains trailing spaces, which can be fragile.
- Client-Side: All operations are performed locally in the user's browser.
Limitations:
- The Base-95 character set might not be safe for all transmission channels if it includes special characters.
A tool to transliterate text written in Malayalam script to Brahmi script and vice versa. Uses Tamil Brahmi characters and one extra character, not present in the extended Brahmi character set and hence borrowed from Grantha script, for a complete representation of Malayalam script.
How it works: The user provides input written in Malayalam or Brahmi and clicks Convert
. The application performs transliteration across scripts by using a predefined map of equivalent characters in both.
Features:
- Simple Interface: A clean layout with one textarea for input and another for the read-only output.
- Clipboard Integration: "Paste" and "Copy" buttons are provided for convenience.
- User Feedback: Toast notifications confirm the success or failure of clipboard operations.
For securely encrypting messages that can only be decrypted with a secret key. The key must be shared securely with the recipient.
How it works: This file implements a tool for symmetric encryption and decryption using the AES-GCM algorithm from the Web Crypto API.
- Encryption: A new 256-bit AES key is generated on each page load and displayed as text and a QR code. The user enters the plain text input and clicks
Encrypt
. The input is first compressed with GZip, then encrypted. The resulting ciphertext is combined with the initialization vector (IV) and encoded in Base-95 for display.
- Decryption: The user provides the ciphertext along with the exact key used for encryption and clicks
Decrypt
. The tool decodes the input, separates the IV, decrypts the data, and decompresses it to get the original text.
Features:
- Strong Encryption: Uses the modern and secure AES-256-GCM standard.
- Key Generation: Automatically generates a strong key and a QR code for easy sharing.
- Compression: Uses GZip to reduce the message size before encryption.
- Full-Featured UI: Includes file I/O, clipboard support, byte counters, and user feedback notifications.
Limitations:
- The key is ephemeral and changes on page reload. Users must manually save and securely transmit the key for the recipient to decrypt the message. Losing the key means the data is irrecoverable.
A simple Malayalam substitution cipher designed by FlameWolf.
How it works: The user inputs Malayalam text and clicks Convert
. The application performs text transformation using the Keelakam substitution cipher scheme.
Features:
- Minimalist UI: Consists of an input field, an output field, and buttons for conversion and clipboard actions.
- Clipboard Support: "Paste" and "Copy" buttons are included.
- User Feedback: Uses toast notifications to inform the user about clipboard operations.
Optimized base-95 text conversion for encoding and compressing Malayalam text to a greater degree than a generic Unicode-to-GZip pipeline would allow.
How it works: This is a specialized version of the Base-95 Converter designed to efficiently handle text containing both Malayalam and ASCII characters. It uses a "range compression" technique:
- Encoding: It maps Malayalam characters (Unicode range U+0D00–U+0D7F) and ASCII characters to a compact single-byte representation before applying GZip and Base-95 encoding.
- Decoding: It reverses the process, decoding from Base-95, decompressing with GZip, and then mapping the bytes back to their original Malayalam and ASCII characters.
Features:
- Optimized for Malayalam: The range compression technique significantly reduces the size of Malayalam text.
- Character Normalization: It attempts to replace some common non-ASCII/non-Malayalam symbols (like smart quotes) with their ASCII equivalents.
- Rich UI: Inherits all the features of base-95.html, including file I/O, clipboard support, and statistics.
Limitations:
- Characters outside the ASCII and Malayalam Unicode ranges will not be processed correctly and may be replaced with
[UNK]
.
An implementation of Moolabhadri, an ancient Malayalam substitution cipher.
How it works: It allows the user to choose any of the two known versions of the Moolabhadri cipher and then apply it to the input text.
- The page displays the defined transformation rules of the selected cipher.
- When the user clicks
Convert
, the selected cipher's transformation is applied to the input text.
Features:
- State Persistence: Remembers the last selected cipher using
localStorage
.
- Simple UI: Provides a straightforward interface for pasting, converting, and copying text.
- Clipboard Support: "Paste" and "Copy" buttons are available.
- User Feedback: Toast notifications for text transformations and clipboard actions.
Limitations:
- Cannot automatically differentiate between dental 'ന' and alveolar 'ന' (ഩ); so the transformation results might not align with the pronunciation. (Though it doesn't affect the involutory nature of the transformation at all: applying a transformation on the result of the same transformation will yield the original input.)
- When 'ര്യ' is written using the Dot Reph ('ൎ') character, it becomes 'ൎയ' (or 'ൎയ്യ' by convention), but this edge case is not handled.
Another Malayalam substitution cipher designed by FlameWolf.
How it works: The user inputs Malayalam text and clicks Convert
. The application performs text transformation using the Navashashti substitution cipher scheme.
Features:
- Minimalist UI: Clean input/output layout with conversion and clipboard buttons.
- Clipboard Integration: "Paste" and "Copy" functionality.
- User Feedback: Toast notifications for user actions.
For correctly reversing any Unicode text, which is useful in text processing, creative text effects, or for languages written right-to-left.
How it works: This tool reverses a string of text while correctly handling Unicode characters, including complex grapheme clusters (like characters with diacritics or emojis). A simple string.split('').reverse().join('')
in JavaScript would break such characters. This tool uses a more sophisticated approach.
Features:
- Unicode-Aware: Correctly handles multi-byte characters and grapheme clusters.
- Live Update: The output is updated in real-time as the user types in the input field.
- Simple UI: A very intuitive interface with input/output fields and clipboard buttons.
Limitations:
- No options for word/character-level reversal.
A simple and fun way to obscure text. It is not a secure form of encryption.
How it works: This file provides a tool to apply the ROT-18 cipher to text. ROT-18 is a combination of ROT-13 (for letters) and ROT-5 (for numbers).
- Letters
A-Z
are shifted 13 places (e.g., A
becomes N
).
- Numbers
0-9
are shifted 5 places (e.g., 1
becomes 6
).
- Applying the cipher a second time restores the original text.
Features:
- Live Transformation: The output is updated instantly as the user types.
- Simple and Fast: The logic is straightforward and executes quickly.
- Easy to Use: A clean interface with clipboard support.