WELCOME TO MY WEBSITE!!!

Some C++ Stuff

  • liburing_b3sum - an io_uring based file hashing utility using a SPSC ring buffer that I designed and implemented
  • The libc++ implementation of the STL deque push_front function has O(log n) amortized time complexity 
  • Unspecified Behavior in a C++ Exam Question  
  • Why gcc and clang sometimes emit an extra mov instruction for std::clamp on x86  
  • Some Python Stuff

  • BASE53A - user-friendly ID generator with mathematical proof of checksum
  • multidown.py - multithreaded downloader, pass in a list of URLs to be downloaded.
  • sedit - automatically encrypting text editor
  • Theseus solver - With 4 different solver backends (brute force, recursive backtracking, BFS, and DFS) plus a GUI for inputting the maze!
  • Games And Other Fun Stuff!!!

  • Play against my unbeatable Tic Tac Toe AI! Better than the standard Minimax implementations! 


  • zc (see above animated gif showing real gameplay) - an improved version of Real Time Risk with additional features such as: multi-tile-select via click-and-drag with mouse, players can now tell their armies to move to arbitrary tiles instead of only the adjacent tile (armies will move according to a route calculated via a shortest path algorithm), armies now take time to move from one tile to another instead of instantaneously, and their movement is now visualized (so that players can now actually see armies moving from one tile to another) and can now collide mid-flight in which case the bigger army will annihilate the smaller one, waypoints (i.e. players can tell their armies to visit a sequence of points in order - for each point, the tile that is closest to the point will be selected as the waypoint), and some other QoL improvements.
  • Edge detector demo video
  • Smooth Antichamber-style graphics - A demonstration of the proper way to use the Laplacian operator and its superiority to 1st derivative filter kernels for edge detection. Implemented in Unreal Engine.
  • bolgefuck - an esoteric programming language I invented. It is designed to be as hard to program in as possible, even harder than malbolge!!!!!
  • Useful Tools!!

  • SimpleBlogPage - bugfixed and cleaned version of the BlogPage MediaWiki extension.
  • ltt - Linux Time Tracker - an improved version of latte with added support for URL logging (currently Chromium only) and downloads a text copy of every web page you visit so that you can search through them later.
  • crib search for one-time pad with reused key
  • incrementing XOR decryptor
  • password generator - using random.SystemRandom()
  • Earley parser with nullable fix from Practical Earley Parsing by Aycock & Horspool
  • More Fun Stuff!!

  • Proof of correctness for Knuth shuffle
  • Sets with distinct subset sums
  • Proof of algorithm to detect cycles in a directed graph
  • Proof of function to normalize angles using why3
  • Proof my base53 checksum detects all single-character changes and adjacent transpositions
  • gf_invert_matrix is very slow - takes up 99% of the total running time...
  • Soft realtime ticker on Linux
  • St. Petersburg paradox simulator
  • Faraday bag test results using NESDR Mini 2+ and gqrx
  • Other links

    My Github
    My old blog
    My new blog
    Click here for an online pastebin / url shortening service
    Click here for a javascript encryption service using SJCL (entirely clientside)