arbitrary
If you have enough ram, you don’t really need swap at all.
This isn’t really true. Swap is important for things other than acting as a memory reserve. Even if it was only used that way, it can still improve performance by paging out unused memory (such as from application startup that then isn’t used).
There are other benefits too. This link goes into details.
I don’t think the point is that swap is critical. Whether that is true will depend on your workload and hardware. But the point is it makes memory management better and more efficient. Whether you notice a difference in performance or not is again dependent on your workload & hardware. I personally see no reason to not dedicate a couple gigs to swap even with lots of memory on a personal system.
I think if you’re storing vocabulary etc, using the C interface for sqlite wouldn’t be too unwieldy and would be a good learning experience if you haven’t done much raw SQL query writing of your own. Even when you use an ORM there are often times you need to write your own queries for more complicated situations.
One other suggestion: once you have the CLI and bots working, you could abstract this even more. Have a service process that communicates in some way (IPCC, a network port, etc.) that does the actual text analysis. Your cli and bots can then just interface over that channel. This gives separation of duties so you can easily implement new clients/servers or rework them much more easily.
When my wife gave birth, the delivery room had a sign saying any sexual comments, said jokingly or not, would result in you being immediately kicked out. I couldn’t believe they needed to put up a fucking sign for that at the time so that makes this post a bit less shocking to me.