Hacker Newsnew | past | comments | ask | show | jobs | submit | hxii's commentslogin

The audio was sourced from pixabay, and is not looped.

The start and end points have gain faded in a curve, to avoid any clicking especially since the audio samples are not seamless.

Previously a second buffer was used for crossfading, but it doubles the memory consumption with very little benefit.

I was toying with the idea of synthesizing audio from smaller samples directly, but that's an idea for the future :)


Thanks for explaining! The memory tradeoff is interesting. Do the fades create a noticeable dip between samples, or do the other ambient sounds mask it?

The curve on both ends is very brief (20ms, so 40ms total) and is more to deal with any abrupt clicking.

Thank you for the feedback! Will definitely add that as an option.

Vibe coded doesn’t necessitate bad performance. As I’ve replied to others – during testing I didn’t get any lag across three different devices that I own, so I just didn’t have a chance to catch this before.

That’s not to say “it’s a you problem”, but rather that I currently don’t know under which circumstances the lag appears.


Vibe coded or not, I was honestly trying in on two desktops (and two browsers) and a mobile phone and didn’t get any lag, which is why I couldn’t have caught this before.

It might be some other combination that might contribute to whether there is or isn’t lag, and I’m going to try and find what it is :)


You don't know what's causing it to run this badly because you didn't write it. You now have to reverse-engineer "your code". This is a problem of vibe-coding

I was on firefox on a newish mac, but it was when there were some any fish that they fully covered the screen, couldn't see the bottom of the pond.

Thank you for the feedback!

During my work on it I’ve been testing it on both my Linux box as well as my MacBook and haven’t encountered lag. I’m not meaning to say “it works on my machine” by this, but simply that I couldn’t have caught this before.

I will definitely address the lag issue, and find a more “graceful” way for koi to enter and leave the pond.

About interactivity – I was thinking about this both during the development as well as just when I had the idea and the intention was always to not have any, simply because in my own experience we are always doing “something”, and this was a way to get a little bit of the opposite – to do nothing.

But I can see how some micro-interactions could be useful. A sort of a “popping bubblewrap” action.


> I’m not meaning to say “it works on my machine” by this, but simply that I couldn’t have caught this before.

If you knew what you were doing you could have reasoned about what your code did, though. Such is the danger of trial-by-error vibe coding. I personally closed the tab because the audio kept cutting off arbitrarily after some minutes. Not to criticise you unduly because this was a cute concept, but I hope you might take away that LLMs are not only not perfect, but are also only "good enough" if your standards for "good enough" are particularly low, and use this as motivation to learn more in the future instead of always relying on them.

I think no interaction is good for an offline pond, but I do think some tiny little bit of interaction would be nice online since it adds a touch of humanity, being able to see other people and interact with them in some small way.


I think you are being too harsh. Even before AI, software and games would often work great on one computer and poor on other computers. I believe that isn't because they understood the programming less or their standards were low, but because there is so much variance between computer hardware, the firmware inside, and the software running on it that you can't guarantee software to run identically across many combinations.

Similarly it's not unusual for one website to behave differently across browsers.


Sure, to some extent. What I really took issue with is saying "I couldn't have caught this", which is a sort of learned helplessness. It's very often the case that, independent of inscrutable platform differences, LLMs just produce extremely shoddy code that obviously does not scale, and there is a whole class of problems you can solve before they become problems if you actually know how to program.

My intent was not to be harsh, though. I was trying to make a point that one can learn and do better. Coding is very much not solved.


I agree that couldn’t is a tad too far, you could always have tested more. But even with more testing you could’ve missed this, completely irrespective of the use of AI.

Hi, this might not be obvious to you so I wanted to explain it:

Testing on a single device, or two devices, is not enough. I'm on a laptop with 96 GB ram and a Ryzen AI 9 HX PRO 370, and it's running at 3 FPS.

The crucial part is browser performance and network latency. You need to test across multiple browsers, but also evaluate frame times, CPU load, GPU load, etc. so you can make a reasonable estimate whether it's fast or not.

Then, when you realize that its not good enough, e.g. on firefox, you use firefox's profiler to see which parts are slow. LLMs would guess, probably, but you have to measure.

Welcome to software engineering.


Hey! That’s the base, correct. Three are always there so if someone joins and nobody else is using it – they’re never alone.

In essence, when you someone joins the counter goes up and another koi will spawn locally.

It’s a bit nerfed from my initial idea to sync the movement of each koi, but I might do that in the future.

It looks like the way I deployed (Railway) it causes `429 Too Many Requests` to be returned, so I’ll definitely have to look into that. But it’s 1:21 AM so tomorrow.

Thank you for letting me know!


I noticed the koi pop in and out of existence on visible parts of the screen - it would be nice if incoming koi swam into frame from offscreen, and outgoing koi swam offscreen before disappearing.

Yes, that was very jarring. I didn't bother reading the intro text that said the other fish are other people on the site, so I just thought this was janky crap. The creator shouldn't assume people read anything. I see a button that says "Enter", I click - I'm not reading anything else. So it's going to cause a lot of confusion when I arrive in a pond filled with way too many fish for a zen-like experience, and even more annoyance at the constant flickering in and out.

Thank you for the feedback! It’s definitely on my project task list.

So far the options I thought of were to fade or scale the koi as they enter or leave the pond. I will try to see what will work visually here.


Location: Israel

Remote: Yes

Willing to relocate: Depends. Maybe.

Technologies: Python, AI/LLM/MCP, Grafana, N8n, GitHub Workflows, Okta, Terraform, some Ruby and some Crystal

Résumé/CV: https://hxii.github.io or https://0xff.nu

Email: cv [at] glushak.net

Recently picked up model benchmarking and training for fun (and personal profit) – https://0xff.nu/hexbench

I spent a decade in support, slowly automating myself out of every role until the tools I built became more valuable than the tickets I closed (at least to me). Now I write Python, creating internal tooling, LLM integrations and automations.

Current projects: hex (https://0xff.nu/hex), an AI executive assistant that manages my calendar, tasks, and Obsidian vault because my ADHD brain certainly won't, and sixwhyo (https://6yo.dev), a code reviewer powered by a 6-year-old's logic. Now also exploring iOS development to create an app I’ve been dreaming about.

I like simple and robust solutions over overly clever architecture, and am looking for a remote-first engineering role, not a support role with "engineer" in the title.


I’ve been running this level of models through a personal benchmark on a RX6750XT.

I am hoping to get to the point of being able to run a personal assistant agent with tools at its disposal.

The results are largely the same, with some outliers.

Results can be seen here: https://0xff.nu/hexbench/


In my brief testing, it did about as well as Qwen3.8-4B-Distill, and LFM2.5-2.6B overtook both.


It did an absolutely terrible job at generating CSS, where I instructed it to finish implementing a bright and dark theme based on a palette through the use of `color-mix()` and it just went ahead, removed everything I pre-added and replaced it with hardcoded hexadecimal color values.


Yeah, whatever it is, it's particularly bad at front-end from what I have been seeing.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: