Show HN: Browser-based interactive 3D Three-Body problem simulator
Features include:
- Several preset periodic orbits: the classic Figure-8, plus newly discovered 3D solutions from Li and Liao's recent database of 10,000+ orbits (https://arxiv.org/html/2508.08568v1)
- Full 3D camera controls (rotate/pan/zoom) with body-following mode
- Force and velocity vector visualization
- Timeline scrubbing to explore the full orbital period
The 3D presets are particularly interesting. Try "O₂(1.2)" or "Piano O₆(0.6)" from the Load Presets menu to see configurations where bodies weave in and out of the orbital plane. Most browser simulators I've seen have been 2D.Built with Three.js. Open to suggestions for additional presets or features!
Show HN: ChunkBack – A Fake LLM API server for testing apps without paying
Hi HN,
I've been working with LLMs in production for a while both as a solo dev building apps for clients and working at an AI startup. The one thing that always was a pain was to pay OpenAI/Gemini/Anthropic a few dollars a month just for me to say "test" or have a CI runner validate some UI code. So I built this server called ChunkBack, that mocks the popular llm provider's functionality but allows you to type in a deterministic language:
`SAY "cheese"` or `TOOLCALL "tool_name" {} "tool response"`
I've had to work in some test environments and give good results for experimenting with CI, but it's still an early project so would love feedback and more testers on.
Show HN: RowboatX – open-source Claude Code for everyday automations
Claude Code is great, but it’s focused on coding. The missing piece is a native way to build and run custom background agents for non-code tasks. We built RowboatX as a CLI tool modeled after Claude Code that lets you do that. It uses the file system and unix tools to create and monitor background agents for everyday tasks, connect them to any MCP server for tools, and reason over their outputs.
Because RowboatX runs locally with shell access, the agents can install tools, execute code, and automate anything you could do in a terminal with your explicit permission. It works with any compatible LLM, including open-source ones.
Our repo is https://github.com/rowboatlabs/rowboat, and there’s a demo video here: https://youtu.be/cyPBinQzicY
For example, you can connect RowboatX to the ElevenLabs MCP server and create a background workflow that produces a NotebookLM-style podcast every day from recent AI-agent papers on arXiv. Or you can connect it to Google Calendar and Exa Search to research meeting attendees and generate briefs before each event.
You can try these with: `npx @rowboatlabs/rowboatx`
We combined three simple ideas:
1. File system as state: Each agent’s instruction, memory, logs, and data are just files on disk, grepable, diffable, and local. For instance, you can just run: grep -rl '"agent":"<agent-name>"' ~/.rowboat/runs to list every run for a particular workflow.
2. The supervisor agent: A Claude Code style agent that can create and run background agents. It predominantly uses Unix commands to monitor, update, and schedule agents. LLMs handle Unix tools better than backend APIs [1][2], so we leaned into that. It can also probe any MCP server and attach the tools to the agents.
3. Human-in-the-loop: Each background agent can emit a human_request message when needed (e.g. drafting a tricky email or installing a tool) that pauses execution and waits for input before continuing. The supervisor coordinates this.
I started my career over a decade ago building spam detection models at Twitter, spending a lot of my time in the terminal with Unix commands for data analysis [0] and Vowpal Wabbit for modeling. When Claude Code came along, it felt familiar and amazing to work with. But trying to use it beyond code always felt a bit forced. We built RowboatX to bring that same workflow to everyday tasks. It is Apache-2.0 licensed and easily extendable.
While there are many agent builders, running on the user's terminal enables unique use cases like computer and browser automation that cloud-based tools can't match. This power requires careful safety design. We implemented command-level allow/deny lists, with containerization coming next. We’ve tried to design for safety from day one, but we’d love to hear the community’s perspective on what additional safeguards or approaches you’d consider important here.
We’re excited to share RowboatX with everyone here. We’d love to hear your thoughts and welcome contributions!
—
[0] https://web.stanford.edu/class/cs124/kwc-unix-for-poets.pdf [1] https://arxiv.org/pdf/2405.06807 [2] https://arxiv.org/pdf/2501.10132
Show HN: Vibe Prolog
Like a lot of people I got the $250 Claude Code credit and didn't use it up.
I decided to try to use it up over the weekend using (mostly) my phone and vibe coded a Prolog interpreter.
Now I'm seeing how far I can push it.
Show HN: Guts – convert Golang types to TypeScript
Show HN: Fixing a single pointer bug unlocked 1M+ row JSON parsing on Windows
I've been building a cross-platform JSONL viewer app that handles multi-GB files. It worked perfectly on macOS (my development machine), but consistently crashed on Windows at exactly 2,650 KB. Here's the debugging journey and the tiny fix that made all the difference.
The Problem
- macOS: Handles 5GB+ files effortlessly - Windows: Crashes at 2,650 KB every time - Same codebase, cross-compiled from Mac Silicon to Windows using MinGW
The Investigation
Added detailed logging to track execution. The crash happened during string interning after successfully parsing ~6,000 rows. Not during parsing, not during file I/O, but during the merge phase.
The Root Cause
My StringPool class used std::unordered_map<std::string_view, uint32_t> to deduplicate strings. The string_views pointed into a std::vector<std::string>.
When the vector grew and reallocated, all the string_view keys became dangling pointers. The hash map was full of invalid references.
Why did it work on macOS? Different memory allocator behavior, different default stack sizes (8MB vs 1MB), different reallocation patterns.
The Fix
Before (broken):
uint32_t intern(std::string_view str) {
auto it = indices_.find(str);
if (it != indices_.end()) return it->second;
uint32_t idx = strings_.size();
strings_.push_back(std::string(str));
indices_[std::string_view(strings_.back())] = idx; // DANGER!
return idx;
}
After (fixed): uint32_t intern(const std::string& str) {
auto it = indices_.find(std::string_view(str));
if (it != indices_.end()) return it->second;
// Preemptively rebuild if we're about to reallocate
if (strings_.size() >= strings_.capacity()) {
strings_.reserve(strings_.capacity() * 2);
rebuildIndices(); // Fix all string_views!
}
uint32_t idx = strings_.size();
strings_.push_back(str);
indices_[std::string_view(strings_.back())] = idx;
return idx;
}
void rebuildIndices() {
indices_.clear();
for (size_t i = 0; i < strings_.size(); i++) {
indices_[std::string_view(strings_[i])] = i;
}
}
The Result- 1 million rows: 6 seconds on Windows - Multi-GB files: No crashes - ~166,000 rows/second throughput - Cross-platform stability
Lessons Learned
1. std::string_view is powerful but dangerous - It's a non-owning reference. When the underlying storage moves, you're holding garbage.
2. Cross-platform testing is essential - The bug was invisible on macOS due to different allocator behavior and larger default stack sizes.
3. Structured logging beats debuggers for cross-compilation - I was cross-compiling from Mac to Windows. Adding timestamped logging to a file made the crash point obvious immediately.
4. Small changes, huge impact - One function, ~15 lines of code, turned "crashes at 2MB" into "handles 5GB+ files"
5. Performance stayed excellent - The rebuild only happens during vector reallocation (exponential growth), so amortized cost is negligible.
The Tech Stack
- simdjson (v4.2.2) for parsing - Multi-threaded parsing (20 threads on my test machine) - Columnar storage for memory efficiency - C++17, cross-compiled with MinGW-w64
This was a humbling reminder that the most critical bugs are often the simplest ones, hiding in plain sight behind platform differences.
Happy to discuss the implementation details, simdjson usage, or cross-platform C++ debugging techniques!
Show HN: A subtly obvious e-paper room air monitor
In the cold season we tend to keep the windows closed. The air gets "stale": humidity often rises above 60 %, which can harm our wellbeing and promote mould. At the same time the CO₂ level in the air increases, which impacts our ability to concentrate.
So I built a room air monitor that stays unobtrusive as long as everything is in the green zone, but becomes deliberately noticeable once thresholds are exceeded. For my personal love of statistics I also visualise the measurements in a clear dashboard.
Show HN: I built a synth for my daughter
The article discusses the author's decision to build a custom synthesizer for their young daughter, focusing on the educational and bonding benefits of introducing her to music and electronics at an early age.
Show HN: Open-source library to get detailed power and system info for Macs
Opensourcing a library that creates an api on getting protected information from MacOS's powermetrics binary.
If you're working on a project that needs detailed information on a mac regarding energy consumption or CPU|GPU utilization, you'll find there is no straight forward api on that.
This library tries to solve that for go devs.
Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files
I built a Rust-based CLI/terminal UI for inspecting Parquet files—data, metadata, and row-group-level structure—right from the terminal. If someone sent me a Parquet file, I used to open DuckDB or Polars just to see what was inside. Now I can do it with one command.
Repo: https://github.com/kaushiksrini/parqeye
Show HN: Q⊗DASH – Rust/Python quantum operator framework for graph-based QC
I’ve released an experimental quantum computing framework that grew out of my own operator/graph work: Q⊗DASH (MetatronQSO)
Rust core crate: metatron-qso-rs Python package: metatron_qso
GitHub: https://github.com/LashSesh/qso crates.io: https://crates.io/crates/metatron-qso-rs PyPI: https://pypi.org/project/metatron_qso/
# What it is
MetatronQSO is a Rust-first quantum operator framework with Python bindings. It focuses on graph- and operator-based algorithms: quantum walks, VQE, QAOA-style circuits and related experiments.
Core ideas: - Rust library for state evolution, circuits, walks and variational algorithms - PyO3-based Python SDK mirroring the same concepts - Backend abstraction (local simulator now, room for hardware providers via traits) - A nontrivial default geometry (a Metatron-cube–style graph) instead of toy line/grid graphs
The goal is not “yet another Qiskit wrapper”, but a self-contained operator core you can bend into your own models.
# Architecture (high level)
The workspace is organized as multiple crates, the key ones: - metatron-qso-rs: core quantum library (state, operators, circuits, walks, VQE/QAOA, example binaries) - metatron_qso_py: Python bindings - backend/telemetry crates for plugging in execution backends and exposing basic metrics
Everything is regular Rust + Cargo, with Python wheels built via maturin.
# Current status
metatron-qso-rs published on crates.io (0.1.x) metatron_qso published on PyPI (0.1.x) CI builds Rust + Python, runs tests and some benchmarks There are docs/notes in the repo explaining the operator model and backend design
It’s early-stage, but it compiles, runs examples, and is usable for experiments if you’re comfortable with Rust (or happy to drive it from Python).
# What I’d like feedback on
Does the Rust API surface feel idiomatic and composable? For Python users: is the current binding layer something you’d realistically work with, or would you expect a higher-level abstraction? Is the backend abstraction (local simulator now, future hardware later) structured in a way that’s easy to extend? Any obvious red flags in how I treat graphs/geometry as the primary object?
If you’re into quantum computing, graph-based algorithms, or unusual Rust workspaces, I’d appreciate any feedback, criticism, or ideas for where this should go next.
Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis
Hi everyone, I'm the author of ESPectre.
This is an open-source (GPLv3) project that uses Wi-Fi signal analysis to detect motion using CSI data, and it has already garnered almost 2,000 stars in two weeks.
Key technical details:
- The system does NOT use Machine Learning, it relies purely on Math. — Runs in real-time on a super affordable chip like the ESP32. - It integrates seamlessly with Home Assistant via MQTT.
Show HN: Excel Custom Functions in Zig
A Zig package for implementing Excel custom functions against the ancient C SDK.
This exists because I wanted to learn about Zig's C interop and comptime to see if it was possible to make the Excel C SDK slightly nicer to work with.
It's just a demo, I wouldn't use it for anything important, but I learnt a lot doing it. There is also a demo repo: https://github.com/AlexJReid/zigxll-standalone
Show HN: Continuous Claude – run Claude Code in a loop
Continuous Claude is a CLI wrapper I made that runs Claude Code in an iterative loop with persistent context, automatically driving a PR-based workflow. Each iteration creates a branch, applies a focused code change, generates a commit, opens a PR via GitHub's CLI, waits for required checks and reviews, merges if green, and records state into a shared notes file.
This avoids the typical stateless one-shot pattern of current coding agents and enables multi-step changes without losing intermediate reasoning, test failures, or partial progress.
The tool is useful for tasks that require many small, serial modifications: increasing test coverage, large refactors, dependency upgrades guided by release notes, or framework migrations.
Blog post about this: https://anandchowdhary.com/blog/2025/running-claude-code-in-...
Show HN: Godantic – JSON Schema and Validation for Go LLM Apps
Built Pydantic-style validation for Go after struggling with struct tags in LLM apps. Generate JSON Schema from Go code, validate responses, and proper union type support. Single source of truth for schema gen + validation.
Show HN: Tokenflood – simulate arbitrary loads on instruction-tuned LLMs
Hi everyone, I just released an open source load testing tool for LLMs:
https://github.com/twerkmeister/tokenflood
=== What is it and what problems does it solve? ===
Tokenflood is a load testing tool for instruction-tuned LLMs hat can simulate arbitrary LLM loads in terms of prompt, prefix, and output lengths and requests per second. Instead of first collecting prompt data for different load types, you can configure the desired parameters for your load test and you are good to go. It also let's you assess the latency effects of potential prompt parameter changes before spending the time and effort to implement them.
I believe it's really useful for developing latency sensitive LLM applications and * load testing self-hosted LLM model setups * Assessing the latency benefit of changes to prompt parameters before implementing those changes * Assessing latency and intraday variation of latency on hosted LLM services before sending your traffic there
=== Why did I built it? ===
Over the course of the past year, part of my work has been helping my clients to meet their latency, throughput and cost targets for LLMs (PTUs, anyone? ). That process involved making numerous choices about cloud providers, hardware, inference software, models, configurations and prompt changes. During that time I found myself doing similar tests over and over with a collection of adhoc scripts. I finally had some time on my hands and wanted to properly put it together in one tool.
=== What am I looking for? ===
I am sharing this for three reasons: Hoping this can make other's work for latency-sensitive LLM applications simpler, learning and improving from feedback, and finding new projects to work on.
So please check it out on github (https://github.com/twerkmeister/tokenflood), comment, and reach out at thomas@werkmeister.me or on linkedin(https://www.linkedin.com/in/twerkmeister/) for professional inquiries.
=== Pics ===
image of cli interface: https://github.com/twerkmeister/tokenflood/blob/main/images/...
result image: https://github.com/twerkmeister/tokenflood/blob/main/images/...
Show HN: Reversing a Cinema Camera's Peripherals Port
The article explores the process of reversing the communication protocol used by the FS7 camera system, providing insights into the technical implementation and potential applications for developers and enthusiasts in the field of camera control and automation.
Show HN: PrinceJS – 19,200 req/s Bun framework in 2.8 kB (built by a 13yo)
Hey HN,
I'm 13, from Nigeria, and I just released PrinceJS — the fastest web framework for Bun right now.
• 19,200 req/s (beats Hono/Elysia/Express) • 2.8 kB gzipped • Tree-shakable (cache, AI, email, cron, SSE, queue, test, static...) • Zero deps. Zero config.
Built in < 1 week. No team. Just me and Bun.
Try it: `bun add princejs` GitHub: https://github.com/MatthewTheCoder1218/princejs Docs: https://princejs.vercel.app
Brutal feedback welcome. What's missing?
– @Lil_Prince_1218
Show HN: Lumical – scan any meeting invite into your calendar in seconds
I built an iOS app that lets you point your phone at a paper invite or screenshot, review the parsed details, and drop the event straight into your calendar, so you can capture meetings in seconds instead of typing.
Show HN: Kk – A tiny Bash CLI that makes kubectl faster
I built "kk", a small Bash wrapper around kubectl that makes common Kubernetes workflows faster. It's not a plugin or a compiled binary. It's just a single script you can drop into ~/bin.
The goal is to reduce repetitive kubectl patterns without replacing kubectl itself.
Some things it helps with: - pod selection by substring (auto-fzf if available) - multi-pod logs with prefixing and grep support - quick exec into pods - checking the actual images running in pods - restarting deployments with pattern matching - port-forwarding with pod auto-selection - quick describe/top/events - context switching shortcuts
Examples:
kk pods api
kk sh api
kk logs api -f -g ERROR
kk images api
kk restart api
kk pf api 8080:80
kk desc api
kk top api
kk events
kk ctx
kk deploys
Installation: curl -o ~/bin/kk https://raw.githubusercontent.com/heart/kk-Kubernetes-Power-Helper-CLI/main/kk
chmod +x ~/bin/kk
Repo:
https://github.com/heart/kk-Kubernetes-Power-Helper-CLIHappy to hear feedback, suggestions, or ideas for small helpers to improve the kubectl experience.
Show HN: Startup Simulator
Vibe coded this startup simulator. It's not much, but I just wanted to know the potential. Also, I used Google's Antigravity IDE for this. Feel free to leave comments on here or at https://github.com/sumant1122/Startup-Simulator
Show HN: Kalendis – Scheduling API (keep your UI, we handle timezones/DST)
Kalendis is an API-first scheduling backend. You keep your UI; we handle the gnarly parts (recurrence, time zones, DST, conflict-safe bookings).
What it does: • MCP tool: generates typed clients and API route handlers (Next.js/Express/Fastify/Nest) so you can scaffold calls straight from your IDE/agent tooling. • Availability engine: recurring rules + one-off exceptions/blackouts, returned in a clean, queryable shape. • Bookings: conflict-safe endpoints for creating/updating/canceling slots.
Why we built it: We kept rebuilding the same "hard parts" of scheduling: time zones/DST edge cases, recurring availability, conflict-aware booking, etc. We wanted a boring, reliable backend so we could ship product features without adopting a hosted scheduling UI.
How it's helped: We stopped re-implementing DST/recurrence math and shipped booking flows faster. One small team (just 2 developers) built a robust booking platform for their business using Kalendis—they kept full control of their UX without spending lots of cycles on scheduling infrastructure. The MCP generator cut the glue code: drop in a typed client or route, call the API, move on.
Some tech details: • REST API with ISO-8601 timestamps and IANA time zones • Recurring availability + one-off exceptions (designed to compose cleanly) • Focused scope: users, availability, exceptions, bookings (not a monolithic suite)
The MCP server exposes tools like generate-frontend-client, generate-backend-client, generate-api-routes, and list-endpoints. Add to your MCP settings:
{
"mcpServers": {
"kalendis": {
"command": "npx",
"args": ["-y", "@kalendis/mcp"]
}
}
}
How to try it: Create a free account → get an API key. (https://kalendis.dev). Then hit an endpoint: curl -H "x-api-key: $KALENDIS_API_KEY" \
"https://api.kalendis.dev/v1/availability/getAvailability?userId=<user-id>&start=2025-10-07T00:00:00Z&end=2025-10-14T00:00:00Z&includeExceptions=true"
Happy to answer questions and post example snippets in the thread. Thanks for taking a look!
Show HN: Building WebSocket in Apache Iggy with Io_uring and Completion Based IO
The article discusses the use of IO_URING, a modern Linux kernel feature, to improve the performance of WebSocket communication. It explores how IO_URING can be leveraged to provide efficient and scalable WebSocket handling, addressing the challenges of traditional socket-based approaches.
Show HN: My hobby OS that runs Minecraft
Astral OS, a newly launched operating system, has announced support for running Minecraft on its platform. This integration aims to provide a seamless and optimized Minecraft experience for users of the Astral OS ecosystem.
Show HN: Unflip – a puzzle game about XOR patterns of squares
UnFlip is a unique puzzle game where players must flip and rotate tiles to uncover hidden images. The game features a minimalist design, challenging levels, and an addictive gameplay loop that encourages players to keep playing and solving increasingly complex puzzles.
Show HN: Bsub.io – zero-setup batch execution for command-line tools
I built bsub because I was tired of wiring up Docker images, Python environments, GPUs, sandboxing, and resource limits every time I needed to run heavy command-line tools from web apps. I wanted: send files -> run job in the cloud -> get output -> done.
https://www.bsub.io
bsub lets you execute tools like Whisper, Typst, Pandoc, Docling, and FFmpeg as remote batch jobs with no environment setup. You can try them locally via the CLI or integrate via a simple REST API.
Example (PDF extraction):
bsubio submit -w pdf/extract *.pdf
Works like running the tool locally, but the compute and isolation happen in the cloud.Technical details: - Each job runs in an isolated container with defined CPU/GPU/RAM limits. - Files are stored ephemerally for the duration of the job and deleted after completion. - REST API returns job status, logs, and results. - Cold start for light processors (Typst, Pandoc) is low; Whisper/FFmpeg take longer due to model load/encoding time. - Backend scales horizontally; more workers can be added during load spikes.
Current processors:
SST/Whisper -- speech-to-text
Typography -- Typst, Pandoc
PDF extraction -- Docling
Video transcoding -- FFmpeg
More coming; suggestions welcome for tools that are painful to set up locally.Looking for testers! CLI is open source: https://github.com/bsubio/cli. Installers available for Linux/macOS; Windows testing is in progress. Free during early testing; pricing TBD.
If you’re on Windows, feedback is especially helpful: contact@bsub.io
If you try it, I’d appreciate feedback on API design, latency, missing processors, or anything rough around the edges.
Show HN: Octopii, a framework for building distributed applications in Rust
it won't let me put url for some reason, here it is: https://github.com/octopii-rs/octopii
Show HN: How are Markov chains so different from tiny LLMs?
I polished a Markov chain generator and trained it on an article by Uri Alon and al [0].
It generates text that seems to me at least on par with tiny LLMs, such as demonstrated by NanoGPT. Here is an example:
jplr@mypass:~/Documenti/2025/SimpleModels/v3_very_good$ ./SLM10b_train UriAlon.txt 3
Training model with order 3...
Skip-gram detection: DISABLED (order < 5)
Pruning is disabled
Calculating model size for JSON export...
Will export 29832 model entries
Exporting vocabulary (1727 entries)...
Vocabulary export complete.
Exporting model entries...
Processed 12000 contexts, written 28765 entries (96.4%)...
JSON export complete: 29832 entries written to model.jsonModel trained and saved to model.json
Vocabulary size: 1727
jplr@mypass:~/Documenti/2025/SimpleModels/v3_very_good$ ./SLM9_gen model.json
Aging cell model requires comprehensive incidence data. To obtain such a large medical database of the joints are risk factors. Therefore, the theory might be extended to describe the evolution of atherosclerosis and metabolic syndrome. For example, late‐stage type 2 diabetes is associated with collapse of beta‐cell function. This collapse has two parameters: the fraction of the senescent cells are predicted to affect disease threshold . For each individual, one simulates senescent‐cell abundance using the SR model has an approximately exponential incidence curve with a decline at old ages In this section, we simulated a wide range of age‐related incidence curves. The next sections provide examples of classes of diseases, which show improvement upon senolytic treatment tends to qualitatively support such a prediction. model different disease thresholds as values of the disease occurs when a physiological parameter ϕ increases due to the disease. Increasing susceptibility parameter s, which varies about 3‐fold between BMI below 25 (male) and 54 (female) are at least mildly age‐related and 25 (male) and 28 (female) are strongly age‐related, as defined above. Of these, we find that 66 are well described by the model as a wide range of feedback mechanisms that can provide homeostasis to a half‐life of days in young mice, but their removal rate slows down in old mice to a given type of cancer have strong risk factors should increase the removal rates of the joint that bears the most common biological process of aging that governs the onset of pathology in the records of at least 104 people, totaling 877 disease category codes (See SI section 9), increasing the range of 6–8% per year. The two‐parameter model describes well the strongly age‐related ICD9 codes: 90% of the codes show R 2 > 0.9) (Figure 4c). This agreement is similar to that of the previously proposed IMII model for cancer, major fibrotic diseases, and hundreds of other age‐related disease states obtained from 10−4 to lower cancer incidence. A better fit is achieved when allowing to exceed its threshold mechanism for classes of disease, providing putative etiologies for diseases with unknown origin, such as bone marrow and skin. Thus, the sudden collapse of the alveoli at the outer parts of the immune removal capacity of cancer. For example, NK cells remove senescent cells also to other forms of age‐related damage and decline contribute (De Bourcy et al., 2017). There may be described as a first‐passage‐time problem, asking when mutated, impair particle removal by the bronchi and increase damage to alveolar cells (Yang et al., 2019; Xu et al., 2018), and immune therapy that causes T cells to target senescent cells (Amor et al., 2020). Since these treatments are predicted to have an exponential incidence curve that slows at very old ages. Interestingly, the main effects are opposite to the case of cancer growth rate to removal rate We next consider the case of frontline tissues discussed above.
[0] https://pmc.ncbi.nlm.nih.gov/articles/PMC7963340/
Show HN: I released Steam utility "Sentinel Signal" to manage your gaming time
Hi there!
I recently released my first application to Steam. Its purpose is to keep track of your gaming time, let you set weekly gaming goals and flexible daily play limits. Warn you visually while you are in game if you are approaching to your limit to make your aware including enforcement of your limit if you don't choose to extend your game session as well.
I would be happy to hear your comments and feedbacks!
Show HN: Agfs – Aggregated File System, a modern tribute to the spirit of Plan9
The article describes AGFS, a secure, decentralized file storage system built on top of the Ethereum blockchain. AGFS aims to provide a censorship-resistant and transparent alternative to traditional cloud storage services, allowing users to store and share files while maintaining control over their data.