Readit News logoReadit News
erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
tsv_ · 3 months ago
Thanks for the feedback, it helps me see things from a different perspective.

These are excellent questions, and you're absolutely right that they should be clear from the landing page. I'll work on fixing that.

Short answers:

1. Good point about asserts. When writing the benefits, I was targeting a broader audience (unittest users, people coming from other languages like JS), but the reality is most visitors are probably "pytest escapers" who already know pytest uses assert. I'll reorganize the selling points to focus on what actually differentiates Vedro.

2. The main philosophy is "all you need is functions and their compositions", no special decorators or dependency injection magic. But this is indeed missing from the index page. Will definitely add clear examples showing how to handle common fixture use cases with plain functions.

3. One diff example on the landing page clearly isn't enough. I'll add more comparisons. Since you hate pytest's diff output too, I'd love to hear what specifically bothers you about it, your pain points would be incredibly valuable for improving how I present Vedro's approach.

erezsh · 3 months ago
Because my hate for pytest is ardent and dear to my heart, I will try to explain.

I wrote a very simple function:

  def test_whatever():
    a = range(10)
    b = (10 / x for x in a)
    c = list(b)
When I run it with normal Python, this is the exception:

    Traceback (most recent call last):
      File "test_test.py", line 10, in <module>
        test_whatever()
      File "test_test.py", line 6, in test_whatever
        c = list(b)
            ^^^^^^^
      File "test_test.py", line 5, in <genexpr>
        b = (10 / x for x in a)
             ~~~^~~
    ZeroDivisionError: division by zero

It's compact and simple to understand. It pinpoints the exact location of the error, and I easily scan the text to find the function call-stack.

Now here's the pytest error:

    ___________________________________ test_whatever ___________________________________

        def test_whatever():
            a = range(10)
            b = (10 / x for x in a)
    >       c = list(b)

    test_test.py:6:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    .0 = <range_iterator object at 0x107695e90>

    >   b = (10 / x for x in a)
    E   ZeroDivisionError: division by zero

    test_test.py:5: ZeroDivisionError

It doesn't pinpoint the error, it adds code lines that might be irrelevant, and extra information I don't care about.

I will say using `--tb=short` fixes most of it, at least in this example, and sometimes it's even preferable, because it's shorter. But it still doesn't pinpoint the error like normal Python exceptions do.

erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
thebl4cknight · 3 months ago
I'm working on top down shooter for the browser (co-op to come) https://www.demoncleaners.com/

This uses phaser, standard web tech, wasm (built from Go engine running on server).

Trying to build browser games that feel more like Steam games.

erezsh · 3 months ago
It's awesome! Well done!
erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
tsv_ · 3 months ago
I'm working on Vedro, a Python testing framework as a pytest alternative without the magic and with clear output.

The main idea is that tests should just be Python: plain `assert` statements instead of custom matchers, no fixture magic, and when tests fail you get readable diffs that actually show what went wrong. Tests can be simple functions or structured with steps that self-document in the output.

https://vedro.io

I would be very happy to receive any feedback!

erezsh · 3 months ago
I like the promise, and it looks nice. But I'm not sure what are the selling points.

- pytest already works with assert. Why brag about something that is already commonplace?

- It could help if your docs explained the alternative to using fixtures. I assume it would be done by re-using givens, but you could make it clearer what is the preferred way to do it, and what is gained, or lost, but doing it that way.

- Can you explain how your diff is better than the pytest diff? (I'm asking as someone who hates the pytest diff)

erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
_jsmh · 3 months ago
A different Internet message board. It's based on two principles: each sentence written must be true, and claims must be easy to verify.

[url-redacted]

erezsh · 3 months ago
Nice idea!
erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
magno · 3 months ago
I built Wikli (https://www.wikli.com/) - an AI-powered news aggregator that clusters articles semantically and generates daily digests with editorial oversight.

The Problem: News fatigue is real. Reading 50+ articles daily (from hundred of different sources) to stay informed is unsustainable, but traditional aggregators just dump links without context.

Wikli uses a three-stage pipeline:

Scraping & Processing (Cloudflare Workers): RSS feeds → content extraction → AI classification Semantic Clustering (Python): Claude groups related articles across sources into coherent stories Digest Generation: AI synthesizes clusters into readable reports with context and TLDR

Technical Highlights:

Cloudflare Workers + PostgreSQL for scraping infrastructure Hybrid content extraction (Readability + Puppeteer fallback for tricky sites) Claude Sonnet 4 for clustering and synthesis (outperformed embedding-based approaches) Theme-based filtering with relevance scoring (0-10 scale per article) Telegram bot with stateless approval workflow for editorial control

What's Different:

Semantic clustering beats chronological or source-based grouping Context from previous digests prevents repetition Human-in-the-loop via Telegram for quality control (can edit title/approve digest) Open architecture: separate Brief Generator (Python) and Scraper API (TypeScript)

Stack: TypeScript, Python, PostgreSQL, Drizzle ORM, Claude/Gemini APIs

The system handles rate limiting across domains, AI API throttling, and includes a DataManager abstraction for centralized data operations. Currently live in Italian at wikli.com - language-agnostic by design but focused on the Italian market for now. A the moment running with two topics (AI innovation and Inter Milano Football Club) via Telegram and wikli.com website.

Happy to get any feedback.

erezsh · 3 months ago
It's only in Italian lol
erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
MattRix · 3 months ago
Just finished making https://kickoffleague.com

It’s a daily puzzle game that combines soccer and chess.

erezsh · 3 months ago
It's cute, but it was pretty easy! The "forbidden" level felt like what I expected "normal" to be. (I'm only 1800 on chess.com)
erezsh commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
claviska · 3 months ago
I launched Quiet UI this week:

https://quietui.org/

It prioritizes accessibility, longevity, performance, and simplicity.

With the autoloader, one script tag loads components dynamically without downloading the entire library. (npm also available.)

Theming uses color-mix() and OKLAB to create uniform color palettes from a single CSS property. Adaptive palettes are used for dark mode.

All form controls are form-associated via ElementInternals and work with native validation APIs (required, pattern, etc.).

Dialogs, popovers, tooltips, etc. use Popover API for top-layer access without having to portal or hoist.

Some of the more fun components include: Joystick, Stamp, Mesh Gradient, Flip Card, Random Content, Intersection Observer, Typewriter, Lorem Ipsum, Slide Activator

The library is free for personal, educational, non-profit use. Commercial use requires a license.

erezsh · 3 months ago
Looks really nice!
erezsh commented on Shoes, Algernon, Pangea, and sea peoples   dynomight.net/shorts-5/... · Posted by u/crescit_eundo
erezsh · 3 months ago
Related interesting fact that I recently learned.

Supposedly, one people of the Sea Peoples were the Peleset, as the egyptians called them (https://en.wikipedia.org/wiki/Peleset), which are believed to be the same people as the Philistines, for which the Romans gave Palestine its name.

erezsh commented on Show HN: I replaced vector databases with Git for AI memory (PoC)   github.com/Growth-Kinetic... · Posted by u/alexmrv
potsandpans · 4 months ago
Still new to the rag space, but there op had an additional callout, "and [later] i call her by her name"

Is it capable to go from `[name] -> [my daughter as a concept] -> age` ?

erezsh · 4 months ago
The agent loop takes care of that

u/erezsh

KarmaCake day314May 18, 2009
About
Skilled Programmer

My blog: http://blog.erezsh.com/

My github: https://github.com/erezsh

View Original