frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open Chaos: A self-evolving open-source project

https://www.openchaos.dev/
201•stefanvdw1•4h ago•32 comments

A Eulogy for Dark Sky, a Data Visualization Masterpiece (2023)

https://nightingaledvs.com/dark-sky-weather-data-viz/
298•skadamat•8h ago•132 comments

Rats caught on camera hunting flying bats

https://scienceclock.com/rats-caught-on-camera-hunting-flying-bats-for-the-first-time/
24•akg130522•2h ago•5 comments

Show HN: I used Claude Code to discover connections between 100 books

https://trails.pieterma.es/
13•pmaze•3h ago•1 comments

Drones that recharge directly on transmission lines

https://www.ycombinator.com/companies/voltair
100•alphabetatango•4h ago•75 comments

ASCII-Driven Development

https://medium.com/@calufa/ascii-driven-development-850f66661351
39•_hfqa•2d ago•21 comments

Side-by-side comparison of how AI models answer moral dilemmas

https://civai.org/p/ai-values
31•jesenator•1d ago•15 comments

New information extracted from Snowden PDFs through metadata version analysis

https://libroot.org/posts/going-through-snowden-documents-part-4/
227•libroot•9h ago•101 comments

Bichon: A lightweight, high-performance Rust email archiver with WebUI

https://github.com/rustmailer/bichon
23•rendx•1h ago•5 comments

Bindless Oriented Graphics Programming

https://alextardif.com/BindlessProgramming.html
9•ibobev•3d ago•0 comments

UK government exempting itself from cyber law inspires little confidence

https://www.theregister.com/2026/01/10/csr_bill_analysis/
247•DyslexicAtheist•6h ago•50 comments

Distributed Denial of Secrets

https://ddosecrets.com/
30•sabakhoj•2d ago•1 comments

UpCodes (YC S17) is hiring PMs, SWEs to automate construction compliance

https://up.codes/careers?utm_source=HN
1•Old_Thrashbarg•3h ago

“Erdos problem #728 was solved more or less autonomously by AI”

https://mathstodon.xyz/@tao/115855840223258103
586•cod1r•22h ago•326 comments

Httpz – Zero-Allocation HTTP/1.1 Parser for OxCaml

https://github.com/avsm/httpz
61•noelwelsh•3d ago•16 comments

GPU memory snapshots: sub-second startup (2025)

https://modal.com/blog/gpu-mem-snapshots
10•jxmorris12•2d ago•3 comments

How we made v0 an effective coding agent

https://vercel.com/blog/how-we-made-v0-an-effective-coding-agent
18•MaxLeiter•2d ago•7 comments

Good Judgment Open

https://www.gjopen.com
9•kaycebasques•2d ago•1 comments

Reverse Engineering the Epson FilmScan 200 for Classic Mac

https://ronangaillard.github.io/posts/reverse-engineering-epson-filmscan-200/
81•j_leboulanger•1w ago•6 comments

Creating Embroidered Charts with R and ImageMagick

https://aman.bh/blog/2025/creating-embroidered-charts-with-r-and-imagemagick
68•speckx•4d ago•4 comments

I replaced Windows with Linux and everything's going great

https://www.theverge.com/tech/858910/linux-diary-gaming-desktop
336•rorylawless•5h ago•273 comments

Sinclair C5

https://en.wikipedia.org/wiki/Sinclair_C5
5•jszymborski•16m ago•0 comments

Time Travelling and Fixing Bugs with Property-Based Testing (2019)

https://wickstrom.tech/2019-11-17-time-travelling-and-fixing-bugs-with-property-based-testing.html
17•todsacerdoti•4d ago•0 comments

Greenland sharks maintain vision for centuries through DNA repair mechanism

https://phys.org/news/2026-01-eye-greenland-sharks-vision-centuries.html
238•pseudolus•4d ago•103 comments

JavaScript Demos in 140 Characters

https://beta.dwitter.net
325•themanmaran•1d ago•59 comments

Changes to Android Open Source Project

https://source.android.com/
268•TechTechTech•3d ago•173 comments

Start your meetings at 5 minutes past

https://philipotoole.com/start-your-meetings-at-5-minutes-past/
252•otoolep•22h ago•211 comments

Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text

https://karl-voit.at/2017/09/23/orgmode-as-markup-only/
182•adityaathalye•11h ago•146 comments

How Markdown took over the world

https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/
391•zdw•1d ago•292 comments

Allow me to introduce, the Citroen C15

https://eupolicy.social/@jmaris/115860595238097654
622•colinprince•9h ago•408 comments
Open in hackernews

Pre-commit lint checks: Vibe coding's kryptonite

https://www.getseer.dev/blogs/pre-commit-linting-vibe-coding
13•akshay326•22h ago

Comments

seroperson•21h ago
TL;DR: Enable strict linting on CI, don't allow AI to change linting configuration.
akshay326•18h ago
Accurate TL;DR. Probably should've led with that instead of burying it 380 lines deep in an autopsy report :)
furyofantares•18h ago
They made an LLM bury their point in monotone oversold linkedin-style fluff text.

There's maybe a tweet worth of information contained in this tome.

akshay326•15h ago
thanks for the idea! https://x.com/akshay326_/status/2009856179854561476
throwawayffffas•20h ago
Use a linter that can auto fix some of the problems and have an automatic formatter. Ruff can do both. It will decrease your cleanup workload.

Don't get too hanged up on typing. Pythons duck typing is a feature not a bug. It's ok to have loose types.

On duplicate code, in general you should see at least two examples of a pattern before trying to abstract it. Make sure the duplication/similarity is semantic and not incidental, if you abstract away incidental duplication, you will very quickly find yourself in a situation where the cases diverge and your abstraction will get in your way.

In general coding agents are technical debt printers. But you can still pay it off.

akshay326•18h ago
Totally agree on the debt printer metaphor. I might steal it.
OutsmartDan•18h ago
If AI is writing and fixing all code, does linting even matter?
colechristensen•17h ago
Linting is a good guardrail for real code problems the LLM catches poorly.

LLM performance increases with non-LLM guardrails.

akshay326•15h ago
LLMs try to cheat. all sorts of evasive ways or smart tricks in some cases to avoid working on context-heavy tasks. i've constantly observed if left unchecked it tries to loosen the lint settings
vaishnavsm•18h ago
This seems to be focused on Python, but for all the TS devs out there, what you'll see will be implicit `any` errors. Quick word of warning on having LLMs fix those - they love to use explicit `any`s or perform `as any` casts. This makes the lint error disappear, but keeps the actual logic bug in the code.

Even if you ask it not to use any at all, it'll cast the type to `unknown` and "narrow" it by performing checks. The problem is that this may be syntactically correct but completely meaningless, since it'll narrow it down to a type that doesn't exist.

The biggest problem here is that all of these are valid code patterns, but LLMs tend to abuse them more than using it correctly.

anonzzzies•17h ago
We detect any use of any and the LLM has to fix them before our check succeeds. It does and works fine.
akshay326•15h ago
currently starting to do the same over seer's frontend, i didn't realise how simple yet effective this technique / guardrail could be!
Incipient•11h ago
Default linting in quasarsjs doesn't like unnecessary casts, or using 'any' types - AI generally then fixes it...in varying degrees of effectiveness - sometimes properly, sometimes with horrific type abominations.
atrooo•17h ago
Is anyone else tired of AI generated blog posts about AI generated code? What does the author even get out of it? Upvotes?
altmanaltman•17h ago
I don't understand why AI-generated text always resort to this pattern. It's not [x], but [y]. If you say that 10 times in a blog post, it's just really bad writing. There is no clarity and you say the same thing 15 times while using the stereotypical car salesman billboard voice. Here are some AI gems from the blog that was totally written by the dev in full ernest.

> Not ten. Not fifty. Five hundred and twenty-three lint violations across 67 files.

> You're not fixing technical debt—you're redefining "debt" until your balance sheet looks clean.

> These are design flaws, not syntax errors. They compile. They might even work. But they're code smells—early warnings that maintainability is degrading.

> AI-generated code is here to stay. That makes quality tooling more important, not less.

> This isn't just technical—it's a mindset change:

> It doesn't just parse your code—it analyzes control flow, tracks variable types, and detects logical errors that Ruff misses.

> No sales, no pitch—just devs in the trenches.

cheapsteak•17h ago
would PostToolUse be a better place to do it than pre-commit? (trigger on `"^(Edit|Write|MultiEdit)$"`)

for lint issues that are autofixable, the tool use can trigger formatting on that file and fix it right away

for type issues (ts, pyright), you can return something like `{\"hookSpecificOutput\":{\"additionalContext\":$escaped},\"continue\":true}"` to let the edit complete but let Claude know that there are errors to fix next turn

akshay326•15h ago
thanks i've not used PostToolUse but will checkout. i'm excited about Rust's autofixable issues promise. curious how effective they are, and how deep of a issue can they solve
andsmi2•17h ago
Part of my pattern now is forcing lint before push and also requiring code coverage % to stay above a certain threshold and all tests to pass. Sometimes this goes awry but honestly I have same problem with dev teams. This same thing should be done with dev teams. And I’ve had devs fix lint errors these bad ways same as llm as well as “fix” tests in and ways. Llm actually listens to my rules a bit better tha human devs — and the pre commit checks and pre merge checks enforce it.
akshay326•15h ago
amen! that's my bitter lesson for the time being, unless claude gets eerily better
Rantenki•17h ago
I am somewhat confused by this post. If the AI assistant is doing such a bad job that it lights up the linting tool, and further, is incapable of processing the lint output to fix the issues, then... maybe the AI tool is the problem?

If I hired a junior dev and had to give them explicit instructions to not break the CI/lint, and they found NEW ways to break the CI/lint again that were outside of my examples, I'd hopefully be able to just let them go before their probation period expired.

Has the probation period for AI already expired? Are we stuck with it? Am I allowed to just write code anymore?

akshay326•15h ago
i agree, the tool is indeed broken. its simultaneously stupid and smart in different ways. but i think there's some value in continuing to use and evaluate it
rcarmo•11h ago
Linting and proper tests are the reason why I can use even simple models to get a lot done—preferably writing the tests with a second model.
akshay326•2h ago
which simple models have you found good?