frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Cdecl-dump - represent C declarations visually

https://github.com/bbu/cdecl-dump
17•bluetomcat•6h ago•8 comments

Show HN: Spotify Wrapped but for LeetCode

https://github.com/collinboler/leetcodewrapped
27•collinboler2•12h ago•10 comments

Show HN: I replaced my premium workout app with vibecode

https://strengthquest.lovable.app/
5•maddmann•6h ago•1 comments

Show HN : WealthYogi - Net worth Tracker

https://apps.apple.com/gb/app/wealthyogi-net-worth-tracker/id6753881658
4•aalbatross•6h ago•0 comments

Show HN: FuseCells – a handcrafted logic puzzle game with 2,500 levels

https://apps.apple.com/us/app/fusecells-logic-grid-puzzle/id6754704139
34•keini•1d ago•24 comments

Show HN: Tascli, a command line based (human) task and record manager

https://github.com/Aperocky/tascli
41•Aperocky•1d ago•18 comments

Show HN: S3 compatible store with 1M IOPS(4K-R,p99~5ms), BYOC in 5min with rust

https://github.com/fractalbits-labs/fractalbits-main
22•fractalbits•23h ago•7 comments

Show HN: OpenFret – Guitar inventory, AI practice, and a note-detection RPG

https://openfret.com?referral=showhn
3•openfret•9h ago•0 comments

Show HN: Kraa – Writing App for Everything

https://kraa.io/about
125•levmiseri•3d ago•72 comments

Show HN: Onlyrecipe 2.0 – I added all features HN requested – 4 years later

https://onlyrecipeapp.com/?url=https://www.allrecipes.com/turkish-pasta-recipe-8754903
200•AwkwardPanda•3d ago•155 comments

Show HN: Minimal container-like sandbox built from scratch in C

https://github.com/Sahilb315/runbox
5•Sahil121•18h ago•0 comments

Show HN: Walrus – a Kafka alternative written in Rust

https://github.com/nubskr/walrus
156•janicerk•6d ago•49 comments

Show HN: Tacopy – Tail Call Optimization for Python

https://github.com/raaidrt/tacopy
94•raaid-rt•1w ago•53 comments

Show HN: Pbnj – A minimal, self-hosted pastebin you can deploy in 60 seconds

https://pbnj.sh/
67•bhavnicksm•2d ago•16 comments

Show HN: TapeHead – A CLI tool for stateful random access of file streams

https://github.com/emamoah/tapehead
19•emamoah•1d ago•4 comments

Show HN: HCB Mobile – financial app built by 17 y/o, processing $6M/month

https://hackclub.com/fiscal-sponsorship/mobile/
174•mohamad08•5d ago•65 comments

Show HN: MTXT – Music Text Format

https://github.com/Daninet/mtxt
123•daninet•1w ago•39 comments

Show HN: I was reintroduced to computers: Raspberry Pi

https://airoboticist.blog/2025/12/01/i-was-reintroduced-to-computers-raspberry-pi/
84•observer2022•5d ago•31 comments

Show HN: I was frustrated of 85% of my technical interviews, I built SharpSkill

https://sharpskill.fr/en
3•Enjoyooor•17h ago•1 comments

Show HN: Fresh – A new terminal editor built in Rust

https://sinelaw.github.io/fresh/
182•_sinelaw_•4d ago•149 comments

Show HN: I built a dashboard to compare mortgage rates across 120 credit unions

https://finfam.app/blog/credit-union-mortgages
388•mhashemi•4d ago•129 comments

Show HN: Radioactive Pooping Knights

https://minichessgames.com/#/play/pooping-knights
27•patrickdavey•2d ago•8 comments

Show HN: Sloppylint – A linter for AI-generated Python code

https://github.com/rsionnach/sloppylint
19•kyub•2d ago•3 comments

Show HN: Microlandia, a brutally honest city builder

https://microlandia.city
141•phaser•4d ago•25 comments

Show HN: AI Paul Graham

https://www.paulgraham-nia.com/
4•arlanrakh•21h ago•4 comments

Show HN: A Markdown document manager in Rust

https://www.seychl.app/
3•ranys•1d ago•0 comments

Show HN: Geetanjali – RAG-powered ethical guidance from the Bhagavad Gita

https://geetanjaliapp.com
4•vnykmshr•1d ago•1 comments

Show HN: RAG in 3 Lines of Python

https://pypi.org/project/piragi/
41•init0•4d ago•6 comments

Show HN: A Minimal Monthly Task Planner (printable, offline, no signup)

https://printcalendar.top/
93•defcc•4d ago•32 comments

Show HN: Marmot – Single-binary data catalog (no Kafka, no Elasticsearch)

https://github.com/marmotdata/marmot
100•charlie-haley•5d ago•21 comments
Open in hackernews

Show HN: Cdecl-dump - represent C declarations visually

https://github.com/bbu/cdecl-dump
17•bluetomcat•6h ago
A small tool that parses C declarations and outputs a simple visual representation at each stage, as it encounters arrays, pointers or functions.

The program uses a table-driven lexer and a hand-written, shift-reduce parser. No external dependencies apart from the standard library.

Comments

coherentpony•5h ago
I don’t understand what the visualisation screenshot in the README is trying to communicate to me.
bluetomcat•4h ago
It starts from the identifier. At every stage, it outputs a sub-expression which is the “mirrored use” and corresponds to the boxed representation below it. When it reaches the top of the expression, it prints the final type of the expression which is the lone specifier-qualifier list.

As per the screenshot, “arr” is an array of 4 elements. Consequently, “arr[0]” is an array of 8 elements. Then, “arr[0][0]” is a pointer. And so on, until we arrive at the specifier-qualifier list.

pcfwik•5h ago
Since this is about C declarations: for anyone who (like me) had the misfortune of learning the so-called "spiral rule" in college rather than being taught how declarations in C work, below are some links that explain the "declaration follows use" idea that (AFAIK) is the true philosophy behind C declaration syntax (and significantly easier to remember/read/write).

TL;DR: you declare a variable in C _in exactly the same way you would use it:_ if you know how to use a variable, then you know how to read and write a declaration for it.

https://eigenstate.org/notes/c-decl https://news.ycombinator.com/item?id=12775966

nitrix•2h ago
That is correct.

  int x, *p, arr[5], fn(), (*pfn)();
Using x, or dereferencing p, or subscripting the array arr, or declaring a function that can be called with fn, or dereferencing the function pointer pfn then calling it, all these things would produce an int.

It's the intended way to read/write declarations/expressions. As a consequence, asterisks ends up placed near the identifiers. The confused ones will think it's a stylistic choice and won't understand any of this.

saagarjha•2h ago
Of course, the correct way to use a function pointer is to call it.
nitrix•2h ago
Yes, the () operator dereference function pointers automatically for you for convenience. There's also the surprise that you can infinitely dereference function pointers as they just yield you more function pointers.
any1•52m ago
> It's the intended way to read/write declarations/expressions. As a consequence, asterisks ends up placed near the identifiers.

You know you don't always have to use things as they were intended?

> The confused ones will think it's a stylistic choice and won't understand any of this.

Well, I've written it both ways, and the compiler never seems to mind. :)

Maybe I should start putting space on both sides of the asterisk; seems like it would be a good way to annoy even more people.

pwdisswordfishy•3m ago
Blame Stroustrup.

https://www.stroustrup.com/bs_faq2.html#whitespace