MurphyA/hacker-news huggingface dataset:
by verisimilidude | 2025-12-29 05:21:49+00:00
I've been doing this for about three or four years. Clever idea, tricky in practice. I don't think I'd recommend this approach broadly. But it works for me.

It's definitely possible to take it too far. When most tags in your HTML are custom elements, it creates new readability problems. You can't immediately guess what's inline, what's block, etc. And it's just a lot of overhead for new people to learn.

I've arrived at a more balanced approach. It goes something like this:

If there's a native tag, like <header> or <article>, always use that first.

If it's a component-like thing, like an <x-card> or <x-hero>, then go ahead and use the custom tag. Even if it's CSS only, without JS.

If the component-like thing has sub-components, declare the pieces using slot attributes. There will be a great temptation to use additional custom tags for this, like <x-hero-blurb> inside <x-hero>. In my experience, a <div slot="hero-blurb"> is a lot more readable. The nice thing about this pattern is that you can put slot attributes on any tag, custom or otherwise. And yes, I abuse the slot attribute even when I'm only using CSS, without JS.

Why bother with all of this? I like to limit my classes to alteration, customization. When I see a <div slot="card-content" class="extra-padding-for-xyz">, it's easy to see where it belongs and what makes it unique.

Some of you will likely barf. I accept it. But this has worked well for me.
Show HN: AI-assisted approach to detecting patterns in network traffic
by viru7 | 2025-12-29 05:21:55+00:00
I’ve been experimenting with an AI-assisted approach to detecting patterns in network traffic.

For context, I maintain a project called Phone Home Detector, which analyses traffic between IP address pairs. It aggregates traffic into one-minute buckets and applies a set of fixed rules based on byte counts and transmission intervals.

I recently prototyped an extension that exposes transmission size and timing data through an MCP tool, making it queryable by an LLM. The goal is to explore whether an LLM can identify patterns that are difficult to capture using static rules alone.

This work is still experimental, and I’m not yet convinced it is an improvement over fixed-rule approaches. That said, I do find it interesting, and it may be a foundation for further exploration. The following is an example of a summary that it generates:

The data sizes sent to IP address 91.189.91.49 are mostly consistent at 200, after an initial size of 168, and the intervals at which they are sent vary without any apparent pattern.
Show HN: MCP Web Host
by init0 | 2025-12-29 05:22:33+00:00
Hey folks! I just launched https://mcphost.link/ a web-based MCP host that lets you connect to multiple remote MCP servers and interact with them through a simple chat interface.

Key Features

Multi-server support: connect to several MCP servers at once

OAuth 2.0 & Bearer Token auth (with PKCE)

Persistent sessions: servers + credentials saved locally

Full MCP features: tools, resources, prompts

LLM support: bring your own inference backend

The goal is to make exploring and working with the Model Context Protocol much more approachable.

Happy to answer questions, take feedback, or hear feature requests!
by 999900000999 | 2025-12-29 05:22:47+00:00
Or, we can expect better from software. Maybe someone can fork Firefox and make it run better, hard cap how much a browser window can use.

The pattern of lazy almost non existent optimization combined with blaming consumers for having weak hardware, needs to stop.

On my 16GB ram lunar lake budget laptop CachyOS( Arch) runs so much smoother than Windows.

This is very unscientific, but using htop , running Chrome/YouTube playing music, 2 browser games and VS code having Git Copilot review a small project, I was only using 6GBs of ram.

For the most part I suspect I could do normal consumer stuff( filing paperwork and watching cat videos) on an 8GB laptop just fine. Assuming I'm using Linux.

All this Windows 11 bloat makes computers slower than they should be. A part of me hopes this pushes Microsoft to at least create a low ram mode that just runs the OS and display manager. Then let's me use my computer as I see fit instead of constantly doing a million other weird things.

We don't *need* more ram. We need better software.
by Balgair | 2025-12-29 05:23:19+00:00
It's a storage thing. You can make it so that the parts fit together better in pieces, then you assemble the pieces in theatre during deployment, so you have more drones in combat per mothership.

It's not like taking crude, cracking it, then refining the plastics, yadda yadda yadda. It's more an fast automated assembly thing.
by heavyset_go | 2025-12-29 05:23:58+00:00
Firefox is set to allocate memory until a certain absolute limit or memory pressure is reached. It will eat memory whether you have 4GB of RAM of 40GB.

Set this to something you find reasonable: `browser.low_commit_space_threshold_percent`

And make sure tab unloading is enabled.

Also, you can achieve the same thing with cgroups by giving Firefox a slice of memory it can grow into.
by arjie | 2025-12-29 05:25:21+00:00
DRAM spot prices are something like what they were 4 years ago. Having RAM for cheap is nice. But it doesn't cost an extraordinary amount. I recently needed some RAM and was able to pick up 16x32 DDR4 for $1600. That's about twice as expensive as it used to be but $1600 is pretty cheap for 512 GiB of RAM.

A 16 GiB M4 Mac Mini is $400 right now. That covers any essential use-case which means this is mostly hitting hobbyists or niche users.
Show HN: My not-for-profit search engine with no ads, no AI, & all DDG bangs
by UnmappedStack | 2025-12-29 05:25:25+00:00
I've been working on a little open source [1] search engine, nilch. I noticed that nearly all well known search engines, including the alternative ones, tend to be run by companies of various sizes with the goal to make money, so they either fill your results with ads or charge you money, and I dislike this because search is the backbone of the internet and should not be commercial, so it runs in a not-for-profit style and aims to survive on donations. Additionally I'm personally really sick of AI in my search results so I got rid of that, and I wanted DuckDuckGo bangs so it supports all of them. Like many alternative search engines, it is fully private.

Sadly, it currently does not have its own index but rather uses the Brave search API. Once I'm in a financial position that it's possible, I would absolutely love to build a completely new index from the ground up which is open source, as well as an open source ranking and search algorithm, to back it.

I posted on Reddit and got an amazing amount of feedback which I implemented a number of feature requests, so I would really like your ideas, critiques, and bug reports as well. Thank you and sorry for the long post!

[1] https://github.com/UnmappedStack/nilch
by palata | 2025-12-29 05:26:56+00:00
> Even in PC gaming, the performance target tends to be the lowest performing current gen console, not the best PC.

I would have said "even static websites don't care about older hardware". I am very happy that Valve doesn't refresh the SteamDeck every year exactly for that reason: developers can target "the SteamDeck" instead of "the latest 3 SteamDecks" and force me to buy one every 3 years.
by mgraczyk | 2025-12-29 05:27:10+00:00
I think if you paste our conversation into ChatGPT it can explain the relevant upsampling algorithms. There are algorithms that will artificially enhance edges in a way that can look like "AI", for example everything done on pixel phones prior to ~2023

And to be clear, everyone including Apple has been doing this since at least 2017

The problem with what Samsung was doing is that it was moon-specific detection and replacement
by tombert | 2025-12-29 05:27:35+00:00
Mine was also 64GB. I was working at Apple at the time and I had a discount that I wanted to maximize, so I went onto the shop website and maxed out literally every option available to me. Total damage ended up being like 4 grand.

I don't remember it being super uncomfortably on my lap, though I almost exclusively wear very thick jeans so maybe I was somewhat shielded. It did get super hot.

Despite that, I did actually like the laptop a lot; it had a nice heavy weight to it, which was actually good for me since it felt very firm when I typed on it on my desk, and the keyboard was nice to type on. It benefited from low expectations because the laptop it was replacing was an Asus that was such a piece of shit that I swore a blood oath that I would never give Asus money ever again, which I have not broken.
by fastball | 2025-12-29 05:27:49+00:00
You might consider the field even for other reasons (which would make your comment something of a non-sequitur), but those adjectives certainly do not apply to Trump, regardless of what you think of the man and his politics. Trump very famously did not tick GOP checkboxes, and he has inspired a cultish following in a way that Clinton/Biden/Harris clearly cannot.
by throwaway7783 | 2025-12-29 05:27:51+00:00
Why is check if XYZ is called with return value ABC bad, as long as XYZ is an interface method?

Why is a minimally correct fake any better than a mock in this context?

Mocks are not really about order of calls unless you are talking about different return values on different invocations. A fake simply moves the cheese to setting up data correctly, as your tests and logic change.

Not a huge difference either way.
by ltbarcly3 | 2025-12-29 05:29:34+00:00
> Calling svn part of the problem is also kind of backwards - it has no bearing on the code quality itself

Lets just be Bayesian for a minute. If an organization can't figure out how to get off of svn, which is a dead and dying technology within 15-20 years of it being basically dead in most of tech then probably it's not not going to be nimble in other ways. Probably it's full of people who don't really do any work.

> Some of the internal wiki was migrated directly to Confluence (and lost all formatting and internal links in the process)

Dude this is what I mean. How did someone manage to mess this up? It's not exactly rocket science to script something to suck out of one wiki and shove into another one. But lets say it's hard to do (it's not). Did they just not even bother to look at what they did? They just figured "meh" and declared victory and then three were no consequences, nobody bothered to go back and redo it or fix it? Moving stuff between wiki's is an intern-skill-level task. This is another example that screams that the people at your work don't do their jobs and don't care about their work, and that this is tolerated or more likely not even noticed. Do you work for the government?

> Commit messages are really the only thing you can actually rely on.

I suspect you are exaggerating how reliable your commit messages are, considering.
Show HN: Snippets – Minimal local scratchpad for code and notes
by william_uk | 2025-12-29 05:29:35+00:00
I built Snippets (https://snippets.dev), a keyboard-first scratchpad for snippets, drafts, and quick notes. Everything is stored locally in the browser (localstorage). You can also install it as a PWA for quick access.

Feedback welcome - especially on UX, shortcuts, and what you’d want next.
by j34nsh33 | 2025-12-29 05:29:59+00:00
Fork of OpenAI's Codex CLI with a few additions:

- Subagents: Main session spawns specialized agents for exploration, execution, or research. Each streams in its own pane so you can watch tool calls and diffs in real-time.
- Persistent memory: Agent extracts knowledge from file reads, commands, and failures. Stores in SQLite per-project. Lessons and decisions never decay; other memories fade if unused.
- Live settings: Change config while the agent is mid-response. No need to restart the session.
- Codebase indexing: Integrates with sgrep for semantic search. Index builds in background, agent uses it for ranked code lookups.

Storage lives in .kaioken/memory/. Install via npm i -g @jayasuryajsk/codex-kaioken.
by palata | 2025-12-29 05:30:39+00:00
> You get new generation of CPUs / GPUs roughly once in two years. I'd say it's OK.

If you look at sustainability, it is obviously not okay.

And for what? Websites and mobile apps that get bulkier and less efficient slightly faster than the refresh cycle. I recently replaced my smartphone - not because I wanted to, but because the main app I use (like banking, nothing that should require a big CPU) were lagging so much that they were unusable. A banking app is supposed to print a few numbers to the screen, and yet it doesn't work on a 5 years old smartphone.
by rramadass | 2025-12-29 05:30:49+00:00
You are making mountains out of molehills.

This is the first time i have seen the auto-editorializing algorithm make a mess of the semantic meaning of a sentence which is certainly unfortunate. In most other cases (which are quite rare btw) it is generally much more benign. I presume the mods will be taking another look at their algorithm.

However, given the ways people try to influence the content on HN via title, language, brigading etc. it is good that the algorithm be strict rather than loose to prevent casual gaming of the system. And it works quite well contrary to your claim.
by bayesnet | 2025-12-29 05:31:50+00:00
> making the timing of the next run independent of the last via the memoryless property of the exponential distribution

Nit: you’re not relying on the memoryless property here but just plain old independent sampling. You’re right that memorylessness means that the elapsed time since the last job provides no information on when the job fires next, but this is orthogonal to the independence of the sleep intervals.
by OGEnthusiast | 2025-12-29 05:31:58+00:00
> At this current pace, if "the electorate" doesn't see real benefits to any of this. 2028 is going to be referendum on AI unfortunately.

Not saying this is necessarily a bad prediction for 2028, but I'm old enough to remember when the 2020 election was going to be a referendum on billionaires and big tech monopolies.
Show HN: Got tired of searching for AI news daily so I built my own AI news page
by lilsquid | 2025-12-29 05:32:26+00:00
Hacker News has been my homepage and my inspiration for many years. While I’m still learning the ropes of building a public website, I created DreyX.com out of a simple necessity: I wanted a better way to track AI news without all the fluff. Literally a tool built by a curious reader, for curious readers. Thoughts? Suggestions?
by zephen | 2025-12-29 05:32:36+00:00
> 2. Your software needs to be distributed with a license that is compatible with your dependencies. You can't add restrictions if your dependencies forbid that.

This is certainly what the FSF wants you to believe, but if you're not shipping the dependencies yourself, it's unlikely to be true.

You are coding to an _interface_, and if there's one thing that we have learned from a long series of court cases starting with Baker v Selden, continuing with Lotus v Borland, and including the brutally fought decade-long Oracle v Google, it is that the functional elements of an interface are simply not copyrightable.

Now to your point about no one using your project, that may or may not be true, but it is somewhat orthogonal to OSI licensure -- it is certainly possible to have your code under the OSI-approved GPL v2 (like the linux kernel) and a dependency that is under GPL v3, which might prevent you, yourself, from shipping them together.

It _may_ be that that incompatibility would be enough to keep your software off any possible linux distributions, but it certainly doesn't implicate you in any copyright infringement, as long as you don't ship the dependency yourself.
Show HN: DockMate – Terminal UI for Container Management
by shubh-io | 2025-12-29 05:34:34+00:00
Build Dockmate - Docker/Podman containers manager TUI application in Go using bubble-tea TUI framework.

Features:

- Container management (start/stop/restart/remove, logs)

- Real-time container monitoring (CPU, memory, disk I/O, etc.)

- View/Hide columns (Memory, Cpu, Net I/O, etc.)

- Compose project grouping

- Podman runtime support (switch easily)

- Persistent settings (YAML config)

- Info/Help panels with shortcuts

- Configurable Interactive Shell (/bin/sh, /bin/bash, etc.)

- Homebrew support

- One command-line installation

Works on both Linux and macOS!!

Demo Gif: https://github.com/shubh-io/DockMate/blob/main/assets/demo.g...

Github: https://github.com/shubh-io/DockMate
by erelong | 2025-12-29 05:36:22+00:00
just posting this because I struggled to figure it out for some reason; for doubled sided printing (duplex) with 6 months on each side:

https://abetusk.github.io/neatocal/?year=2026&start_month=0&...

https://abetusk.github.io/neatocal/?year=2026&start_month=6&...
by teaearlgraycold | 2025-12-29 05:36:23+00:00
I think the Deck's capability to be relevant for years into the future depends entirely on whether PC game developers target it as a platform. Many of the top best selling video games from the past few years struggle on the deck even on low settings (Baldur's Gate 3, Oblivion Remastered are a couple I've tried with rough results). Of course there's still a massive PC backlog and ample lower spec games released each year.

Is anyone here aware of whether developers are using the Deck as a minimum spec and thus their technical constraints?
by rastrian | 2025-12-29 05:37:26+00:00
You can get most of the “ADT/state-machine reliability” benefits in Python by combining static checking + tagged unions + boundary validation:

Model states as tagged unions (Union + Literal + dataclass(frozen=True)), use match (Py3.10+) and add assert_never so type checkers complain when you forget a case.

Run Pyright (strict) or mypy –strict in CI so “illegal states” show up as build failures, not incidents.

Validate/parsing at boundaries (HTTP/queues) with Pydantic discriminated unions (tagged unions at runtime), then keep internals typed.

For expected failures, prefer an explicit Result (e.g., returns) over exceptions-as-control-flow.

Use Ruff for lint/consistency (it’s not a type checker, but pairs well with one).

References here:

Pyright: https://microsoft.github.io/pyright/
mypy --strict: https://mypy.readthedocs.io/en/stable/getting_started.html
PEP 634 (match): https://peps.python.org/pep-0634/
assert_never & exhaustiveness guide: https://typing.python.org/en/latest/guides/unreachable.html
typing_extensions (backports): https://typing-extensions.readthedocs.io/
Pydantic discriminated unions: https://docs.pydantic.dev/latest/concepts/unions/
returns Result: https://returns.readthedocs.io/en/latest/pages/result.html
Ruff FAQ: https://docs.astral.sh/ruff/faq/
by arjie | 2025-12-29 05:39:06+00:00
Ignoring all the practical considerations, the one thing I am positively in favour of is naming warships things which we can all believe in, so USS Defiance is great. I've always enjoyed the US submarines San Francisco and even District of Columbia, and the Chinese ships Liaoning and Nanchang, as an example. But my favourite names have to be the British names Formidable, Invincible, and Audacious. Now that I can get behind.
by hn_throwaway_99 | 2025-12-29 05:40:25+00:00
Wow, this is an economics-free take if I've ever heard one. And calling it scalping feels laughable.

There are multiple RAM providers. Datacenters, many competing ones, are gobbling up RAM because there is currently a huge demand. And, unlike actual ticket scalpers, datacenters perform a very valuable service beyond just reselling the RAM. After all, end users could buy up RAM and GPUs themselves and build their own systems (which is basically what everybody did as recently as the early 00s), but they'd rather rent it because it's much less risky with much less capex.

This is simply run-of-the-mill supply and demand. You might convince me there was something nefarious if there was widespread collusion or monopoly abuse, and while some of the circular dealing is worrisome, it's still a robust market with multiple suppliers and multiple competitors in the datacenter space.
by nebula8804 | 2025-12-29 05:40:36+00:00
>I’m working on stuff that I can’t say too much about. But let’s just say there is a way out from this - but it will require the smartest minds and folks starving for change to come together and create the change we want. Sometimes an environment that creates a desperate need for change can be a good thing.

Let me guess, its a new Web Framework isn't it? :P
Show HN: Z80-μLM, a 'Conversational AI' That Fits in 40KB
by quesomaster9000 | 2025-12-29 05:41:24+00:00
How small can a language model be while still doing something useful? I wanted to find out, and had some spare time over the holidays.

Z80-μLM is a character-level language model with 2-bit quantized weights ({-2,-1,0,+1}) that runs on a Z80 with 64KB RAM. The entire thing: inference, weights, chat UI, it all fits in a 40KB .COM file that you can run in a CP/M emulator and hopefully even real hardware!

It won't write your emails, but it can be trained to play a stripped down version of 20 Questions, and is sometimes able to maintain the illusion of having simple but terse conversations with a distinct personality.

--

The extreme constraints nerd-sniped me and forced interesting trade-offs: trigram hashing (typo-tolerant, loses word order), 16-bit integer math, and some careful massaging of the training data meant I could keep the examples 'interesting'.

The key was quantization-aware training that accurately models the inference code limitations. The training loop runs both float and integer-quantized forward passes in parallel, scoring the model on how well its knowledge survives quantization. The weights are progressively pushed toward the 2-bit grid using straight-through estimators, with overflow penalties matching the Z80's 16-bit accumulator limits. By the end of training, the model has already adapted to its constraints, so no post-hoc quantization collapse.

Eventually I ended up spending a few dollars on Claude API to generate 20 questions data (see examples/guess/GUESS.COM), I hope Anthropic won't send me a C&D for distilling their model against the ToS ;P

But anyway, happy code-golf season everybody :)
by arjie | 2025-12-29 05:41:37+00:00
Server stuff. Nothing interesting. Supermicro H11 + Epyc 7xxx + RAM. I have a 6x4090 setup for local LLMs and I got myself a 128 GB M4 Max laptop thinking I'd do that, but if I'm being honest I need to get rid of that hardware. It's sitting idle because the SOTA ones are so much better for what I want.
by efreak | 2025-12-29 05:41:48+00:00
To be fair, that's on the user. It's a trade-off the user is making, knowing that there's poorly made sites out there and sites that actively depend on JavaScript to function (sometimes because JavaScript is the only way they can function, but usually because someone's never heard of progressive enhancement). In the past, turning off JavaScript was a functional way to prevent things from running and to make sites load faster; today ads and progressive enhancement and optional functionality are hardly the only usage of JavaScript: lazy loading variable-size content (via fragments or otherwise) causes scroll issues if you're trying to go for performance on a complex layout. CSS containment and content-visibility with contain-intrinsic-size help solve this, but they're pretty new.