Don't trust the claim.
Test it.

But Is It True? Lab tests claims about technology, software, products, services and more. We document what we did, preserve the evidence, and publish what actually happened.

See What We're Testing

What is But Is It True? Lab?

Companies, products, software, books and people make claims every day. Some are accurate. Some need context. Some sound impressive until the numbers are examined.

Instead of guessing, we test the claim.

Show the Claim

Start with what was actually said rather than changing the claim into something easier to prove or disprove.

Test It

Define a repeatable test, record the conditions and measure what actually happens.

Show the Evidence

Publish enough methodology and evidence that our conclusion can be challenged, reproduced or corrected.

What We're Building

But Is It True? Lab is more than a place to publish individual tests.

We are building a directory and search engine designed to find businesses, websites, products, services and the claims they make.

The goal is to connect claims with evidence. Instead of simply showing you what someone says, we want to help answer the next question:

But is it true?

As the platform develops, searches will be able to connect information with the claims behind it, the evidence we find, our testing where appropriate, and eventually community and business responses.

Current Test: Are Some Programming Languages Really Faster?

Programming languages are constantly described as fast, slow, efficient or high-performance.

But does choosing a supposedly faster programming language actually make an application faster when that application has to communicate with a database?

That's what we're testing.

We are testing 13 programming languages using controlled database workloads.

Each implementation is required to perform the same work and return the correct result.

We're not trying to prove that one programming language is universally the fastest.

We're testing a narrower claim:

When applications perform the same database work under the same conditions, do languages commonly described as faster actually produce faster results?

Five Different Databases

We're also testing the implementations against five different database systems. That lets us see whether changing the database changes the results or even changes which programming language performs best.

PostgreSQL

Relational SQL database.

Cassandra

Distributed wide-column database.

CockroachDB

Distributed SQL database.

MariaDB

Relational SQL database.

MongoDB

Document-oriented database.

What Are We Measuring?

The initial comparison gives each implementation the same limited computing resources so that every language begins under comparable conditions.

Selected implementations are then tested again with substantially more CPU resources to see what happens when they're given room to scale.

We measure throughput, response times, errors and resource usage. We also record where an implementation begins to fail or becomes unstable as the workload increases.

The methodology and results will be published so the test can be examined, criticized and repeated.

The Test Will Help Us Build This Website

This isn't just a benchmark we're publishing for other people. The results will help determine how But Is It True? Lab itself is built.

Right now, this website is intentionally simple.

The page you're viewing is currently built with only HTML and CSS.

We haven't selected the final programming languages for the backend, interactive portions of the frontend, APIs, search engine, data processing or many of the other systems that will eventually power the site.

We also haven't decided that one database should store everything.

Instead of choosing technology because it's popular, because someone says it's fast, or simply because it's what we already know, we're testing the options first.

Performance won't be the only consideration.

We'll also look at resource usage, reliability, scalability, development complexity, maintainability and how well each technology fits the particular job we need it to perform.

We Probably Won't Choose Just One

We don't necessarily expect one programming language or one database to power the entire platform.

In fact, we expect But Is It True? Lab will probably use a polyglot architecture.

That means using multiple programming languages and multiple database technologies, with each selected for the work it performs best.

The best language for a high-performance search API may not be the best choice for artificial intelligence, data analysis, background processing or interactive website features.

The same applies to databases.

The best database for structured relationships may not be the best database for storing enormous amounts of crawl data, historical observations, search information or other types of data the platform may eventually process.

A technology doesn't have to finish first overall to become part of But Is It True? Lab.

If something proves particularly good at one type of work, that may be exactly where we use it.

We're not choosing the winner and then designing a test to justify the decision. We're running the tests first and using the evidence to help design the platform.

We have predictions too. But predictions aren't results.

We'll let the tests answer the question.

We're Testing This Website Too

But Is It True? Lab isn't beginning with a finished website. We're documenting the process of building the platform itself.

That means the site you're looking at is also one of our tests.

1. Register the Domain

The But Is It True? Lab domain was registered and the required DNS and email records were configured and verified.

The internal DNS and mail infrastructure is outside the scope of the public build documentation.

2. Create an Isolated Web Service

At this point we are using a terminal on a mac mini The public frontend was placed in its own Docker container. The container runs Nginx and serves the public website independently from the other applications on the server.

3. Prove It Works Locally

Before exposing anything publicly, we tested the web container directly on the server and confirmed that it returned the expected page.

4. Connect the Domain

The server's public Nginx reverse proxy was configured to route requests for But Is It True? Lab to the new frontend.

The configuration was syntax-tested before Nginx was reloaded.

5. Enable HTTPS

A TLS certificate was installed so the site could be served securely over HTTPS.

6. Build the First Public Page

The first public version of the site was deliberately created using only HTML and CSS.

Rather than selecting the rest of the technology stack first, we're using our own testing to help determine what technologies will power future versions of the platform.

This build log is temporarily being published directly on the homepage.

As the site develops, the complete build history, test data, methodology and supporting evidence will move into dedicated sections.