frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Settling the File Structure Debate

https://muhammedsari.me/settling-the-file-structure-debate
24•moebrowne•7mo ago

Comments

GenerocUsername•7mo ago
Blog has a unique voice, but also the clear outline structure of a ChatGPT response.
hnuser123456•7mo ago
Yep, has em dashes all over.
CodeMage•7mo ago
The first time someone accused me of being a bot because I use em dashes for inserting parentheticals, I was flabbergasted and then pissed off. I have plenty of concerns about GenAI, but I honestly didn't expect one of the problems to be "using a wide variety of punctuation is frowned upon". What's next? "Only bots use the Oxford comma", maybe?

That said, this blog post does seem to use em dashes "incorrectly", at least according to what I've been taught. The way I've been taught to use them, they're not exactly the same thing as a comma and you cannot use them interchangeably. But perhaps I'm nitpicking.

(PS: If it's not clear, I'm not the author of the blog. I'm just someone who hates how the GenAI is contributing to the enshittification of communication.)

hnuser123456•7mo ago
Their presence isn't enough on its own, but combined with the tone and style, it definitely "feels" like the way chatgpt talks. The blog owner seems obsessed with productivity hacks so I wouldn't be surprised. At least you can feel confident knowing that people who write like you make up a significant portion of its training.
ttepasse•7mo ago
As someone who memorised the key combo for em dashes, curly quotes and guillemot's back in IRC days this notion depresses me.
tstrimple•7mo ago
The Old Man Who Yells at Clouds in me is convinced that soon the true tell for AI will be things like "used punctuation", "didn't misspell or shorten words", and "used an Oxford comma."

Maybe Ken was right: https://bsky.app/profile/kenchengceo.bsky.social/post/3llyr2...

wodenokoto•7mo ago
Could be a result of “clean up my post and fix the intro”
fellowniusmonk•7mo ago
The checkbox tables really stood out to me.
mcbishop•7mo ago
tl;dr from the bottom of the blog post:

> Type-based grouping is great for tech-focused tasks, consistent naming, and large sweeping changes.

> Context/process-based grouping shines for domain clarity, team ownership, debugging, and mapping business problems directly to code.

kiitos•7mo ago
...for PHP projects
karmakaze•7mo ago
It was never a question for me. If you consider visibility by package, domain grouping is clearly the right choice.
nayuki•7mo ago
The article is essentially an instance of the debate about hierarchical folders vs. tags for organizing a collection of files.
bulatb•7mo ago
At the risk of becoming that guy from the tabs vs. spaces meme: Why not both? Name folders by domain or topic and files by role, if you can.

  app/
    iam/
      orgs/
        models.xyz
      roles/
        models.xyz
Then any editor with file search can produce the type-based structure on demand.
keeganpoppen•7mo ago
this is part of what charmed me about svelte when i first learned about it a while back-- it really does seem like a better way in many ways.
Groxx•7mo ago
As much as I greatly prefer context-based grouping when I can get it, I find it breaks down in a few significant ways:

Contexts are not always (or even usually?) hierarchical and distinct. This leads to constant variance on if your IAM code belongs in "users", "auth", "access", "api", or even "iam" (and is that nested under something else or not?). Or maybe it's "middleware"? Wait the identity team is called "Galactus"... Every team makes different decisions, and while all may be defensible they're still different and can take a lot of time to figure out. Assuming anyone even knows, and it isn't just rolling along vaguely on its own inertia.

"Directly mirrors stakeholder language" does not always have any bearing on how a thing works or is built. To take the house example, sure, houses have doors and windows. They also have stuff hidden in walls, paperwork that buyers never see, and massive supply chains that nobody actually fully knows - are you modeling those too? They're part of a house's existence. But obviously you're not because you obviously only care about X and not Y... but really, how many times have you run across a business that fully agrees on what X is and is completely consistent on it? Some, surely, but vague sections are often natural because otherwise your market would be a solved problem.

And last (OTOH) but not least: business needs and concepts often change with time. Do you restructure your code to match that? At this point you're knee deep in the first one above, again, and if you don't complete it you're left with confusing tech debt.

---

Type-based layouts benefit greatly from not needing to think about it. Almost everyone is almost immediately able to put things in the right place, and know where to go to find something. Sure, it's a bit of a mess in there, but you've still cut out like 75% of the codebase and the task is now smaller.

Though obviously ^ this can break down rather badly when the remaining 25% is still much too large to search quickly.

12_throw_away•7mo ago
TBH I wish we didn't have to choose. There are a variety of ways folks might need to read the code, so why not have multiple views of the project, depending on how you want to look at it?
Wowfunhappy•7mo ago
> If there’s one unshakable prophecy in software development, it’s this: Your code will change.

> Maybe tomorrow. Maybe in six months. But change is coming faster than your next caffeine crash from the coffee you had this morning. Smart developers accept this upfront and set up their projects to embrace it, not fight it.

...this does depend on the project. If you're developing a video game, for example--a single player game like Zelda, not a service game like Fortnite--there actually is a point where your code won't change. Similarly, I used to work at an agency that specialized in one-off static websites tied to particular moments in time. While we did sometimes modify these websites post launch, the edits were minor and generally meant something had gone wrong, either on our end or the client's.

This is kind of unfair to the author. I point this out only because I think it's important to acknowledge that some software really is one and done, and it's important to know what kind of project you're doing. YAGNI and all that.

Annual Production of 1/72 (22mm) scale plastic soldiers, 1958-2025

https://plasticsoldierreview.com/ShowFeature.aspx?id=27
1•YeGoblynQueenne•34s ago•0 comments

Error-Handling and Locality

https://www.natemeyvis.com/error-handling-and-locality/
1•Theaetetus•1m ago•0 comments

Petition for David Sacks to Self-Deport

https://form.jotform.com/253464131055147
1•resters•2m ago•0 comments

Get found where people search today

https://kleonotus.com/
1•makenotesfast•4m ago•1 comments

Show HN: An early-warning system for SaaS churn (not another dashboard)

https://firstdistro.com
1•Jide_Lambo•5m ago•0 comments

Tell HN: Musk has never *tweeted* a guess for real identity of Satoshi Nakamoto

1•tokenmemory•5m ago•0 comments

A Practical Approach to Verifying Code at Scale

https://alignment.openai.com/scaling-code-verification/
1•gmays•7m ago•0 comments

Show HN: macOS tool to restore window layouts

https://github.com/zembutsu/tsubame
1•zembutsu•10m ago•0 comments

30 Years of <Br> Tags

https://www.artmann.co/articles/30-years-of-br-tags
1•FragrantRiver•16m ago•0 comments

Kyoto

https://github.com/stevepeak/kyoto
2•handfuloflight•17m ago•0 comments

Decision Support System for Wind Farm Maintenance Using Robotic Agents

https://www.mdpi.com/2571-5577/8/6/190
1•PaulHoule•18m ago•0 comments

Show HN: X-AnyLabeling – An open-source multimodal annotation ecosystem for CV

https://github.com/CVHub520/X-AnyLabeling
1•CVHub520•20m ago•0 comments

Penpot Docker Extension

https://www.ajeetraina.com/introducing-the-penpot-docker-extension-one-click-deployment-for-self-...
1•rainasajeet•21m ago•0 comments

Company Thinks It Can Power AI Data Centers with Supersonic Jet Engines

https://www.extremetech.com/science/this-company-thinks-it-can-power-ai-data-centers-with-superso...
1•vanburen•24m ago•0 comments

If AIs can feel pain, what is our responsibility towards them?

https://aeon.co/essays/if-ais-can-feel-pain-what-is-our-responsibility-towards-them
3•rwmj•28m ago•5 comments

Elon Musk's xAI Sues Apple and OpenAI over App Store Drama

https://mashable.com/article/elon-musk-xai-lawsuit-apple-openai
1•paulatreides•31m ago•1 comments

Ask HN: Build it yourself SWE blogs?

1•bawis•31m ago•1 comments

Original Apollo 11 Guidance Computer source code

https://github.com/chrislgarry/Apollo-11
3•Fiveplus•37m ago•0 comments

How Did the CIA Lose Nuclear Device?

https://www.nytimes.com/interactive/2025/12/13/world/asia/cia-nuclear-device-himalayas-nanda-devi...
1•Wonnk13•37m ago•0 comments

Is vibe coding the new gateway to technical debt?

https://www.infoworld.com/article/4098925/is-vibe-coding-the-new-gateway-to-technical-debt.html
1•birdculture•41m ago•1 comments

Why Rust for Embedded Systems? (and Why I'm Teaching Robotics with It)

https://blog.ravven.dev/blog/why-rust-for-embedded-systems/
2•aeyonblack•43m ago•0 comments

EU: Protecting children without the privacy nightmare of Digital IDs

https://democrats.eu/en/protecting-minors-online-without-violating-privacy-is-possible/
3•valkrieco•43m ago•0 comments

Using E2E Tests as Documentation

https://www.vaslabs.io/post/using-e2e-tests-as-documentation
1•lihaoyi•44m ago•0 comments

Apple Welcome Screen: iWeb

https://www.apple.com/welcomescreen/ilife/iweb-3/
1•hackerbeat•45m ago•1 comments

Accessible Perceptual Contrast Algorithm (APCA) in a Nutshell

https://git.apcacontrast.com/documentation/APCA_in_a_Nutshell.html
1•Kerrick•46m ago•0 comments

AI agent finds more security flaws than human hackers at Stanford

https://scienceclock.com/ai-agent-beats-human-hackers-in-stanford-cybersecurity-experiment/
3•ashishgupta2209•48m ago•2 comments

Nano banana prompts, updates everyday

https://github.com/fionalee1412/bestnanobananaprompt-github
4•AI_kid1412•51m ago•0 comments

Skills vs. Dynamic MCP Loadouts

https://lucumr.pocoo.org/2025/12/13/skills-vs-mcp/
3•cube2222•55m ago•0 comments

Top validated AI-SaaS Ideas are available here

1•peterbricks•59m ago•0 comments

UnmaskIP: A Clean, Ad-Free IP and Deep Packet Leak Checker

https://unmaskip.net
1•kfwkwefwef•1h ago•0 comments