HN user

jessekv

749 karma
Posts7
Comments358
View on HN
Delete tests 11 months ago

I hate to admit it, but flaky tests almost always highlight weaknesses in my software architecture.

And fixing a flaky test usually involves making the actual code more robust.

Delete tests 11 months ago

Who tests the tests?

To me it's a bit like double entry bookkeeping. Two layers is valuable, but there's rapidly diminishing returns beyond two.

Delete tests 11 months ago

I think it's relative, right? That's how abstractions and interfaces work.

I can write a module with integration tests at the module level and unit tests on its functions.

I can now write an application that uses my module. From the perspective of my application, my module's integration tests look like unit tests.

My module might, for example, implicitly depend on the test suite of CPython, the C compiler, the QA at the chip fab. But I don't need to run those tests any more.

In your case you hope the in-memory database matches the production one enough that you can write fast isolated unit tests on your application logic. You can trust this works because something else unit-tested the in-memory database, and integration tested the db client against the various db backends.

Don't sprinters start with 4 limbs on the ground? The advantage of the 4 limbs seems to be gone by the second step.

Trail runners often run with poles on up or down hills. Not sure about top speed, but from experience the poles definitely help with endurance.

Epanet-JS 1 year ago

At a smaller scale, the efficiencies gained from properly designing the system are not a major savings.

That said, if I had a garden with a big fountain I absolutely would try to model it in EPANET ;)

Just how fancy is your irrigation system?

Epanet-JS 1 year ago

I suppose it's correct to say EPANET competes with expensive commercial offerings, but it's actually available completely free:

https://www.epa.gov/water-research/epanet

I know someone who uses it to design clean drinking water distribution systems in rural communities in Central America. They would not be able to do what they do if they had to pay for an expensive commercial licence.

Desktop EPANET is still windows-only though, so having a browser version is pretty cool.

My experience of the extension was bad.

The extension is a hack that allows them to redirect the searches from one of the available search engines to Kagi. So first you search, then e.g. the DDG page loads halfway, then the page flashes, you get redirected to Kagi. If you are lucky, you are signed in, and you wait for the Kagi results. If not, you sign in and type your search again.

On iOS, I made a shortcut that pops up a native text prompt for your search, then opens Kagi using your session token. I recommend this over the extension, it is fast snd reliable.

My experience of the extension was bad.

The extension is a hack that allows them to redirect the searches from one of the available search engines to Kagi. So first you search, then e.g. the DDG page loads halfway, then the page flashes, you get redirected to Kagi. If you are lucky, you are signed in, and you wait for the Kagi results. If not, you sign in and type your search again.

On iOS, I made a shortcut that pops up a native text prompt for your search, then opens kagi using your session token. I recommend this over the extension.

On desktop Safari, you can additionally make Kagi your home page. Not as convenient as searching directly from the top bar but not bad either.

I had the extension for a while and it didn't work reliably for me.

I replaced it with a "let's fetch" shortcut.

I have DDG as the default search in Safari (because Kagi is not an option, maybe it requires profit sharing with Apple?) and I often end up using DDG out of convenience while being a Kagi subscriber.

I agree there is not a lot of differentiation between stock Kagi search and DDG. DDG still has a few ads but it's not that annoying, perfectly usable.

Kagi's assistants are pretty interesting though. Recently I asked it to find back a post that I vaguely remembered. It managed to generate a bunch of Kagi searches with different keywords and narrow it down to an old tweet.