Remix.run Logo
noir_lord a day ago

    news.ycombinator.com##:matches-path(/^\/(?:news)?$/) tr.athing:has(a:has-text(/AI|claude|A.I|harnesses|harness|OpenRouter|llm|vibecode|agi|deep learning|agent|TPU|GPT|DeepSeek|Anthropic/i)):xpath(. | following-sibling::tr[1])
I just have that in my Ublock Origin rules - it cuts the noise dramatically and if something gets through I just update the has(), it's a brute force approach.

Ironically the only reason I saw this post is because I was on my ipad :).

coldpie a day ago | parent | next [-]

Here's an extension I wrote to do the same idea, except it clicks the Hide link for each AI submission instead of just nuking the DOM node. This means when you load the front page again, HN will fill it in with articles from the 2nd page. Works pretty well. https://github.com/ColdPie1/enough-ai-on-hn

busymom0 a day ago | parent | prev [-]

I think you should replace vibecode with vibecod so that you can catch vibecoding too.

Also add "vibe cod" with a space.

And add token, Gemini, OpenAI, llama

noir_lord a day ago | parent [-]

Oh it absolutely will have issues (for example it'd hit Maintenance in a title because of AI), it was something I did in a fit of pique because I opened HN one day and ~2/3 of the stories where about AI/LLM's - great if that is what you want, annoying as hell if you like the other stuff much more.

There are about a million ways to do it better but I can accept the odd false positive :).

busymom0 a day ago | parent [-]

Yea, it will also block words like email, daily, main, domain, train etc as the term AI is case insensitive without word boundaries.

I used gemini to update it to:

    news.ycombinator.com##tr.athing:has(a:has-text(/\b(?:A\.?I\.?|A\.?G\.?I\.?|LLMs?|GPTs?|TPU|NPU|RAG|MoE|RLHF|xAI)\b|Anthropic|agent|super-?intelligence|Blackwell|Cerebras|ChatGPT|Claude|Cohere|Command\s*R|Context\s*window|Copilot|Cursor|DALL-E|deep\s*learning|DeepSeek|ElevenLabs|Fine-tun(?:e|ing)|Flux|Gemini|GenAI|Generative|Gemma|Grok|Groq|H100|Hallucination|harness(?:es)?|Hugging\s*Face|LangChain|Llama|LlamaIndex|Midjourney|Mistral|Ollama|OpenAI|OpenRouter|Perplexity|prompt|Qwen|Runway\s*(?:AI|ML)|Gen-[1-4](?:\.5)?|Sora|Synthetic\s*data|token|vibecod|vLLM|Whisper/i)):xpath(. | following-sibling::tr[1])
Note that blocking token, prompt, agent, and harness will also block things like auth tokens, SSH agents.

Here's how mine looks using my method:

https://imgur.com/a/P1qMIok

9 out of 30 posts have been removed.

Any improvements to above filter are welcome.