frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Warcraftcn/UI – UI component library inspired by classic Warcraft III aesthetics

https://www.warcraftcn.com/
1•vyrotek•56s ago•0 comments

Trump Vodka Becomes Available for Pre-Orders

https://www.forbes.com/sites/kirkogunrinde/2025/12/01/trump-vodka-becomes-available-for-pre-order...
1•stopbulying•2m ago•0 comments

Velocity of Money

https://en.wikipedia.org/wiki/Velocity_of_money
1•gurjeet•4m ago•0 comments

Stop building automations. Start running your business

https://www.fluxtopus.com/automate-your-business
1•valboa•8m ago•1 comments

You can't QA your way to the frontier

https://www.scorecard.io/blog/you-cant-qa-your-way-to-the-frontier
1•gk1•10m ago•0 comments

Show HN: PalettePoint – AI color palette generator from text or images

https://palettepoint.com
1•latentio•10m ago•0 comments

Robust and Interactable World Models in Computer Vision [video]

https://www.youtube.com/watch?v=9B4kkaGOozA
1•Anon84•14m ago•0 comments

Nestlé couldn't crack Japan's coffee market.Then they hired a child psychologist

https://twitter.com/BigBrainMkting/status/2019792335509541220
1•rmason•16m ago•0 comments

Notes for February 2-7

https://taoofmac.com/space/notes/2026/02/07/2000
2•rcarmo•17m ago•0 comments

Study confirms experience beats youthful enthusiasm

https://www.theregister.com/2026/02/07/boomers_vs_zoomers_workplace/
2•Willingham•24m ago•0 comments

The Big Hunger by Walter J Miller, Jr. (1952)

https://lauriepenny.substack.com/p/the-big-hunger
2•shervinafshar•25m ago•0 comments

The Genus Amanita

https://www.mushroomexpert.com/amanita.html
1•rolph•30m ago•0 comments

We have broken SHA-1 in practice

https://shattered.io/
9•mooreds•31m ago•2 comments

Ask HN: Was my first management job bad, or is this what management is like?

1•Buttons840•32m ago•0 comments

Ask HN: How to Reduce Time Spent Crimping?

2•pinkmuffinere•33m ago•0 comments

KV Cache Transform Coding for Compact Storage in LLM Inference

https://arxiv.org/abs/2511.01815
1•walterbell•38m ago•0 comments

A quantitative, multimodal wearable bioelectronic device for stress assessment

https://www.nature.com/articles/s41467-025-67747-9
1•PaulHoule•40m ago•0 comments

Why Big Tech Is Throwing Cash into India in Quest for AI Supremacy

https://www.wsj.com/world/india/why-big-tech-is-throwing-cash-into-india-in-quest-for-ai-supremac...
1•saikatsg•40m ago•0 comments

How to shoot yourself in the foot – 2026 edition

https://github.com/aweussom/HowToShootYourselfInTheFoot
1•aweussom•40m ago•0 comments

Eight More Months of Agents

https://crawshaw.io/blog/eight-more-months-of-agents
4•archb•42m ago•0 comments

From Human Thought to Machine Coordination

https://www.psychologytoday.com/us/blog/the-digital-self/202602/from-human-thought-to-machine-coo...
1•walterbell•42m ago•0 comments

The new X API pricing must be a joke

https://developer.x.com/
1•danver0•43m ago•0 comments

Show HN: RMA Dashboard fast SAST results for monorepos (SARIF and triage)

https://rma-dashboard.bukhari-kibuka7.workers.dev/
1•bumahkib7•44m ago•0 comments

Show HN: Source code graphRAG for Java/Kotlin development based on jQAssistant

https://github.com/2015xli/jqassistant-graph-rag
1•artigent•49m ago•0 comments

Python Only Has One Real Competitor

https://mccue.dev/pages/2-6-26-python-competitor
4•dragandj•50m ago•0 comments

Tmux to Zellij (and Back)

https://www.mauriciopoppe.com/notes/tmux-to-zellij/
1•maurizzzio•51m ago•1 comments

Ask HN: How are you using specialized agents to accelerate your work?

1•otterley•52m ago•0 comments

Passing user_id through 6 services? OTel Baggage fixes this

https://signoz.io/blog/otel-baggage/
1•pranay01•53m ago•0 comments

DavMail Pop/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway

https://davmail.sourceforge.net/
1•todsacerdoti•54m ago•0 comments

Visual data modelling in the browser (open source)

https://github.com/sqlmodel/sqlmodel
1•Sean766•56m ago•0 comments
Open in hackernews

Retry Loop Retry

https://matklad.github.io/2025/08/23/retry-loop-retry.html
18•todsacerdoti•5mo ago

Comments

davidhyde•5mo ago
Here are some more points to consider.

1. Allowing user initiated early retry exit. Nothing is stopping some other developer from wrapping your function-with-retries in their own retry-able function. And then another developer even further removed from the details to wrap that one again. Now you have n pow 3 retries and you have services timing out after an hour instead of milliseconds or seconds. Remember that your function-with-retries can just look like a slower flakey function to them. Perhaps exposing the retry variables in the api is the answer, perhaps not.

2. Code readability and debug-ability. Wrapping a piece of work in a function pointer and giving it a generic name like “action” increases cognitive load and makes the codebase slower to read. This is especially true if the contents of the action is so far up the boilerplate chain that the developer has already forgotten what it does. This is a part of the codebase that will be read to troubleshoot the failure so it helps if it is self describing.

3. In my experience, retries are often added when the failure mode is not well understood or as a quick hack to get things over the line. However, we sometimes cannot control what we call so they are an also valid mechanism to use under certain circumstances.

Joker_vD•5mo ago

    var result = ?, err = NeverEvenTriedError
    for attempt_no := 1 to retry_count + 1 do
        result, err := action()
        while err and is_transient_error(err)
    between
        sleep()
    end
where the "between" block is inserted "between" the iterations or more precisely, it is run before the loop's body for every iteration other than the very first one (after the increment part is executed), so if you put e.g. "print(attempt_no)" in there, it would print 2, 3, etc. up to and including retry_count + 1.

IMHO, such a block would be more useful than the "else" block in loops, although of course, you can always emulate it as

    var result = ?, err = NeverEvenTriedError
    for attempt_no := 1 to retry_count + 1 do
        result, err := action()
        while err and is_transient_error(err)

        if (attempt_no = 1) then continue
        sleep()
    end
1718627440•5mo ago
Is there a language, that has this between keyword?
Joker_vD•5mo ago
Well, no. But I think it wouldn't be that hard to add to e.g. Golang, the code gen for this feature is pretty small: find the closest wrapping loop, put "$unique_name := true" as the first statement of its body, replace the keyword itself with "if ($unique_name) { $unique_name = false; continue; }" node.
1718627440•5mo ago
Sure. You can also simply put what you want to be executed after the condition behind the condition. You could also invent a 4-ary for ( for(init; condition; between; increment) ), but you can also do that with a macro.
1718627440•5mo ago
What about this?

    unsigned retry_count = 5;

    do {
        err = action ();
    } while (err && is_transient_error (err) && retry_count-- && (sleep (), TRUE))

    return err;
We want to loop while there is still an error, the error is still transient, we still haven't retried enough and after we have slept. Pretty straightforward translation of natural language to code.