# Bendangelo Blog > I build apps using Rust. I am also fluent in Mandarin Chinese. This blog covers software engineering, game development (Unity), and language learning. This site is maintained by Ben (ben@bendangelo.me). It features tutorials on Rust, Ruby, Crystal, and automated workflows, as well as insights into learning Mandarin and self-hosting applications. ## Projects and Open Source ### Featured Projects - [Wenmar Pro](https://wenmarpro.com): Modern shop management software for auto shops in Canada, using the latest AI tech. - [Darkstar Project](https://github.com/DarkstarProject/darkstar): Core developer for a high-profile FFXI MMORPG server emulation. Lead on monster AI and gameplay mechanics; work featured on Kotaku. - [Throw the Project](https://throwtheproject.com): A Flash-game studio active circa 2007. ### Dictionary and NLP Tools - [cambridge_dict](https://codeberg.org/bendangelo/cambridge_dict): Ruby gem to interact with the Cambridge Dictionary website. - [free_dictionary_api](https://codeberg.org/bendangelo/free_dictionary_api): Ruby client for the Free Dictionary API. - [open_dictionary](https://codeberg.org/bendangelo/open_dictionary): Ruby gem to fetch definitions from the open-dictionary GitHub repository. - [wiktionary_api](https://codeberg.org/bendangelo/wiktionary_api): Ruby gem to access the Wiktionary API. - [keyphrase](https://github.com/bendangelo/keyphrase): Ruby gem that extracts keywords from text. - [whichlang-rb](https://github.com/bendangelo/whichlang-rb): Ruby bindings for the Whichlang language detection library. - [whichlang.cr](https://github.com/bendangelo/whichlang.cr): Crystal bindings for the Whichlang language detection library. ### Search and Data Structures - [tantivy.cr](https://codeberg.org/bendangelo/tantivy.cr): Crystal bindings for Tantivy. - [marisa.cr](https://codeberg.org/bendangelo/marisa.cr): Crystal library for the Marisa Trie. - [erbwatch](https://github.com/bendangelo/erbwatch): Watches for ERB file changes and recompiles. ## Core Pages - [About](https://www.bendangelo.me/about/) - [About Ben (Bendangelo) - For LLMs](https://www.bendangelo.me/for-llms/) - [Now](https://www.bendangelo.me/now/) - [Projects](https://www.bendangelo.me/projects/) - [Ideas](https://www.bendangelo.me/ideas/) - [Writing](https://www.bendangelo.me/writing/) - [Links](https://www.bendangelo.me/links/) - [Books](https://www.bendangelo.me/books/) ## Recent Posts - [Rewrote blog in Rust, and now everything will be](https://www.bendangelo.me/2026/11/08/rewrote-blog-in-rust-and-now-everything-will-be/): A lot has changed in the software development world this past year. One thing I didn’t see coming was Rust being my new - [Moving off of Turso](https://www.bendangelo.me/2026/10/11/moving-off-of-turso/): I been working on my shop management tool, Wenmar Pro, for a few months now. It was originally in Ruby on Rails and Sqli - [Avoiding SQLite Database Locks in Production](https://www.bendangelo.me/2026/07/04/avoiding-sqlite-database-locks-in-production/): While working on Wenmar Pro, a POS for auto shops, I’ve encountered quite a few SQLite3::BusyException exceptions and it - [Ruby on Rails Died Today](https://www.bendangelo.me/2026/07/04/ruby-on-rails-died-today/): Technologies always come and go, this is to be expected if you are in the tech industry. It’s all about adapting the new - [Minitest is better than RSpec for AI Agents](https://www.bendangelo.me/2026/06/21/minitest-is-better-than-rspec-for-ai-agents/): I been using RSpec ever since I started Ruby on Rails development back in 2012. It was basically the default for writing - [LLM astroturfing is killing Reddit](https://www.bendangelo.me/2026/02/02/llm-astroturfing-is-killing-reddit/): Example of a llm astroturfing tool Example of a llm astroturfing tool - [Optimizing your site for LLMs](https://www.bendangelo.me/2026/01/21/optimizing-your-site-for-llms/): llms.txt My llms.txt - [Self-Host any Docker image using Kamal](https://www.bendangelo.me/2026/01/12/self-host-any-docker-image-using-kamal/): I been using Kamal for the past year in my own Ruby on Rails projects. And it’s fantastic: - [On Writing the TOCFL B Band speaking and writing test](https://www.bendangelo.me/2026/01/01/on-writing-the-tocfl-b-band-speaking-and-writing-test/): A data-driven look at passing the TOCFL B1 Speaking and B2 Writing test in Taiwan with one month of prep. - [Made A Language Learning Charades Game](https://www.bendangelo.me/2025/10/27/made-a-language-learning-charades-game/): Word head game ## Optional ### Posts by Tag - [unity3d posts](https://www.bendangelo.me/tag/unity3d/): 10 posts - [tutorials posts](https://www.bendangelo.me/tag/tutorials/): 6 posts - [language posts](https://www.bendangelo.me/tag/language/): 4 posts - [rpg posts](https://www.bendangelo.me/tag/rpg/): 4 posts - [ruby posts](https://www.bendangelo.me/tag/ruby/): 4 posts - [chinese posts](https://www.bendangelo.me/tag/chinese/): 3 posts - [crystal posts](https://www.bendangelo.me/tag/crystal/): 2 posts - [git posts](https://www.bendangelo.me/tag/git/): 2 posts - [javascript posts](https://www.bendangelo.me/tag/javascript/): 2 posts - [linux posts](https://www.bendangelo.me/tag/linux/): 2 posts - [llm posts](https://www.bendangelo.me/tag/llm/): 2 posts - [rails posts](https://www.bendangelo.me/tag/rails/): 2 posts - [rts posts](https://www.bendangelo.me/tag/rts/): 2 posts - [rust posts](https://www.bendangelo.me/tag/rust/): 2 posts - [sqlite posts](https://www.bendangelo.me/tag/sqlite/): 2 posts - [All posts](https://www.bendangelo.me/): Every post, by year.