惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
小众软件
小众软件
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
A
About on SuperTechFans
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
B
Blog RSS Feed
G
Google Developers Blog
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)

Hacker News

GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line
FLIP TABLE: storing arbitrary data in iNaturalist
2026-06-16 · via Hacker News

A few weeks ago, my friend Marcos ran an event called FLIP TABLE, celebrating unconventional database technology, including Strava, steganography, encoded number puzzles, and hair.

I wanted to do something with iNaturalist. Could a database be made out of species? Or observations of species? What if my to-do list was biodiverse?

My FLIP TABLE demo app, “YouDidIt.Bio”* answers all of these questions.

Every observation on iNaturalist has a unique ID, which I have previously used to embed iNaturalist easily into this very blog you are reading now.

So, how does it work? An iNaturalist “classic project” can store an arbitrary number of observations, each with their own unique ID.

This means, by choosing certain observations to add to a project, we should be able to encode information. However, the API does not specify or allow any order to these observations. The problem therefore became implementing a method of storing arbitrary data in an unordered set of integers.

I chose a simple, though not optimal, method of dividing the integers into “sequence bits” and “value bits”. The higher sequence bits would allow the values to be ordered correctly when decoding data.

Not all integers are valid iNaturalist observation IDs – some have been deleted, or do not allow themselves to be added to projects. This problem can be solved by simply iterating the sequence counter until a value is available. For example, note that in the above image there is no sequence 1186 or 1183.

However, some issues might arise when editing. The only edit allowed is to mark a task as completed, which involves changing an ‘f’ to a ’t’. What if that observation ID isn’t available? It’s no longer possible to simply increase the sequence count because there are already higher sequence values.

YouDidIt.Bio’s solution is to interpret anything other than an ‘f’ as true, and just try other values until we find one that works. It’s not guaranteed (there are only 254 possible values) but in practice I haven’t run into an issue. You can see that below, as the ‘f’ is replaced not with a ’t’ but with ‘T’.

Did I mention anyone can use it? It’s as simple as providing an iNaturalist API key and an iNaturalist “classic” project ID.

Go ahead, try it out!

* “You did it!” is the default title of a newly created Vue app.