Sunday, March 1, 2026

Show HN: Updater – one command for macOS app updates https://ift.tt/W7mPiFo

Show HN: Updater – one command for macOS app updates I built updater to solve a small but annoying problem: macOS app updates are fragmented across different systems. updater scans installed apps, determines where each app should be checked (Sparkle, Homebrew casks/formulae, Mac App Store via mas, GitHub Releases, and macOS system updates), then runs source specific update actions from the terminal. It also has an interactive TUI (run `updater` with no args). A few commands: updater check updater update --all updater update "1Password" Repo: https://ift.tt/GVljZok Would love feedback, especially on reliability and edge cases. https://ift.tt/GVljZok March 2, 2026 at 12:46AM

Show HN: Mrkd – A native macOS Markdown viewer with iTerm2/VSCode theme import https://ift.tt/jftBxwU

Show HN: Mrkd – A native macOS Markdown viewer with iTerm2/VSCode theme import Using Opus 4.6 I built a markdown viewer for macOS that uses zero web technology. No Electron, no WebView — markdown is parsed with cmark-gfm and rendered directly to NSAttributedString via TextKit 2. The result is native text selection, native accessibility, and a ~1MB binary that launches pretty much instantly. It supports GFM tables, task lists, syntax-highlighted code blocks, and inline images. You get a built-in themes (Solarized, Dracula, GitHub, Monokai) plus the ability to import your own from iTerm2 or VS Code theme files. The part I’m most pleased with is the Quick Look integration — select a .md file in Finder, hit Space, and you get a fully themed preview using whatever theme and fonts you’ve configured in the app. No setup required; the QL extension registers automatically on first launch. It also bundles variable fonts (Geist, Inter, JetBrains Mono, iA Writer Mono, and more) so typography looks good out of the box. The whole thing is built in Swift with no dependencies beyond cmark-gfm and Highlightr. https://ift.tt/Xo0qzP2 https://ift.tt/Xo0qzP2 March 2, 2026 at 12:18AM

Show HN: PraxisJS – signal-driven front end framework and AI experiment https://ift.tt/Hm8pW2d

Show HN: PraxisJS – signal-driven front end framework and AI experiment I built PraxisJS, a signal-driven frontend framework exploring what a more explicit and traceable architecture could look like. PraxisJS started as a personal project. It reflects a single perspective on frontend design, not a committee decision, not a consensus. I wanted to see how far you can push explicitness before it becomes friction. Most frameworks optimize for writing less. PraxisJS questions that tradeoff. @State doesn’t suggest reactivity, it is reactive, visible in the code. Signals reach the DOM without a reconciliation layer in between (the renderer is still evolving toward that goal). It also became an AI-assisted experiment, not to automate thinking, but to pressure-test ideas. Some parts came from that collaboration. Some exist because it failed. v0.1.0 beta, experimental, not production-ready. But the ideas are real. https://praxisjs.org/ March 1, 2026 at 11:27PM

Saturday, February 28, 2026

Show HN: Free, open-source native macOS client for di.fm https://ift.tt/kjAPurQ

Show HN: Free, open-source native macOS client for di.fm I built a menu bar app for streaming DI.FM internet radio on macOS. Swift/SwiftUI, no Electron. The existing options for DI.FM on desktop are either the web player (yet another browser tab) or unofficial Electron wrappers that idle at 200+ MB of RAM to play an audio stream. This sits in the menu bar at ~35 MB RAM and 0% CPU. The .app is about 1 MB. What it does: browse and search stations, play/pause, volume, see what's playing (artwork, artist, track, time), pick stream quality (320k MP3, 128k AAC, 64k AAC). Media keys work. It remembers your last station. Built with AVPlayer for streaming, MenuBarExtra for the UI, MPRemoteCommandCenter for media key integration. The trickiest part was getting accurate elapsed time. DI.FM's API and the ICY stream metadata don't always agree, so there's a small state machine that reconciles the two sources. macOS 14+ required. You need a DI.FM premium account for the high-quality streams. Source and binary: https://ift.tt/Uvj2gXV https://ift.tt/Uvj2gXV March 1, 2026 at 02:21AM

Show HN: Monohub – a new GitHub alternative / code hosting service https://ift.tt/C9fFxMw

Show HN: Monohub – a new GitHub alternative / code hosting service Hello everyone, My name is Teymur Bayramov, and I am developing a forge/code hosting service called Monohub. It is at a fairly early stage of development, so it's quite rough around the edges. It is developed and hosted in EU. I have started developing it as a slim wrapper around Git to serve my own code, but it grew to such extent that I decided to give it a try and offer it as a service. It doesn't have much at the moment, but it already has basic pull requests. Accessibility is high priority. It will be a paid service, but since it's an early start, an "early adopter discount" is applied – 6 months for free. No card details required. I would be happy if you give it a try and let me know what do you think, and perhaps share what you lack in existing solutions that you would like to see implemented here. Warmest wishes, Teymur. https://monohub.dev/ February 28, 2026 at 11:13PM

Friday, February 27, 2026

Show HN: Claude-File-Recovery, recover files from your ~/.claude sessions https://ift.tt/E92tTcp

Show HN: Claude-File-Recovery, recover files from your ~/.claude sessions Claude Code deleted my research and plan markdown files and informed me: “I accidentally rm -rf'd real directories in my Obsidian vault through a symlink it didn't realize was there: I made a mistake. “ Unfortunately the backup of my documentation accidentally hadn’t run for a month. So I built claude-file-recovery, a CLI-tool and TUI that is able to extract your files from your ~/.claude session history and thankfully I was able to recover my files. It's able to extract any file that Claude Code ever read, edited or wrote. I hope you will never need it, but you can find it on my GitHub and pip. Note: It can recover an earlier version of a file at a certain point in time. pip install claude-file-recovery https://ift.tt/DFQ1rhm February 27, 2026 at 08:26PM

Show HN: Interactive Resume/CV Game https://ift.tt/06J9LXG

Show HN: Interactive Resume/CV Game https://breezko.dev February 27, 2026 at 11:21PM