Add borded_cpp_exec to .gitignore, include build_borded_cpp in Makefile all target, and extend bench.py with Borded CPP timing. Change borded_cpp Dockerfile base from alpine to gcc:latest with apt-based dependencies.
Add a new C++ implementation of the isspam text analysis tool in retoor_c/isspam.cpp, mirroring the C version's functionality with thread-based file analysis. Update the Makefile with a build_cpp target and add the new binary to .gitignore. Modify bench.py to include timing for the C++ executable. Fix the C tokenizer's delimiter string from punctuation-only to include all standard whitespace characters (\f\v\r\n\t).
- Bump .build-trigger timestamp from 2014-12-02 15:22 to 15:26 to force rebuild
- Add --quiet flag to both wget calls in publish target to suppress download progress output
The __pycache__ directory was being tracked by git, causing compiled Python bytecode files like env.cpython-312.pyc to appear in the repository. This change adds __pycache__ to .gitignore and removes the existing pyc file from version control.
Add 'books' to .gitignore to exclude it from version control, and include generated Rust build fingerprint files for crossbeam-deque, crossbeam-epoch, crossbeam-utils, either, and rayon dependencies under 12bitfloat_rust/risspam/target/release/.fingerprint/
Introduce four boolean flags (show_capitalized, show_sentences, show_words, show_numbers) that control whether their respective analysis results are printed via sld(), replacing the previously commented-out calls. Add a file_exists() utility function that checks if a given path points to an existing readable file. Also append "publish" to .gitignore.
Add the complete source tree for the isspam spam detection utility, including the main C implementation (isspam.c), custom memory allocator (rmalloc.h), string builder (rstr.h), dynamic string list (rstring_list.h), build configuration (Makefile, .clang-format), CI workflow (.gitea/workflows/build.yaml), and sample test data (spam/examole_spam3.txt, not_spam/correct1.txt). The core logic defines a list of forbidden words and provides functions for tokenizing input, removing preserved characters, and checking content against the spam keyword set.