frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
377•klaussilveira•4h ago•81 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
742•xnx•10h ago•456 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
112•dmpetrov•5h ago•49 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
132•isitcontent•5h ago•13 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
234•vecti•7h ago•112 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
21•quibono•4d ago•0 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
302•aktau•11h ago•150 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
302•ostacke•10h ago•80 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
156•eljojo•7h ago•117 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
375•todsacerdoti•12h ago•214 comments

A century of hair samples proves leaded gas ban worked

https://arstechnica.com/science/2026/02/a-century-of-hair-samples-proves-leaded-gas-ban-worked/
52•jnord•3d ago•3 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
301•lstoll•11h ago•227 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
42•phreda4•4h ago•7 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
100•vmatsiiako•9h ago•33 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
165•i5heu•7h ago•122 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
136•limoce•3d ago•75 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
35•rescrv•12h ago•17 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
223•surprisetalk•3d ago•29 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
951•cdrnsf•14h ago•411 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
7•kmm•4d ago•0 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
7•gfortaine•2h ago•0 comments

I'm going to cure my girlfriend's brain tumor

https://andrewjrod.substack.com/p/im-going-to-cure-my-girlfriends-brain
28•ray__•1h ago•4 comments

The Oklahoma Architect Who Turned Kitsch into Art

https://www.bloomberg.com/news/features/2026-01-31/oklahoma-architect-bruce-goff-s-wild-home-desi...
17•MarlonPro•3d ago•2 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
76•antves•1d ago•56 comments

Claude Composer

https://www.josh.ing/blog/claude-composer
94•coloneltcb•2d ago•67 comments

Evaluating and mitigating the growing risk of LLM-discovered 0-days

https://red.anthropic.com/2026/zero-days/
31•lebovic•1d ago•11 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
36•nwparker•1d ago•7 comments

How virtual textures work

https://www.shlom.dev/articles/how-virtual-textures-really-work/
22•betamark•12h ago•22 comments

Masked namespace vulnerability in Temporal

https://depthfirst.com/post/the-masked-namespace-vulnerability-in-temporal-cve-2025-14986
31•bmit•6h ago•3 comments

Evolution of car door handles over the decades

https://newatlas.com/automotive/evolution-car-door-handle/
38•andsoitis•3d ago•61 comments
Open in hackernews

Making Explainable Minesweeper

https://sublevelgames.github.io/blogs/2025-07-06-making-explainable-minesweeper/
43•greentec•7mo ago

Comments

greentec•7mo ago
Hello Hacker News!

Thank you for your interest in my previous post. This time, I've written a blog post about the game and the process of creating it.

In the original Minesweeper, there are inevitable 50/50 moments where you have to rely on luck. In the game I created, 'Explainable Minesweeper,' I eliminated these guessing situations. However, I also prevented the maps from becoming too easy! How? By using logical deduction, you can solve puzzles that initially appear to be luck-based. The blog post explains the process in more detail.

shkkmo•7mo ago
The exclusion of patterns that involve more than 2 numbers is a pretty huge caveat that should be mentioned earlier and more clearly. When I was playing a lot of minesweeper, larger levels tended to require solving larger patterns most of the time. If you exclude those solutions, your estimate of how often you are required to guess is going to be pretty inaccurate.
npinsker•7mo ago
For what it's worth, the way 14MV does hints is probably by just throwing the board into Z3 (https://github.com/Z3Prover/z3) or some other constraint solver. Microsoft has already done all the hard work for you.
jsnell•7mo ago
I doubt it. A guaranteed-solveable minesweeper scenario isn't just about the global board setup, but about what information is available when, and what order the solution is gone through.

Bombe[0] is to my mind the definitive exploration of this concept. The tagline is "Minesweeper, but you only solve each situation once", which you do by writing these kinds of deduction rules with a fairly painful visual programming language. (You can't write an invalid rule: the game will detect the logic error and present you with a counter-example.)

You then let the computer churn through it's list of 100k scenarios idle-game style, until you bump into a board that can't be solved with the rules you provided, and you have to figure out what new rules to write.

As the game progresses, you'll unlock ways of parameterizing the rules in various ways, as well as various variant rules.

[0] https://store.steampowered.com/app/2262930/Bombe/

npinsker•7mo ago
You're right, I misspoke a little bit -- 14MV is able to do this because (unlike this game) it does not reveal all givens to you at the beginning.
doormatt•7mo ago
Bombe is easily one of my favorite games ever. 240+ hours of gameplay so far.
_9ptr•7mo ago
In minesweeper online there's also a "no guessing" mode which, in my opinion, is much more interesting than the normal mode. It means that if you guess in a situation where you could have deduced the mines, you always get a mine. Conversely, if you really are in a guessing situation, you will never get a mine. I'm pretty sure the game calculates the unknown part of the map after each click anew.
Bimos•7mo ago
I thought no guessing mode means the map is generated in such way that guessing is not needed to solve the whole board? (To those who didn't know the mode, it also forces you a starting point)

As an experiment, I tried clicking on a random position after clicking the starting point. And it is possible to that the position is safe. So I don't think the map in no guessing mode is dynamic.

Also in the help section: "In this mode, a starting position is provided, and you never need to guess to complete the board."

tylervigen•7mo ago
How would the game know you are guessing?
jsnell•7mo ago
By considering the bomb location notations you have made on the board.

Are they all valid, and do they prove that the location you're clicking on is empty? Then you're not guessing.

Are they invalid, or do they not prove that the location is empty? Then you're making a guess that should fail.

Are they valid, comprehensive (there are no more bombs you could mark), and prove that all you have left are random choices? Then clicking is you indicating that you've found all there is to find for now, not a "guess".

cam_l•7mo ago
I never use the bomb notations and I have not noticed this behaviour. I wonder if that is why?

Anyway, with the no guessing mode i get more consistent times, and it's more fun/less frustrating. But I get faster times without it, just far more variance.

Matthias247•7mo ago
I think the only guessing situation in the game is the starting point (first click). after that, everything can be solved by deduction.
_9ptr•7mo ago
That's not the case. I have come to such situations. And I suppose the program can identify those as well and put the bomb where you didn't click.
Matthias247•7mo ago
I've played that one a lot (hundreds of games on Evil difficulty). So far there's no guessing required after the initial click. Everything can be deducted. Even though some deductions are really hard (you have to go through mine blocks from multiple starting points and multiple hops in order to determine the next safe block).
MostlyStable•7mo ago
Simon Tatham's Puzzles app has a minesweeper version that both A) generates on first click so you are guaranteed to never hit a mine on the first click and B) every board is 100% solvable with no need to guess. I have no idea what method it uses. I believe that _every_ puzzle in it is 100% solvable with no need to guess. It's also add free and completely local. It's a great app for anyone who likes puzzles on their phone.
mtlmtlmtlmtl•7mo ago
I looked at the code for this once. It's sort of a hack. It generates a random puzzle, tries to solve it with a deterministic backtracking(IIRC) solver that detects situations where it's stuck. If it is stuck, it shifts some mines around in the place where the solver got stuck, according to some heuristics, and keeps solving. It keeps doing this until the entire puzzle has been solved, verifying that the puzzle can be solved without any guesswork.

I will second the recommendation. As someone who's wasted too many hours on minesweeper, it radically changes the game. Because I know there's a logical solution, I'm able to find patterns that I never found in the original, because I'd often assume it was just one of those guesswork situations. It's similar to how chess puzzles are easier than an equivalent position during a game. Because you know there's a neat solution, you're more willing to put in the legwork of searching for it. Learned a lot about the game simply by playing Simon's version.

mcmoor•7mo ago
I tried some no-guess variants but somehow there's a kind of sterile feeling to it. For some reason it makes it more boring compared to vanilla variant. It of course excels when I'm getting frustrated at guesses and 50/50, but otherwise I play the normal minesweeper more.
badmintonbaseba•7mo ago
It's an entirely a different metagame if the goal is to improve your personal best time over multiple games within a given time frame. Once you get good enough with the deterministic reasoning, the game transforms into probabilistic strategies for time saves in both the vanilla and the guaranteed solvable game, and at that point the two games are very different.

For the vanilla game the guesses become integral part of the game that you can strategize around. There are guesses where some squares are less likely to contain mines than others. You can also try to uncover guesses as early as possible in a game, so you don't waste too much time on a game that is doomed to fail.

anewhnaccount2•7mo ago
I wouldn't describe it as a hack necessarily. This is called rejection sampling, and it's just fine as long as the rejection rate is low enough.
zabzonk•7mo ago
> anyone who likes puzzles on their phone

it's also available on windows and android - very good.

kevindamm•7mo ago
It's also available in HTML/js/wasm, so practically all networked devices:

https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/mine...

However, the minesweeper puzzle is the one that causes a big wart in the API, which part of me has wanted to refactor for years. (it's for the reason given in GP comment, the puzzle isn't generated until first click; it's the only one with this behavior and could be reworked to have the clicked area be a parameter to creation, but then it would have a slightly quirky main()-equivalent function.. IMO worth it for the cleaner API)

Simon's puzzles have overall been an inspiration, some good reading if you're into algorithms and applied graph theory and don't mind that it's in C.

gavinsyancey•7mo ago
I made something like this a while back: https://github.com/g-rocket/minesweeper
eviks•7mo ago
Unfortunately it doesn't have proper controls and cell sizes (doesn't expand to the screen, so remain small), so it's easy to mistap on a wrong cell or mistap instead of mishold. Basically, controls aren't optimized for a touch screen
joshka•7mo ago
xyzzy shift+Enter... ;P
nojs•7mo ago
The first example is not ambiguous. You can solve it starting at the bottom left
red369•7mo ago
Do you mean the first screenshot of Windows Minesweeper (the left half of ems02.png)?

Could you explain how? I haven't played a huge amount of Minesweeper, but I can't see how that can be solved without risk/luck.

nojs•7mo ago
On the left side, the 1 at the bottom means that the third from the bottom must be a mine (since the 2 can't point to the bottom two). The 1 touching that mine then excludes a bunch more, and that's sufficient to solve the rest.
red369•7mo ago
Thanks - I finally saw it just as you replied. I agree that it looks like that mine layout is the only possible one which satisfies the vertical 1,2,1 boxes. I need to play more :)
greentec•7mo ago
Thank you. I didn't see that!
Unearned5161•7mo ago
Nice article, I wanted to point out though that your example board at the beginning has no such ambiguities or 50/50's. Here's a recreation of it so you can see for yourself, if you open it up from the bottom left as you did, the 1 2 1 leads to the board being solved rather quickly:

https://agustinfitipaldi.com/minesweeper?seed=eyJ3aWR0aCI6OS...

greentec•7mo ago
Yes, that's right. I'll have to update my blog with additional information about this. Thank you!
badmintonbaseba•7mo ago
BTW, you can also start from the top right with the two 1s. One of the rightmost two cells contains a mine, so the 3rd from the right can't.
rtpg•7mo ago
Many many years ago I remember playing a free minesweeper that had, among other things, hexagonal maps as an option, but the big thing was that it guaranteed that you would never need to guess. You could always figure out the answer, and I believe there was a mode where if you clicked in a way where you couldn't have deduced the answer it would put a mine in there to punish you.

Anyone know what minesweeper software I'm thinking of?

bigstrat2003•7mo ago
Apart from the mine theme (and punishing you by putting in extra mines), that sounds like Hexcells. Very reminiscent of minesweeper, and you never have to guess.
rtpg•7mo ago
what I'm thinking of is, I believe, much older. I remember playing it before 2010 at least based on the machine I was playing it on. And it was distinctly "windows" styled: it looked like windows minesweeper!
Doxin•7mo ago
I don't know the name, but I distinctly recall a minesweeper clone that had hexagonal maps, triangular maps, and a bunch of other weird tilings.
rtpg•7mo ago
Yeah I think the one I played also had triangular maps.
joe_guy•7mo ago
You might be thinking of Tametsi. If not, it's a fantastic game to checkout.
yifanl•7mo ago
Likely not what you're thinking of, but there's a lot of variant modes in the Minesveeper advent calendars: https://heptaveegesimal.com/2022/minesveeper-zero/
yedpodtrzitko•7mo ago
Recently I have discovered Tametsi ( https://store.steampowered.com/app/709920 ), which is something like Minesweeper on steroids and some advanced levels can't be solved without advanced reasoning. If Minesweeper feels too easy/boring, this might be the right challenge for you.
elemeno•7mo ago
If you’re interested in this you might like the game Bombe (https://store.steampowered.com/app/2262930/Bombe/) - a game about defining rules to let the computer solve various minesweeper (and more advanced variants) puzzles.

It’s a bit mind bending as you’re never actually solving the puzzles yourself, but creating sets of rules to solves whole classes of potential minesweeper patterns. It definitely solves that pleasurable puzzle solving itch!