frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: A terminal viewer for plain text data files (JSON,YAML,CSV,XML,)

https://aless.tabnas.dev/
2•rjrodger•13h ago
When I started working hands-on with OpenAPI specifications, it became clear very quickly that using an editor to read large volumes of deeply nested JSON sucks, a very great deal. So I went looking for something to help, and came across https://jless.io This is an awesome terminal app for navigating nasty JSON documents. I am forever indebted to Paul Martinez for writing this tool.

But it did have some gaps. It couldn't reload files that had changed, keeping your place in the JSON structure, which I really needed. And it only loaded one file at a time. But unfortunately it was written in Rust, and I didn't know Rust, and back in the pre-AI days that was kind of a huge blocker.

But of course once we got models that could actually write decent code, the obvious idea came to me - I'll just add my features and submit a PR! Happy days. Except by that stage my requirements had grown - I also needed to handle many other file formats, like CSV, TOML, INI, and even XML. So I got side-tracked extending another side-project - an easy going JSON parser that supported comments, and trailing commas, the usual sort of thing.

During COVID, with a SaaS startup in the events space now on the rocks, I was looking for some distraction and decided to refactor this little easy-going JSON parser of mine. It used a generated parser and was slow. I read some blog posts about how all production-grade language parsers are pretty much hand-crafted recursive descent, and thought, how hard could it be!

Five years later, after many many fun experiments, and production use, I ended up with a runtime parser system: https://tabnas.dev This is a quirky approach to parsing that is partly recursive descent, partly a state machine, and mostly empirical hacking. It works, and it's pretty fast, and I use it for real projects. It has the nice property that grammars are dynamic - you don't generate code, the grammar is executed. A fancy regular expression engine, but revved up to parse anything into a proper abstract syntax tree.

Now with that in hand, I could return to the original project and create my own version of jless that solved the itches I needed to scratch: a watch mode; multiple tabs; load any data format into a tree structure

Now I still don't know Rust. I mean I like the idea, but there are only so many hours in the day. But now we have AI, so now I do get to go to the candy store. Combining jless.io, and tabnas.dev, and my requirements, I built (caused to be built?), aless - the less for any format!

Now this is also a nice stress test for the tabnas parsing engine, and I was very pleased about that too.

So if you need to review lots of data structure files on the command line, and need a terminal app to do so, this is for you. I can't help but be struck by the irony however that the need for such a thing is much less now - I mostly get agents to look at large JSON documents now. Still, our puny human brains need help sometimes, and this lets me review documents when I need to.

It is also really nice and satisfying to see how easy it is to now bring together open source components to create what is essentially personal software.

But I think the key thing out of this little project is that the basic physics of software development remain the same. Software should be built from components glued together. Components should have well-defined interfaces. Aim to reduce cognitive load - this is useful to both humans and machines.

Yes, the entire thing could be built from scratch, using a textual specification, and be a mire of over-engineered AI slop, and still be perfectly usable. But the way I actually built it, with AI as a coding companion, using components was deeply satisfying because I still understand the essence of the code, while being able to ignore the accidental complexity. Components give you another layer of abstraction with fewer things to think about, and that allows your human mind to stay in the game.

Show HN: Firenook – Firebase emulators in Rust: 40× faster writes, 10× less RAM

https://firenook.dev/
101•sanjevirau•18h ago•16 comments

Show HN: A decent text-to-image model trained for ~$20K (Apache 2.0 Weights)

https://www.linum.ai/field-notes/pjit-21k
207•schopra909•1d ago•19 comments

Show HN: Mantis – AI agents browse 36% faster than with Playwright MCP

https://github.com/perzianhq/mantis
3•aaditsingal7859•1h ago•0 comments

Show HN: Stroq – a local audit of what your coding agent did and why

https://github.com/AGGIB/Stroq
82•agybay_07•15h ago•30 comments

Show HN: HackerRepos – HackerTube for repos mentioned on HN

https://HackerRepos.fyi/
4•mmvvaa•8h ago•2 comments

Show HN: I built a tool that prices a pre-built PC part by part

https://pcdealcheck.com/
116•adlep•1d ago•82 comments

Show HN: TubeHaus – an open-source YouTube client with no Google account

https://github.com/biolend83/tubehaus
18•invidiouslove12•17h ago•5 comments

Show HN: After a decade of reversing, I got co-op working in DOS Wing Commander

https://fireflyk64.github.io/wcmulti/
249•daniel_rh•1d ago•36 comments

Show HN: Taskivities – where tasks follow you till they are done

https://www.taskivities.com/
2•y1426i•7h ago•1 comments

Show HN: 3-minute desk breaks based on Radio Taiso and Wordle

https://www.audioround.com/
4•riscii68•7h ago•0 comments

Show HN: Lab Canary – Rating AI labs on whether their staff can speak up

https://labcanary.com/
3•ap11071•8h ago•0 comments

Show HN: Stenvakt, a server hardening and patching tool

https://stenvakt.com/
2•ranwhatcom•8h ago•0 comments

Show HN: Gauge – Open-Source CLI to recursively improve your docs

https://github.com/gauge-sh/gauge-cli
40•0x63_Problems•1d ago•10 comments

Show HN: The DNA of DOOM – How code structure survives across 44 ports

https://squid-protocol.github.io/gitgalaxy/museum-of-code/doom-dna/
52•joe-esquibel•3d ago•29 comments

Show HN: Uncracked City, detective game where you question LLM suspects that lie

https://uncracked.city
127•passkey1510•2d ago•69 comments

Show HN: Curious HN – Hacker News without the snark

https://curioushn.com/about.html
10•cochne•1d ago•13 comments

Show HN: HackerTV – HN's most-recommended Youtube videos as 24/7 TV channels

https://hackertv.org
481•dsalzman•3d ago•82 comments

Show HN: HackerBooks – HackerTube, but for books mentioned on HN

https://hackerbooks.org
1860•roansh•4d ago•306 comments

Show HN: Get Better at Piano with Noodle

5•rahilb•20h ago•4 comments

Show HN: HackerGit – Every GitHub repo shared on HN

https://hackergit.org/
3•murtazayusuf•10h ago•5 comments

Show HN: Hand Your Markdown Tasks to Claude Code from a Kanban Board

https://blog.etherpk.com/hand-your-markdown-tasks-to-claude-code-from-a-kanban-board
3•gb2d_hn•10h ago•0 comments

Show HN: Subvocal – Talk to your computer without making noise

837•aarushyadav•3d ago•393 comments

Show HN: Nico – a two-agent type personal agent on your Mac

https://nico.app/
7•benjushi•20h ago•2 comments

Show HN: NextGen WAF – Native Prolog Server and Rule System

https://prologwaf.site/
2•lokinpendawa•4h ago•0 comments

Show HN: Lo-fi layered over air traffic control (recorded myself)

https://finalapproach.fm/
2•kkoppenhaver•12h ago•2 comments

Show HN: Sshole-audit – Find, prove and fix *sshole: the OpenSSH password bypass

https://github.com/schappim/sshole-audit
2•schappim•12h ago•0 comments

Show HN: Firefox extension to upload text to rentry quickly

https://addons.mozilla.org/en-US/firefox/addon/rear-entry/
3•madprops•4h ago•3 comments

Show HN: Kairos – Open-source risk and fraud decisioning platform

https://github.com/finic-ai/kairos
104•ayanb9440•2d ago•35 comments

Show HN: I've updated my Linux System Call website and API

https://syscall.sh/
237•guitmz•3d ago•56 comments

Show HN: The web needs more creativity and whimsy

https://ignition.github.io/press/
4•ignition•13h ago•0 comments