CatgirlIntelligenceAgency/code/libraries
Viktor Lofgren 1d34224416 (refac) Remove src/main from all source code paths.
Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one.

While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules.  Which you'll do a lot, because it's *modul*ar.  The src/main/java convention makes a lot of sense for a non-modular project though.  This ain't that.
2024-02-23 16:13:40 +01:00
..
array (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
big-string (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
blocking-thread-pool (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
braille-block-punch-cards (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
btree (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
easy-lsh (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
geo-ip (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
guarded-regex (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
language-processing (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
message-queue (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
next-prime (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
random-write-funnel (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
term-frequency-dict (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
test-helpers (refac) Remove src/main from all source code paths. 2024-02-23 16:13:40 +01:00
LICENSE.txt The refactoring will continue until morale improves. 2023-03-12 10:50:31 +01:00
readme.md (mq) Refactor mq and actor library and move it to libraries out of common 2023-08-15 10:53:23 +02:00

Libraries

These are libraries that are not strongly coupled to the search engine's business logic. These libraries may not depend on features, services, processes, models, etc.

NOTE: These libraries are co-licensed under the MIT license.

Libraries

  • The array library is for memory mapping large memory-areas, which Java has bad support for. It's designed to be able to easily replaced when Java's Foreign Function And Memory API is released.
  • The btree library offers a static BTree implementation based on the array library.
  • language-processing contains primitives for sentence extraction and POS-tagging.
  • The message-queue library.

Micro libraries

  • easy-lsh is a simple locality-sensitive hash for document deduplication
  • guarded-regex makes predicated regular expressions clearer
  • big-string offers seamless string compression
  • random-write-funnel is a tool for reducing write amplification when constructing large files out of order.
  • next-prime naive brute force prime sieve.
  • braille-block-punch-cards renders bit masks into human-readable dot matrices using the braille block.