frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Zsweep – Play Minesweeper using only Vim motions

https://zsweep.com
26•oug-t•5d ago

Comments

oug-t•5d ago
Hi HN,

I’m the creator of zsweep. It’s a keyboard-centric Minesweeper clone where you play entirely using Vim motions (h, j, k, l to move; w/b to skip words; etc.).

The Backstory: I wanted to build a project to get my hands dirty with Svelte 5 and the new Runes system. I also wanted a way to practice Vim muscle memory that wasn't just typing code.

Tech Stack:

Frontend: Svelte 5 (Runes) + SvelteKit

Styling: Tailwind CSS

State: Custom Finite State Machine (FSM) for the game logic

The Challenge: One of the hardest parts was getting the "chording" logic right (where you clear multiple squares at once) while keeping the keyboard navigation feeling instant and "vim-like."

It’s open source, so if you’re curious about how Svelte 5 handles game state, feel free to poke around the code: https://github.com/oug-t/zsweep

I’d love to hear your feedback on the controls or any edge cases you find!

oug-t•5d ago
Repo: https://github.com/oug-t/zsweep
oug-t•5d ago
also trying to add features with three.js for better visual impressions.
oug-t•5d ago
Play at: https://zsweep.com
rajeshvar•1h ago
nice!
kej•47m ago
This is a fun idea and the implementation works pretty well.

The only complaint I have is that enter for clearing feels awkward in conjunction with hjkl movement; maybe add (d)elete and (f)lag as alternatives to enter and space to keep everything on the home row without requiring stretching?

unformedelta•41m ago
This was fun!

It would feel a little more intuitive if w/b worked on groups of unrevealed tiles instead of just moving 1 space when you were already on an unrevealed tile. i.e. unrevealed = words, revealed = spaces. That way, you could also use them to meaningfully navigate around unrevealed groups better than using h/l. I also found myself missing "e" to go to the end of a word, apparently I use it more often than "w".

I really appreciated the attention to detail though, I was delighted when I realized that gg/G/0/$ all worked as expected.

1313ed01•41m ago
It is common in traditional roguelikes to support vi keys as an alternative to arrow keys. I use that all the time when playing Brogue. Have a great vi keys muscle memory now thanks to that, but I use Emacs and only rarely vi, so it's not doing me much good.

Radicle: The Sovereign Forge

https://radicle.xyz
191•ibobev•4h ago•87 comments

KORG phase8 – Acoustic Synthesizer

https://www.korg.com/us/products/dj/phase8/
65•bpierre•3h ago•39 comments

Booting from a vinyl record (2020)

https://boginjr.com/it/sw/dev/vinyl-boot/
204•yesturi•7h ago•57 comments

AI is a horse (2024)

https://kconner.com/2024/08/02/ai-is-a-horse.html
341•zdw•3d ago•177 comments

Show HN: Zsweep – Play Minesweeper using only Vim motions

https://zsweep.com
27•oug-t•5d ago•8 comments

Gas Town's Agent Patterns, Design Bottlenecks, and Vibecoding at Scale

https://maggieappleton.com/gastown
98•pavel_lishin•1h ago•111 comments

Proof of Corn

https://proofofcorn.com/
3•rocauc•12m ago•0 comments

Show HN: Whosthere: A LAN discovery tool with a modern TUI, written in Go

https://github.com/ramonvermeulen/whosthere
124•rvermeulen98•6h ago•52 comments

Proton Spam and the AI Consent Problem

https://dbushell.com/2026/01/22/proton-spam/
386•dbushell•11h ago•241 comments

I built a light that reacts to radio waves [video]

https://www.youtube.com/watch?v=moBCOEiqiPs
379•codetheweb•12h ago•82 comments

Three RCEs in Ilias Learning Management System

https://srlabs.de/blog/breaking-ilias-part-2-three-to-rce
14•hack223•2h ago•2 comments

Microsoft gave FBI set of BitLocker encryption keys to unlock suspects' laptops

https://techcrunch.com/2026/01/23/microsoft-gave-fbi-a-set-of-bitlocker-encryption-keys-to-unlock...
11•bookofjoe•9m ago•1 comments

Show HN: New 3D Mapping website - Create heli orbits and "playable" map tours.

https://www.easy3dmaps.com/gallery
4•dobodob•34m ago•1 comments

Updates to our web search products and Programmable Search Engine capabilities

https://programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html
177•01jonny01•8h ago•149 comments

European Alternatives

https://european-alternatives.eu
269•s_dev•5h ago•108 comments

Show HN: isometric.nyc – giant isometric pixel art map of NYC

https://cannoneyed.com/isometric-nyc/
1183•cannoneyed•1d ago•217 comments

Flying with Photons: Rendering Novel Views of Propagating Light

https://anaghmalik.com/FlyingWithPhotons/
19•pillars•3d ago•5 comments

GPTZero finds 100 new hallucinations in NeurIPS 2025 accepted papers

https://gptzero.me/news/neurips/
911•segmenta•1d ago•485 comments

Kotlin's Rich Errors: Native, Typed Errors Without Exceptions

https://cekrem.github.io/posts/kotlin-rich-errors-elm-union-types/
7•todsacerdoti•5d ago•2 comments

What has Docker become?

https://tuananh.net/2026/01/20/what-has-docker-become/
184•tuananh•5h ago•200 comments

Capital One to acquire Brex for $5.15B

https://www.reuters.com/legal/transactional/capital-one-buy-fintech-firm-brex-515-billion-deal-20...
367•personjerry•20h ago•292 comments

AI Usage Policy

https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md
424•mefengl•8h ago•205 comments

Why does SSH send 100 packets per keystroke?

https://eieio.games/blog/ssh-sends-100-packets-per-keystroke/
614•eieio•22h ago•323 comments

I was banned from Claude for scaffolding a Claude.md file?

https://hugodaniel.com/posts/claude-code-banned-me/
672•hugodan•23h ago•581 comments

The state of modern AI text to speech systems for screen reader users

https://stuff.interfree.ca/2026/01/05/ai-tts-for-screenreaders.html
64•tuukkao•8h ago•27 comments

Replacing Protobuf with Rust to go 5 times faster

https://pgdog.dev/blog/replace-protobuf-with-rust
136•whiteros_e•9h ago•97 comments

Qwen3-TTS family is now open sourced: Voice design, clone, and generation

https://qwen.ai/blog?id=qwen3tts-0115
694•Palmik•1d ago•210 comments

Presence in Death

https://rubinmuseum.org/presence-in-death/
53•tock•5h ago•14 comments

Microsoft mishandling example.com

https://tinyapps.org/blog/microsoft-mishandling-example-com.html
187•mrled•5h ago•69 comments

Douglas Adams on the English–American cultural divide over "heroes"

https://shreevatsa.net/post/douglas-adams-cultural-divide/
521•speckx•1d ago•515 comments