Monday, March 2, 2026

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

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/Pns3HSZ https://ift.tt/Pns3HSZ March 2, 2026 at 01:48AM

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

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 2, 2026 at 12:57AM

Show HN: Panel Panic a Rust/Macroquad/WASM Panel de Pon/Tetris Attack Clone https://ift.tt/5djvNWU

Show HN: Panel Panic a Rust/Macroquad/WASM Panel de Pon/Tetris Attack Clone Rust/macroquad game with single player AI mode, online VS, and local 1v1. All running via WASM in the browser. Still WIP as art assets still need to be added and tweaked. Full disclosure. Used Claude Opus, Nanobanana, and SunoAI a huge amount to do the heavy lifting for this project https://panel-panic.com March 1, 2026 at 10:48PM

Sunday, March 1, 2026

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

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/ March 1, 2026 at 12:43AM

Show HN: Tomoshibi – A writing app where your words fade by firelight https://ift.tt/K2f5zan

Show HN: Tomoshibi – A writing app where your words fade by firelight I spent ten years trying to write a novel. Every time I sat down, I'd write a sentence, decide it wasn't good enough, and rewrite it. The problem wasn't discipline — it was that I could always see what I'd written and go back to change it. I tried other approaches. Apps that delete your words when you stop typing — they fight fear with fear. That just made me panic. I wanted the opposite: not punishment, but permission. "Tomoshibi" is Japanese for a small light in the dark — just enough to see what's in front of you. You write on a dark screen. Older lines fade, but not when you hit return. They fade when you start writing again. If you pause, they wait. You can edit the current line and one line back — enough to fix a typo, not enough to spiral. The one-line-back rule also catches my own practical issue: Japanese IME often fires an accidental newline on kanji confirmation. Everything is saved. There's a separate reader view for going back through what you've written. Tomoshibi is for writing over months, not just one session. When you come back, your last sentence appears as an epigraph — as if it always belonged there. No account, no server, no build step. Your writing stays in your browser's local storage — export anytime as .txt. Vanilla HTML/CSS/ES modules. Try it in your browser. A native Mac app (built with Tauri) with file system integration is coming to the store. I've been writing on it for two months. https://ift.tt/pbWkY0z https://ift.tt/m4MLbno February 28, 2026 at 10:42PM

Saturday, February 28, 2026

Show HN: BananaOS, vibecoded operating system that boots on a 486 with ~11MB RAM https://ift.tt/bp7LqOY

Show HN: BananaOS, vibecoded operating system that boots on a 486 with ~11MB RAM My 10-year-old son has been deep in low-level rabbit holes lately and ended up vibe-coding his own operating system. Since he’s still a kid and not on HN himself, I’m posting this on his behalf with his permission. This started as curiosity about how computers actually boot, and somehow escalated into writing a kernel, building a GUI, and setting up CI that produces a bootable OS image on every commit. BananaOS is a small experimental operating system built mainly for learning and exploration of low-level systems programming. It currently targets i386 BIOS systems and is designed to run on extremely constrained hardware. Fun fact: Wallpaper logic, one of the most important OS functionalities, is directly implemented in the kernel. That cracked my son up! Some highlights: Multiboot-compliant kernel loaded via GRUB VESA framebuffer graphics with double buffering Custom window manager with movable and resizable windows Dock-style application launcher PS/2 keyboard and mouse input handling PCI enumeration and AHCI SATA support Basic applications (terminal, notepad, calculator, file explorer, settings) Memory detection and allocation based on available RAM Boots in QEMU with about 11.2 MB RAM Includes an ISR workaround to emulate CMOV so it can boot on Intel 486 CPUs One thing I found particularly fun: he also added GitHub Actions workflows that automatically build the OS image for every commit, so the repo continuously produces fresh bootable artifacts. The project is very much experimental and should only be run inside an Virtual Machine. Repo (with build instructions and screenshots): https://ift.tt/XTNhz3r Quick start (only on Linux, check dependencies, and see README): git clone https://ift.tt/XTNhz3r cd BananaOS make qemu-system-i386 -cdrom bananaos.img -m 128M Retro mode: qemu-system-i386 -cpu 486 -cdrom bananaos.img -m 11.2M He’s mainly building this to understand kernels, memory management, drivers, and how operating systems actually work below user space. Feedback from people who have built hobby operating systems or worked close to hardware would be especially appreciated. February 27, 2026 at 11:13PM

Show HN: Unfudged – version every change between commits - local-first https://ift.tt/TQDungw

Show HN: Unfudged – version every change between commits - local-first I built unf after I pasted a prompt into the wrong agent terminal and it overwrote hours of hand-edits across a handful of files. Git couldn't help because I hadn't finished/committed my in progress work. I wanted something that recorded every save automatically so I could rewind to any point in time. I wanted to make it difficult for an agent to permanently screw anything up, even with an errant rm -rf unf is a background daemon that watches directories you choose (via CLI) and snapshots every text file on save. It stores file contents in an object store, tracks metadata in SQLite, and gives you a CLI to query and restore any version. The install includes a UI, as well to explore the history through time. The tool skips binaries and respects `.gitignore` if one exists. The interface borrows from git so it should feel familiar: unf log , unf diff , unf restore . I say "UN-EF" vs U.N.F, but that's for y'all to decide: I started by calling the project Unfucked and got unfucked.ai, which if you know me and the messes I get myself into, is a fitting purchase. The CLI command is `unf` and the Tauri desktop app is called "Unfudged". How it works: https://ift.tt/NhSEFbR (summary below) The daemon uses FSEvents on macOS and inotify on Linux. When a file changes, `unf` hashes the content with BLAKE3 and checks whether that hash already exists in the object store — if it does, it just records a new metadata entry pointing to the existing blob. If not, it writes the blob and records the entry. Each snapshot is a row in SQLite. Restores read the blob back from the object store and overwrite the file, after taking a safety snapshot of the current state first (so restoring is itself reversible). There are two processes. The core daemon does the real work of managing FSEvents/inotify subscriptions across multiple watched directories and writing snapshots. A sentinel watchdog supervises it, kept alive and aligned by launchd on macOS and systemd on Linux. If the daemon crashes, the sentinel respawns it and reconciles any drift between what you asked to watch and what's actually being watched. It was hard to build the second daemon because it felt like conceding that the core wasn't solid enough, but I didn't want to ship a tool that demanded perfection to deliver on the product promise, so the sentinel is the safety net. Fingers crossed, I haven’t seen it crash in over a week of personal usage on my Mac. But, I don't want to trigger "works for me" trauma. The part I like most: On the UI, I enjoy viewing files through time. You can select a time section and filter your projects on a histogram of activity. That has been invaluable in seeing what the agent was doing. On the CLI, the commands are composable. Everything outputs to stdout so you can pipe it into whatever you want. I use these regularly and AI agents are better with the tool than I am: # What did my config look like before we broke it? unf cat nginx.conf --at 1h | nginx -t -c /dev/stdin # Grep through a deleted file unf cat old-routes.rs --at 2d | grep "pub fn" # Count how many lines changed in the last 10 minutes unf diff --at 10m | grep '^[+-]' | wc -l # Feed the last hour of changes to an AI for review unf diff --at 1h | pbcopy # Compare two points in time with your own diff tool diff <(unf cat app.tsx --at 1h) <(unf cat app.tsx --at 5m) # Restore just the .rs files that changed in the last 5 minutes unf diff --at 5m --json | jq -r '.changes[].file' | grep '\.rs$' | xargs -I{} unf restore {} --at 5m # Watch for changes in real time watch -n5 'unf diff --at 30s' What was new for me: I came to Rust in Nov. 2025 honestly because of HN enthusiasm and some FOMO. No regrets. I enjoy the language enough that I'm now working on custom clippy lints to enforce functional programming practices. This project was also my first Apple-notarized DMG, my first Homebrew tap, and my second Tauri app (first one I've shared). Install & Usage: > brew install cyrusradfar/unf/unfudged Then unf watch in a directory. unf help covers the details (or ask your agent to coach). https://ift.tt/fJuIUnb February 27, 2026 at 03:00AM

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

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 ...