Hacker News new | past | comments | ask | show | jobs | submit | nlavezzo's comments login

HN has never made me cry before, but here I am crying. This is really a wonderful article and discussion. Makes me appreciate this community even more.


This is great. Please put together an extension. I use Safari but this might get me to switch.

Something that would give me a button I could press to de-bullshit a site, not one that tries it on every single site maybe?


Not sure how you define "biggest" but WWII killed the most people and WWI is probably a close second and neither of those were primarily motivated by religion, but rather nationalism.

I'd suggest you check out Tom Holland's "Dominion" if you'd like a well-researched and nuanced take on the effect of (Judeo-Christian) religion on Western civilization.


This is a cool idea. I’ll ask the team about it. Would make for a very interesting blog post or talk!


This is very cool.

That said, it reminded me of a funny collider meme I saw recently:

https://tinyurl.com/2k8u4dk6


Who needs sophons with people like that.


Sabine Hossenfelder would approve this meme


22 billion would be a bargain bro :)


One of the cool tricks we can use is that since the testing is all fully deterministic, once we find an interesting point in a test run - even if it is “deep” into the run time wise - our system can start many new branches of test runs off of that moment or moments just prior. So it is much more efficient than having to re-do the work to get to that rare interesting moment for each new branch.


I’m curious if you’re willing and able to share: Are you using FoundationDB as the data store for Antithesis?


We’ll be writing a lot in the near future about how Antithesis works, stay tuned :)


Can’t wait!


I'd suggest taking a dive into the docs - there is quite a lot there that should address some of these questions.

That said, Antithesis doesn't require you to write manual tests, integration or otherwise. It requires your software system to be packaged in containers, which is fairly straightforward, and then requires a workload to be written which will emulate the normal functioning of the software system. So for example an e-commerce store would have product views, cart adds, checkouts, etc.

With this, Antithesis can start testing (running your workload, varying inputs, injecting faults, etc) the software and looking for violations of test properties. There are many (60+) test properties that come "out of the box" such as crashes, out of memory, etc. You can (and should) also define custom properties that are unique to your system, as this will surface more problems.

As your tests run, violations of test properties are reported, with lots of useful debug information included. Test runs that are particularly interesting can have a lot of extra analysis done, due to our ability to "rewind" and change inputs, get artifacts, add logging, etc.


"Workloads" seem to be effectively equivalent to integration tests.

I don't mean to poke holes but I'm having trouble seeing the value add here.

If I have to deploy to some new environment anyways and I have to tailor the "Workloads" anyways why would I pay extra for vendor lock-in?

The type of devious bug this is promising to find would be something like:

"The DB silently drops timezone from Dates because of the column type. This results in unexpected data being returned for users in different timezones from the server"

I just don't see how repeatably calling the API with an expanding set of random inputs helps find something like that.


IMO "Read the docs" is not a reasonable response to "what is it?"

Typically someone wants to know the most basic question before devoting time to diving into the docs.


Depends on how far you mean with "advanced" here. We specifically cover the differences between Antithesis and Chaos Engineering in our "How It's Different" page:

https://antithesis.com/product/how_is_antithesis_different/

Here's the relevant text though:

Antithesis testing resembles chaos testing, in that it injects faults to trigger and identify problems. But Antithesis runs these tests in a fully deterministic simulated environment, rather than in production. This means Antithesis testing never risks real-world downtime. This in turn allows for much more aggressive fault injection, which finds more bugs, and finds them faster. Antithesis can also test new builds before they roll out to production, meaning you find the bugs before your customer does.

Finally, Antithesis can perfectly reproduce any problem it finds, enabling quick debugging. While chaos testing can discover problems in production, it is then unable to replicate them, because the real world is not deterministic.


Nick with Antithesis here with a funny story on this.

I became friends with Dave our CTO when I was 5 or 6, we were neighbors. He'd already started coding little games in Basic (this was 1985). Later in our friendship, like when I was maybe 10, I asked him if he could help me learn to code, which he did. After a week or two I had made some progress but compared what I could do to what he was doing and figured "I guess I just started too late, what's the point?".

I found out later that most people didn't start coding till late HS or college! It worked out though - I'm programmer adjacent and have taken care of the business side of our projects through the years :)


Antithesis here - curious what part of the Getting Started doc gave you that impression? If you take a look at our How Antithesis Works page, it might help answer you question as to how Antithesis is different from just bundling your unit tests.

https://antithesis.com/docs/introduction/how_antithesis_work...

In short though, unit tests can help to inform a workload, but we don't require them. We autonomously explore software system execution paths by introducing different inputs, faults, etc., which discovers behaviors that may have been unforeseen by anyone writing unit tests.


Thanks for the response. The linked introduction does help. The workload page does give me that impression (and based on upvotes of my post it does to others as well)...so perhaps disambiguating that the void test*() examples on the workloads page are not unit tests might help!

Congrats on the launch and I'll consider using it for some of my projects.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: