Another Aquaponics Rose
My little basement aquaponics setup has given me another miniature rose!!!
我小时候家里第一台电视是个小小的黑白电视机,偶尔能看到《动物王国》。后来有了 Betamax 和 VHS 录像带,人们可以在家看节目了!再后来是 DVD。
接着一切变成了数字文件。存储成本暴跌,我开始保存自己喜欢的电影和电视剧的数字副本。为什么?因为我喜欢重看,也喜欢收藏,而且这样做似乎没什么坏处。
我心想:“太好了!生活可以变清爽了,现在只需要整理一堆文件!”于是我扔掉 DVD,拥抱数字生活。
那是大约 25 年前的事了。如今我有一千多部电影、将近 200 部电视剧,还有一季又一季、数不清的剧集。
我一直尽量保持整洁,重命名文件和文件夹,维持一点秩序。做得其实还不错,但随着数量不断增加,寻找和浏览内容越来越困难,最后几乎不可能。目录实在太多了。
答案显而易见。
顺便建立媒体目录似乎也很自然。
The Movie Database 提供免费的公开电影和电视剧资料库,包括海报、剧集介绍、演员阵容等等。我可以利用这些资料为自己的影片建立漂亮的目录条目。
我绝对不可能手动完成这件事。
要编写软件应对所有特殊情况,也很令人头疼。各种奇怪的文件名,要把它们准确匹配到 TMDB 条目,难度实在太高。坦白说,这超出了我当时能轻松解决的范围。
我真正需要的是一个实习生、一个跑腿助手,或者一个机器人,逐个目录帮我检查。
我刚好有这样的工具!我最近下载了小型 LLM Qwen 3.5 4B。它有点像 ChatGPT,但运行在我自己的电脑上,而且足够聪明,可以胜任这项工作。
我刚刚完成 Ax3l,一个自主 AI 代理,通过运行数千次模拟来调整一个简单神经网络。它调一个参数,运行模拟,分析结果,再调参数,再运行模拟……
相比之下,这个项目就简单多了。我打算让 LLM:
于是我给项目起名 R3el,开始设计。

好吧,也没有那么简单,但以 Ax3l 的代码为起点,绝对是我能做出来的项目。
我知道最终会构建一个可以浏览和搜索收藏的 Web 界面,所以干脆顺势在里面加上控制功能。

与 LLM 合作的经历让我明白了细粒度报告的重要性。我再次借鉴 Ax3l 代码库,创建详细的事件日志,以便监控、调整和排查整个处理流程。

我几乎花了一整天来梳理并命名所有感兴趣的消息,但这是一笔非常值得的投入,极大帮助了我集中开发精力。
经过一些调试,我增加了使用场景、改善模式匹配,还手动检查了一小部分文件系统。终于成功了!!!接下来的几天,我不断把一批批目录加入队列,让程序自己处理。

最后一步是做一个好看的浏览和搜索界面:

这部分确实简单。类似的用户界面范例实在太多,实现一个基础版本并不困难。

项目完成了。R3el 还在扫描,但我估计今天结束前就能做完。起初我还在想,为这件事写一个应用是不是有点大材小用。不过说实话,面对如此庞大的数据清理任务,我还是想不出更好的解决办法。
而且还挺酷的,对吧! :)

My little basement aquaponics setup has given me another miniature rose!!!
Some of you may have read my Git Battles post, where I talked about how I developed and a documented a Git workflow.
I recently built MyCount to track website visitors to my projects. I found that that over 40% of my visitors were from China, and that 35% of those used a Ch...
I have a future project in mind which will require a Dynamic DNS service. I created BMDynIP for that purpose. After building the service, I wanted a simple a...
I run an NFS server on my network. I use two large drives and a cron job to rsync the data to provide basic data protection. This solution will not save you ...
I’ve been tinkering with various incarnations of Patrick Loeber’s Train an AI to Play Snake tutorial for a while now. It’s my relaxing goto project that’s fu...
This project started as a cron job and a flatfile and -honestly- that would work perfectly well for a small home setup. Say, two or three machines. I’m curre...
The Bear & Moose GeoIP Project provides an easy-to-use GeoIP service for your applications and for interactive lookups.
Our first TV was a small black-and-white thing where, on rare occasions, we’d watch Animal Kingdom. Then Beta and VHS came along, and you could watch them at...
Fr3d worked: It could talk to the Snake Lab, propose changes to the RNN configuration, run experiments, look at the results, and try again. It proved the ide...
The Snake Lab had become a proper server, with a ZeroMQ API, configuration validation, a database, and a way to run experiments independently of the client. ...
In my last post, I setup a locally hosted LLM running on an old HP Z440 and wrote a crude little conversation loop. I generated random numbers, fed them to t...
This is part one of a four part blog series. In this post, I download, install and setup some software to prompt a local LLM to write haikus…
In the first post, AI FX was still mostly a seed: a repo, a PyPI package, and an idea about using automated FOREX tooling as a learning lab. Since then, the ...
A potential client pointed me to Empowering the Energy Transition Through Fast and Flexible Network Simulation. The article describes an Open Source project,...
I have a prospective client who runs a small group of technology businesses, at least one of which integrates with clients using the Delphi programming lan...
I’ve spent some time around trading systemsL At Merrill Lynch, I supported the Order Audit Trail System (OATS), a compliance system required by NASDAQ. Its p...
A Rosebud, a Few Guppies, and a Quiet Little Ecosystem
I setup an Etsy Storefront to sell high quality, museum grade prints of some of my artwork.
I’ve been working on Db4E, my Monero deployment, operations and analytics platform. It uses Linux systemd to spin up manage Monero, P2Pool and XMRig instance...
AI Snake Lab is an interactive reinforcement learning sandbox for experimenting with AI agents in a classic Snake Game environment — featuring a live Textual...
You know that saying, “A picture is worth a thousand words.”? In programming, I’d argue it can be worth a thousand lines of code…
This post is about using constants in your code. Why it matters, what the benefits are and how you can do it well. I’m sad to say, I learned this the hard wa...
This week, I introduced 15 raccoon tiger shrimp—plus a surprise 2 bonus—to my aquarium. After a proper acclimatization, I released them into the tank… and ju...
When I first started experimenting with Monero mining and self-hosted infrastructure, I did what everyone else does: I downloaded the Monero software, the P2...
Let me be honest: Git has punched me in the face more times than I can count. Every time I think I’ve got a smooth release flow down, Git yells, “Not so fast...
I was burned by opaque documentation: I’ve been building a modern terminal UI in Python using the excellent Textual framework. It’s sharp, fast, and honestly...
The original reporting system was a set of static dashboards built using GitHub Pages, JavaScript, and ApexCharts. It pulled data from my mining setup — via ...
I’ve been deep in the trenches with my Db4E project — pulling together Monero mining infrastructure, MongoDB integration, and a bunch of orchestration magic....
I recently published a small Python module to PyPI and GitHub: db4e-systemd, a lightweight wrapper around systemctl that lets you control services (start, st...
I received my order from NIKU Farms, YAY! It’s a meat delivery that my sister, Corinna Ghaznavi, gifted me this Christmas. Every two months I receive this am...
As part of my goal to be more visible in the world, I setup this domain i.e. https://osoyalce.com. I use it to publish information about the projects I’m wor...
It’s been a while since I started and then abandoned this blog. My last post was in June of 2024!!
I decided that I didn’t like the way that the main blog page looks. I am using GitHub to host the website and am using a fork of the jekyll/minima theme. My ...
It’s in the construction phase. I need to complete the water circulation process. I bought a fiber glass kit for this (and also to fix my kitchen sink!).
The XMR Mining Farm complete with this eye-popping chart The Bear and Moose Knowledge Base My resume MyZODB - A Place to Store Everything