Flip TABLE:在iNaturalist中存储任意数据
摘要
本文介绍了一个创意项目,它利用iNaturalist观察ID存储任意数据(例如待办事项列表),通过无序整数集合中的序列位和值位编码信息,并介绍了演示应用YouDidIt.Bio。
暂无内容
查看缓存全文
缓存时间: 2026/06/18 23:52
# FLIP TABLE:在 iNaturalist 中存储任意数据
来源:https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/
几周前,我的朋友 Marcos (https://marcos.ac/) 举办了一场名为 **FLIP TABLE** (https://fliptable.nyc/) 的活动,庆祝那些非传统数据库技术,包括 Strava、隐写术、编码数字谜题,以及头发。
我想用 iNaturalist 做点什么。能不能用物种来构建一个数据库?或者用物种的观测记录?如果我的待办事项列表本身就是生物多样性的,那会怎样?
我的 FLIP TABLE 演示应用 **YouDidIt.Bio** (https://youdidit.bio/)* 回答了所有这些问题。
iNaturalist 上的每条观测记录 (https://www.inaturalist.org/observations/1234567) 都有一个唯一的 ID,我曾经用这个 ID 把这个博客网站轻松嵌入到你现在正在阅读的文章中 (https://exclav.es/2022/09/05/inaturalist-shortcode-for-hugo/)。
那么,它是如何工作的呢?一个 iNaturalist “经典项目”可以存储任意数量的观测记录,每条记录都有自己唯一的 ID。
[](https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/2.jpeg)
这意味着,通过选择某些观测记录添加到项目中,我们应该能够对信息进行编码。然而,API 并没有指定或允许这些观测记录有任何顺序。因此,问题变成了如何实现一种在无序整数集中存储任意数据的方法。
我选择了一种简单但并非最优的方法:将整数分为“序列位”和“数值位”。较高的序列位允许在解码数据时正确地对值进行排序。
[](https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/6.jpeg)
并非所有整数都是有效的 iNaturalist 观测 ID——有些已被删除,或者不允许添加到项目中。这个问题可以通过简单地迭代序列计数器直到找到一个可用值来解决。例如,请注意在上图中没有序列 1186 或 1183。
然而,编辑时可能会出现一些问题。唯一允许的编辑是将任务标记为已完成,这涉及将 'f' 改为 't'。如果那个观测 ID 不可用怎么办?因为已经存在更高的序列值,所以不能再简单地增加序列计数。
YouDidIt.Bio 的解决方案是将任何不是 'f' 的内容解释为 true,并尝试其他值,直到找到一个有效的。这并不能保证(只有 254 个可能的值),但在实践中我还没遇到问题。你可以看到下面,'f' 被替换成了 'T' 而不是 't'。
[](https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/7.jpeg)
[](https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/8.jpeg)
我有没有说过任何人都可以使用它 (https://youdidit.bio/)?只需提供一个 iNaturalist API 密钥和一个 iNaturalist “经典”项目 ID 即可。
[](https://exclav.es/2026/06/13/flip-table-storing-arbitrary-data-in-inaturalist/3.jpeg)
来吧,试试看!
* “You did it!” 是 Vue 应用新建时默认的标题。
相似文章
自然观察记录
Simon Willison 记录了如何使用 Claude Code for Web 在他的博客上构建一个“自然观察记录”功能,以聚合他在 iNaturalist 上的野生动物照片,并回溯填充了十多年来的观察记录。
iNaturalist 观测记录
Simon Willison 构建了一个个人工具,用于按时间和地点分组查看 iNaturalist 的观测记录。他使用 Claude Code for Web 以及一个用于聚合观测数据的 Python CLI,并通过 Git 抓取技术将数据托管在 GitHub 上。
OEIS序列在GitHub上的非常规用途
本文探讨了GitHub开源代码中发现的OEIS整数序列的奇特现实用途,包括音乐生成框架、电子阅读器的笔工具以及一款地理寻宝应用。
@DilumSanjaya: 有趣的互动科学应用创意 | 第 3 部分 尝试生成 3D 生物结构并制作了一个应用来探索它们…
Dilum Sanjaya 展示了一款用于探索 3D 生物结构的互动应用,利用 Gemini 和 GPT 等 AI 模型进行 UI 设计和代码生成。
TinyFish Bigset 将文本提示转换为实时数据集(3分钟阅读)
TinyFish Bigset 是一个开源的多智能体系统,可将自然语言提示转换为来自实时网络的结构化数据集,具备模式推断、自主研究代理和定时刷新功能。它通过 Docker 自托管运行,并基于 TinyFish 的搜索基础设施构建。