frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Keep Android Open

https://f-droid.org/2026/02/20/twif.html
1092•LorenDB•8h ago•424 comments

Turn Dependabot Off

https://words.filippo.io/dependabot/
275•todsacerdoti•4h ago•76 comments

CERN rebuilt the original browser from 1989

https://worldwideweb.cern.ch
83•tylerdane•3h ago•28 comments

I found a Vulnerability. They found a Lawyer

https://dixken.de/blog/i-found-a-vulnerability-they-found-a-lawyer
349•toomuchtodo•7h ago•169 comments

Facebook is cooked

https://pilk.website/3/facebook-is-absolutely-cooked
737•npilk•7h ago•437 comments

Ggml.ai joins Hugging Face to ensure the long-term progress of Local AI

https://github.com/ggml-org/llama.cpp/discussions/19759
669•lairv•12h ago•166 comments

Wikipedia deprecates Archive.today, starts removing archive links

https://arstechnica.com/tech-policy/2026/02/wikipedia-bans-archive-today-after-site-executed-ddos...
300•nobody9999•7h ago•173 comments

Cord: Coordinating Trees of AI Agents

https://www.june.kim/cord
16•gfortaine•57m ago•2 comments

OpenScan

https://openscan.eu/pages/scan-gallery
94•joebig•5h ago•3 comments

Show HN: Mines.fyi – all the mines in the US in a leaflet visualization

https://mines.fyi/
53•irasigman•5h ago•33 comments

What Is OAuth?

https://leaflet.pub/p/did:plc:3vdrgzr2zybocs45yfhcr6ur/3mfd2oxx5v22b
10•cratermoon•51m ago•0 comments

Claude Code's compaction discards data that's still on disk

https://github.com/anthropics/claude-code/issues/26771
9•aciccarelli2•1h ago•4 comments

Every company building your AI assistant is now an ad company

https://juno-labs.com/blogs/every-company-building-your-ai-assistant-is-an-ad-company
98•ajuhasz•7h ago•44 comments

Blue light filters don't work – controlling total luminance is a better bet

https://www.neuroai.science/p/blue-light-filters-dont-work
120•pminimax•8h ago•154 comments

Don't create .gitkeep files, use .gitignore instead

https://adamj.eu/tech/2023/09/18/git-dont-create-gitkeep/
35•frou_dh•3h ago•19 comments

Index, Count, Offset, Size

https://tigerbeetle.com/blog/2026-02-16-index-count-offset-size/
11•ingve•2d ago•0 comments

Across the US, people are dismantling and destroying Flock surveillance cameras

https://www.bloodinthemachine.com/p/across-the-us-people-are-dismantling
140•latexr•3h ago•39 comments

The true story behind the Toronto mystery tunnel

https://macleans.ca/society/elton-mcdonald-and-the-incredible-true-story-behind-the-toronto-myste...
31•mhb•3d ago•8 comments

Trump's global tariffs struck down by US Supreme Court

https://www.bbc.com/news/live/c0l9r67drg7t
1246•blackguardx•10h ago•1013 comments

Uncovering insiders and alpha on Polymarket with AI

https://twitter.com/peterjliu/status/2024901585806225723
80•somerandomness•8h ago•54 comments

The path to ubiquitous AI (17k tokens/sec)

https://taalas.com/the-path-to-ubiquitous-ai/
669•sidnarsipur•15h ago•383 comments

Lil' Fun Langs

https://taylor.town/scrapscript-000
94•surprisetalk•8h ago•11 comments

Lexega Turns SQL into Signals

https://lexega.com/blog/how-lexega-turns-sql-into-signals
7•whoami4041•2h ago•7 comments

Building a model that visualizes strategic golf

https://golfcoursewiki.substack.com/p/i-spent-the-last-month-and-a-half
37•scoofy•4d ago•14 comments

Legion Health (YC) Is Hiring Cracked SWEs for Autonomous Mental Health

https://jobs.ashbyhq.com/legionhealth/ffdd2b52-eb21-489e-b124-3c0804231424
1•ympatel•9h ago

Show HN: A native macOS client for Hacker News, built with SwiftUI

https://github.com/IronsideXXVI/Hacker-News
173•IronsideXXVI•12h ago•136 comments

How to Review an AUR Package

https://bertptrs.nl/2026/01/30/how-to-review-an-aur-package.html
55•exploraz•3d ago•7 comments

Be wary of Bluesky

https://kevinak.se/blog/be-wary-of-bluesky
86•kevinak•2h ago•62 comments

I found a useful Git one liner buried in leaked CIA developer docs

https://spencer.wtf/2026/02/20/cleaning-up-merged-git-branches-a-one-liner-from-the-cias-leaked-d...
613•spencerldixon•12h ago•216 comments

Making frontier cybersecurity capabilities available to defenders

https://www.anthropic.com/news/claude-code-security
95•surprisetalk•8h ago•50 comments
Open in hackernews

Don't create .gitkeep files, use .gitignore instead

https://adamj.eu/tech/2023/09/18/git-dont-create-gitkeep/
33•frou_dh•3h ago

Comments

yjftsjthsd-h•1h ago
I'm confused. Having a file gitignored doesn't stop you from committing it; AFAIK you can just

  touch build/.gitkeep
  git add build/.gitkeep
  git commit build/.gitkeep
And that's it? There's no need to exclude anything.
williadc•1h ago
The idea is that you don't want to check-in any builds.
yjftsjthsd-h•1h ago
Sure, so gitignore build/ or whatever. But you don't need to unignore .gitkeep
akerl_•52m ago
The idea is that instead of adding a nonsense file, you use the native .gitignore functionality.

".gitkeep" is just a human thing; it would work the same if you called it ".blahblah".

So their pitch is that if you want to explicitly keep the existence of the directory as a committed part of the repo, you're better off using the actual .gitignore functionality to check in the .gitignore file but ignore anything else in the directory.

I don't find it amazingly compelling; .gitkeep isn't breaking anything.

dwattttt•37m ago
This still confuses me. Do you mean to say "use the .gitignore functionality, and check in the .gitkeep file"?
cortesoft•1h ago
Not sure why you can’t just have your build script create the build directory?
andybak•1h ago
Because you might not have a build script?
suralind•1h ago
I want to like it, but I pretty much always have a "cleanup" script that just deletes the entire directory and touches a .gitkeep file. Obviously an even better pattern is to not have any .gitkeep files, but sometimes they are just handy.
macote•1h ago
The author is misusing .gitkeep. I use it to keep source code folders that don’t contain any code yet, but whose structure is already defined.
xyzzy_plugh•1h ago
Truly, what purpose does this serve? Defining a hierarchy without using is injecting immediate debt. Just introduce it when stuff goes there! If you really insist then at least put something in the folder. It doesn't take much effort to make the change at least a tiny bit meaningful.

Better yet just do the work. If you want make a commit in a branch that's destined to be squashed or something, sure, but keep it away from the shared history and certainly remove it when it's not needed anymore.

akoboldfrying•23m ago
> Truly, what purpose does this serve?

The simplest answer is that sometimes other existing software that I need to use treats an empty directory (or, hopefully, a directory containing just an irrelevant file like .gitkeep) differently from an absent directory, and I want that software to behave in the first way instead of the second.

A more thorough answer would be: Filesystems can represent empty directories, so a technology that supports versioned filesystems should be able to as well. And if that technology can't quite support fully versioned filesystems -- perhaps because it was never designed with that goal in mind -- but can nevertheless support them well enough to cover a huge number of use cases that people actually have, then massaging it a bit to handle those rough edges still makes sense.

abustamam•6m ago
I play around with ComfyUI on my computer to make silly images.

To manually install it, you must clone the repo. Then you have to download models into the right place. Where's the right place? Well, there's an empty directory called models. They go in there.

IMO that's an effective use of gitkeep.

peter-m80•1h ago
No, thanks
Arrowmaster•38m ago
The author makes a very common mistake of not reading the very first line of the documentation for .gitignore.

  A gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected; see the NOTES below for details.
You should never be putting "!.gitignore" in .gitignore. Just do `echo "*" > .gitignore; git add -f .gitignore`. Once a file is tracked any changes to it will be tracked without needing to use --force with git add.
ekipan•16m ago
Yeah, this. Plus a mistake from the article:

  $ echo '*\n!.gitignore' > build/.gitignore
The \n won't be interpreted specially by echo unless it gets the -e option.

Personally if I need a build directory I just have it mkdir itself in my Makefile and rm -rf it in `make clean`. With the article's scheme this would cause `git status` noise that a `/build/` line in a root .gitignore wouldn't. I'm not really sure there's a good tradeoff there.

AgentME•12m ago
If you have a project template or a tool that otherwise sets up a project but leaves it in the user's hands to create a git repo for it or commit the project into an existing repo, then it would be better for it to create a self-excepting .gitignore file than to have to instruct the user on special git commands to use later.
8cvor6j844qw_d6•25m ago
Is .gitkeep an established convention somewhere? I'm curious where the name originated.
abustamam•8m ago
Seems to originate form this SO post

https://stackoverflow.com/a/4250082/28422

jkubicek•12m ago
I'm not sure if I'm the one to blame for this or not, but the earliest reference to ".gitkeep" I can find online is my 2010 answer on Stack Overflow: https://stackoverflow.com/a/4250082/28422

If this is all my fault, I'm sorry.