Quick links:
Texts:
- Python top-level slower than functions - why the top-level code in Python will run slower than code inside a function.
My bigger programs and libraries:
- Botes - a plaintext notetaking GUI app I wrote for personal use (Free Pascal, Lazarus).
- Blaxor - a hex viewer that can handle large files (C++, FLTK).
- zipsavings - show information about archive file's efficiency (Python, calls 7z and my csoinfo executables).
- Viewpic - a simple image viewer (Python3, Qt5, PySide2).
- LuaConsole - an in-game style dev console for Lua (C++, SFML, can be easily used with other libs).
- LuaConsoleProgram - example program using above console (C++, SMFL).
My self-contained pure C utilities:
- analyzepng - print information about a PNG file's chunks and such.
- muhdnscache - prints contents of your Windows DNS cache using an undocumented function in dnsapi.
- binarypic - convert binary file to/from greyscale PNG to show patterns, swathes of one value, etc. at a glance.
- topng - convert an image to png (Image Magick and ffmpeg can do the job too if you have them).
- pixelsum - decode an image file and hash its pixels (to make sure an optimized, etc. image is 100% the same).
- csoinfo - print info about a CSO file's compression (Windows only, can easily be made cross-platform).
- bliso - rip a CD/DVD to an ISO file (direct byte by byte copy, Windows only, use dd on Linux).
- rampin - memory maps and touches files to ensure they're cached in RAM (Windows only, for Unix alternative see vmtouch).
- shell - a very minimal Linux/Unix shell, just as the one I once wrote in C class, but this one was written afresh.
- blawork - simple API with pure C fallback around few threading APIs to offload one function to a thread.
- blasha1 - a pure C SHA1 implementation, made for fun and to learn and experiment.
- blawmain - a header that wraps main/wmain to make it easier to write portable UTF-8 args aware CLI programs.
- colors - pipe to color same words same colors randomly to make it easier to see common words.
- snore - a command that works like sleep but prints a dot or a countdown number every second.
- blammap - wrapper for read only memory mapping a file (WIP).
- sack - a struct to keep track of pointers and free them all at once to simplify code dealing with many small buffers.
- log - small multi-threaded logging library (WIP).
- blahex - single header file to convert binary to and from hex string in C
Games I've made:
- Man - clone of PacMan, written for a class (C++, SFML).
- Missles - clone of classic Missile Command game, written for gamedev.net 2018 new year challenge (Lua, LOVE2D).
- Routing Game - clone of an old game I had that I forgot the name of (C++, SFML).
- Heart - a rythm and color matching game inspired by a YouTube video of someone's color matching game (C++, SFML).
- Snek - clone of the classic Snake game (C++, SFML).
Other things I've made or done:
- Unicode Analyze Page - webpage to analyze Unicode string and script to generate JSON data for it, click here to see the page in action.
- Ascii Art Packets - create an ASCII diagram suitable for being in a source file comment from a packet bit fields description.
- Brújula Prompt - a light git prompt that calls no external programs so it's snappy on Windows where that's heavy
- stbi crashing bug report - credit for finding a crashing bug in stb_image (accessing an uinitialized pointer).
- SFML WAV bugfix - diagnosed and fixed a WAV bug (cracking/pop due to reading metadata as samples) in SFML.
- AngelLoader bugfix - found and fixed a Unicode conversion bug in the C++ dll injected into the game.
- Windows ramdisk in duf - noticed that duf on Windows doesn't recognize the ramdisk I use and helped add this feature.
- Polyglot Request - a tiny polyglot file using requests, valid as both Lua and Python.
- AchBall translation - translated AchBall into Polish (credited as FRex).
- Nightmare of Decay translation - first translation into Polish (credited as Błażej Roszkowski, later revised by another translator).
- FoxRaycaster - Wolf3D style raycaster, based on a tutorial.
- Fox2 - same as above but optimize and with an NVidia CUDA path, written for class.
- FizzBuzz - a collection of solutions of popular FizzBuzz problem in few languages.
- Euler - Haskell solutions to few Project Euler problems, done to get used to Haksell for my class at the time.
- cmvdecode - Python script to decode Creative's old CMV "video" format.
- brender - a basic 3D software renderer, with perspective correct texturing, written for class.
- Bla Paste Bin - 1-file PHP pastebin-like webapp. A PHP Hello World basically. Just for fun, not for real use.
- Hashell - small shell in Haskell, has pipes and works on Windows and Linux. Written for a class.
- HackerRank - my HackerRank profile where I sometimes do tasks for fun or to show someone.
- minmaxbench - example code I wrote to show someone how to use AVX2 SIMD in C and C++ via intrinsics.
- PyHashBench - simple script to compare several built in and third party hashes for speed on big amounts of data.
- busybox bug report - report of low performance of sha1sum I ran into when making and testing my SHA1 implementation.
- ZSTD cli extra output - commit and issue that led to adding displaying the content xxhash in zstd cli when scanning .zst file.
- sso-check - small program to test C++ std::string short string optimization (SSO) limits.
- Fullscreenizer - my fork of the Fullscreenizer program by Runtime Terror.
- VidDuration - a Python3 script to run ffprobe to show durations and sizes of media files.
My Greasy Fork scripts for YouTube and others:
- New YouTube Obnoxious Bar Fix - unstick the header bar.
- New YouTube Pic Link - add links to thumbnails near video title.
- New Youtube Green Likes Bar - turn like/dislike bar green/red respectively.
- UVA Tab Problem Title - make tab title be the proble title on UVA online judge.
- Redirect Reddit www to old - redirect from www subdomain to old subdomain on reddit.com, to avoid the redesign.
- Steam Price History Button - add button to steampricehistory.com price history near near game purchase button.
- Kattis Stats Links - a script to add more convenient links to stats for each problem.
My Kattis related stuff (I usually try to go for shortest code):
- My Kattis Account
- Kattis Raid Teams - very fun problem someone gave me and challenged me to get into top 10, so I got into top 1.
- Kattis Shopping List - another fun problem where I managed to get top 1 in smallest code (Python3, down to #2 in February 2023) and speed (C++).
- Kattis Script - a script to aid in solving problems. It downloads input and output examples and runs the solution against them.
- Kattis Stats Links - a script to add more convenient links to stats for each problem.
Very handy programs I use and recommend (not made by me):
- ffmpeg (and ffprobe) - all around tool to work with audio and video files, has convenient statically linked Windows builds.
- ImDisk - a RAM disk for Windows.
- Icaros - Windows Explorer extension that provides info and thumbnail for mkv, webm, etc.
- optipng - a lossless PNG optimizer, useful for websites, sharing PNGs, shipping game assets, etc.
- oxipng - another lossless PNG optimizer, with threading and more options (including zopfli).
- busybox-w32 - Windows build of BusyBox, very useful, rename to ash.exe to launch that shell on doubleclick.
- GNU Units - very useful tool for units and currency conversions.
- WinDirStat - GUI tool to visualise disk usage (faster alternatives that use NTFS MFT exist).
- Everything - GUI Windows filename search engine that provides instantaneous results.
- Diskovery - a neat windows GUI tool to show all the disks and detailed information about them.
- CrystalDiskMark and Info - two tools, one to benchmark drives, another to list their information.
- Sumatra PDF - a nice, light open-source PDF (and other format) viewer for Windows.