~ λ whoami
Hello! I'm Kamila Szewczyk, I'm 18 and I usually go under the online moniker Palaiologos.
I'm an expert programmer and aspiring mathematician, primarily interested in compiler construction,
data compression, esoteric languages, statistics
and numerical algorithms. Additionally, during my teens I have possessed substantial knowledge of
low level development and performance optimisation.
PGP: C868 F0B6 DE38 409D (subkey E34D 7BAD A3DA CC14). Trust only things I say on my website, via Matrix or messages I explicitly sign. All of my GitHub contributions are signed with this key.
~ λ cat links
Links: Github, CGSE, EsoWiki, RosettaCode, Keybase
Social: Matrix (preferred), Discord, Fediverse (old), Fediverse (new), E-Mail
I collect donations via Patreon and PayPal.
~ λ cat skills
Expert: C, C++, APL, Lisp, x86/8051/6502/Z80 assembly, Perl, Java/JVM, LaTeX
Comfortable user: Lua, TypeScript, ActionScript, Rust, Haskell, OCaml
Learner: Python, Haxe, Prolog, Erlang, Elixir, MIPS assembly, Mathematica
Esoteric languages: asm2bf, Brainfuck, Malbolge, Seed, Befunge 93/98...
Fields: Data compression, reverse engineering, compiler/interpreter construction, computer engineering, malware analysis, functional programming, mathematics, cryptanalysis, high-performance computing, chess programming, array programming, computer algebra, code golf, operating systems, garbage collection, cryptography, parallel computing, automata theory, retrocomputing.
~ λ cat projects
bzip3 (2022-2023), a better and stronger spiritual successor to bzip2. Features higher compression ratios and better performance thanks to a context modelling and adaptive arithmetic coding-based entropy coder, fast Burrows-Wheeler transform code making use of suffix arrays and a RLE with Lempel Ziv+Prediction pass. Packaged for every major linux distribution (Alpine, Arch, Debian, Devuan, Fedora, Gentoo, Kali, NixOS, Manjaro, Void and others). Usually outperforms RAR, LZMA and Zstandard on text data.
modern-rzip (2023), a modernised fork of the rzip. Includes a Reed-Solomon implementation and a custom archiver with support of locality-sensitive hashing for i-node ordering. Can compete with dwarfs, squashfs, lrzip, etc...
mri (2022), minecraft region interchange format. A format for storing minecraft worlds in a more compact and efficient way.
qbdiff (2023), building and applying patches to binary files.
asm2bf (2016-2021), a very powerful custom assembler targetting over 200 languages.
mtcracker (2019), the most efficient (seed size to generation time ratio) mersenne twister cracker (recovering the initial seed) made for use with the Seed esolang. Includes source code in x86 assembly and a description of a better generation algorithm. My first Wikipedia mention which I had earned at the age of 14.
malbolge-lisp (2020-2021), a lisp interpreter in malbolge unshackled, considered the most advanced program written in malbolge to date. Alongside a malbolge "hello world" program I made, mentioned on the english wikipedia. Supports point-free programming, lexical scoping, mu-recursive functions, arbitrary precision arithmetic, functional programming and lazy evaluation. My second large project I had made at the age of 16.
KamilaLisp (2021-2023), a Lisp I had dreamed up. Concise, flexible and functional. Loosely inspired by malbolge-lisp, APL, Haskell, and Scheme.
blc-mb (2022), a Binary Lambda Calculus evaluation engine written in Malbolge. Supports garbage collection, monadic I/O, tail call optimisation and it's compatible with existing BLC8 programs.
asm2ws (2021), a just-in-time compiler, assembler, optimiser, interpreter and disassembler for the Whitespace virtual machine.
spidersol (2022), a clone of the Windows Spider Solitaire game built using SDL2.
tiny6502 & tinyz80 (2021), small but fully compliant 6502 and z80 emulators.
Maja (2023), a slick numerics-oriented Mathematical library for Java. Maja implements around 300 different special functions for use in Java programs.
~ λ cat publications
MalbolgeLISP - Design and Implementation of the most complex Malbolge Unshackled to date. - Fall 2020 - Fall 2021; 72 pages.
An introduction to functional and array programming - 2023; 84 pages (WIP).
~ λ cat contributions
discord bots (2021 - present), volunteer verification helper and site helper.
ghidra, a reverse-engineering environment.
notepad++, a Windows code editor.
gcc, the GNU Compiler Collection.
re/flex, a very fast lexer generator for C++.
dwarfs, a fast high compression read-only file system.
ppmd_sh, a statistical compressor based on Dmitry Shkarin’s ppmd vJr1.
zpaq, a journaling archiver.
LLVM Project, a compiler infrastructure.
~ λ head -n 5 essays
2023-01-05 - A technique for ELF file infection - part 3. -
2023-01-03 - A technique for ELF file infection - part 2. -
2023-01-03 - A technique for ELF file infection. -
2023-01-02 - A Z80 emulator -
2023-01-01 - The Cleaner pattern - how to free native handles in Java 9? -
2022-09-25 - On the factorial function approximation -
~ λ hwinfo
Main PC - "Legendre": R9 3900X, 32GB 3200MHz, TUF X570, RM White 850W 80 Plus Gold, NZXT H510 Black, PNY 1TB M.2 PCIe NVMe, Noctua NH-D15 2x140mm
Laptop - "Laplace": ThinkPad E14 gen 3, R7 5700U, 16 GB (DDR4, 3200MHz), M.2 PCIe 512 GB
Server - "Lovelace": i5-7400, 16GB, 2x2TB WD Blue, Headless.
Machines "Libri" and "LeVerrier" have been decommissioned during moving countries.
~ λ cat ~/.patrons
Tier 1 (5€): Mmm313
Tier 2 (10€): Jacek Andrzejewski, ___ol___
~ λ cat /dev/random
From 2019-2021, received the KFnrD scholarship, a Polish organisation which supports highly gifted schoolchildren.
Native Polish, C2 English, B1 German. Also dabbling in Russian and Latin.
Attempting to seduce me romantically will end poorly for you.
Attempting to convince me to work on your blockchain or webdev projects will end even worse.
© 2019 - 2023 Kamila Szewczyk