Random   •   Archives   •   RSS   •   About   •   Contact   •  

webwords reaches 42 languages: the ultimate programming kata

The companion webwords git repo lives here.

Webwords now supports 42 programming languages. TimeHexOn assisted with this milestone over 2 days using a code agent tool.

42 languages. Same as the answer to life, the universe, and everything. Coincidence? Probably. But each implementation solves the exact same problem in completely different ways.

the spec

Every implementation does exactly the same thing:

  1. Accept two query parameters: keyword and target
  2. Fetch the content from the target URI
  3. Search for the keyword in that content
  4. Return true or false as plain text

testing webwords

To test any implementation, try searching for potato on Remarkbox:

curl "http://localhost:31337/?keyword=potato&target=https://www.remarkbox.com"

Returns true because potato exists on Remarkbox.

potato

the implementations

Native HTTP Server Implementations (33 languages)

Wrapper-Based Implementations (9 languages)

docker deployment

Every implementation ships with a Dockerfile:

cd language-directory
docker build -t webwords-language .
docker run -d -p 31337:31337 webwords-language

the makefile system

The project includes a comprehensive Makefile that manages all 42 implementations:

make build-all        # Build all 42 Docker images
make test-all         # Test all implementations concurrently
make benchmark LANG=python  # Benchmark a specific language
make help             # Show all available commands

Each language has individual targets:

make build-python     # Build Python implementation
make serve-python     # Run Python container on port 31337
make functional-test-python  # Test with potato/lemon cases
make clean-python     # Stop and remove container

The testing process validates that each implementation correctly returns true when searching for potato on remarkbox.com and false when searching for lemon.

what's next

Is the project complete at 42 languages? What happens next?

If you run make build-all & fill up your filesystem, check out unpotato webwords: cleaning up btrfs docker volumes.




Want comments on your site?

Remarkbox — is a free SaaS comment service which embeds into your pages to keep the conversation in the same place as your content. It works everywhere, even static HTML sites like this one!

Remarks: webwords reaches 42 languages: the ultimate programming kata

© Russell Ballestrini.