MurphyA/hacker-news huggingface dataset:
Show HN: EasyMemory – 100% local memory layer and MCP for LLMs
by justvugg | 2026-02-19 14:08:49+00:00
Hi everyone,
I have created EasyMemory: a lightweight, fully local memory backend for chatbots, agents and any MCP-compatible LLM (Claude, GPT, Gemini, Ollama…).
Key points:
• Auto-saves every conversation
• Ingests PDFs, DOCX, Markdown vaults, folders
• Hybrid retrieval: vector + keyword + graph (no extra libs needed)
• Built-in MCP server → plug into Claude Desktop, custom agents, etc.
• 100% offline, data in ~/.easymemory
• Enterprise extras: OAuth2, API keys, rate limiting, audit logs
• Bonus: Slack JSON import, Notion/GDrive folder indexing
Quick start (MCP server):

easymemory-server --port 8100

Then point Claude Desktop or your agent to http://localhost:8100/mcp.
Or chat with Ollama:

easymemory-agent --provider ollama --model llama3.1:8b

Python usage:

from easymemory.agent import EasyMemoryAgent
async with EasyMemoryAgent(llm_provider="ollama", model="llama3.1:8b") as agent:
print(await agent.chat("Remember: I prefer dark mode."))
# Later...
print(await agent.chat("What UI do I prefer?")) # → "You prefer dark mode"

MIT licensed, minimal deps, early stage.
Repo: https://github.com/JustVugg/easymemory
Looking for feedback on:
• What retrieval mix works best for your long-term memory needs?
• Pain points with current local memory solutions?
• Nice-to-have integrations?
Thanks!
by cdr420 | 2026-02-19 14:09:17+00:00
Hi HN! I built TextWeb because I was burning tokens on vision models just to let AI agents fill out job applications.

TextWeb renders pages as structured text grids (~2-5KB) instead of screenshots (~1MB). Any LLM can read the output natively, no vision model needed. Interactive elements get reference numbers like [3]Click me and [7:____] Search, so agents say "click 3" or "type 7 hello".

How it works: Headless Chromium renders the page normally, then TextWeb extracts every visible element's position, text, and interactivity and maps it onto a character grid. Spatial layout is preserved. Things next to each other on screen are next to each other in text.

Integrations: MCP server (Claude Desktop, Cursor, Windsurf), OpenAI/Anthropic function-calling tool definitions, LangChain, CrewAI, HTTP API, CLI, Node.js library.

npm install -g textweb

Would love feedback on the grid format and what integrations would be most useful.
by simondanisch | 2026-02-19 14:09:45+00:00
I've done lots of manually refactoring of the initial Prototype in Trace.jl (by Anton Smirnov, who I think ported an earlier version of the pbrt book).
This helped familiarizing myself with the math and infrastructure and the general problems a raytracer faces and lay the ground work for the general architecture and what to pay attention to for fast GPU execution. One key insight was, that its possible to not need to have an UberMaterial, but instead use a MultiTypeSet for storing different materials and lights, which allows fast and concretely typed iterations.

Then I found that pbrt moved away from the initial design and I used claude code to port large parts of the new C++ code to Julia. This lead to a pretty bad port and I had lots of back and forth to fix bugs, improve the GPU acceleration, make the code more concise and "Julian" and correct the AIs mistakes and bogus design decisions ;) This polish isn't really over yet, but it works well enough and is fast enough for a beta release!
by unyttigfjelltol | 2026-02-19 14:10:11+00:00
> in the context of Persian … "marg bar Aamrikaa". If you ask the default/free model on ChatGPT to translate, it will simply tell you it means 'Death to America'. It won't tell you "marg bar ..." is a poetic way of saying 'down with ...'.

All this time the Persian chants only signified polite policy disagreement? Hmmm, something fishy about this….

Edit: isn’t the alleged double-meaning exactly how radicalized factions drag a majority to a conclusion they actively disagree with? Some in the crowd literally mean what they say, many others are being poetic and only for that reason join in. But when it reaches American ears, it’s literally a death wish (not the majority intent) and thus the extremists seal a cycle of violence.
by cdegroot | 2026-02-19 14:10:14+00:00
It's... "different". I think there are two big things going on: one is the fact that "refactoring" never ends, as you can mold the language around your problem. Ultimately that level of expressiveness makes the hard parts of your code more concise, more readable (as the code ends up being closer to the domain at hand), and therefore more maintainable.

The other thing, which it shares with Smalltalk and which I've seen pretty much nowhere else (Erlang comes very close) is the interactivity. You code inside a running system. Yes, other languages have things they call "the REPL", but they can't deal with classes changing shape, reloading code, etc. It makes the coding cycle much shorter, quicker feedback is better feedback, so you end up going faster (and iterating through complex stuff like that macro that will really nail how clean your top level code is will be much more doable)

When I mentor coders, I often talk about malleable code, like the clay on a potter's table. As soon as you stop working it, things start solidifying and your code turns into something unchangeable and brittle. I think Lisp's traits (which I otherwise only found in Smalltalk) help you push back that point, maybe indefinitely.
by clairegraham | 2026-02-19 14:10:26+00:00
What issues did you have? I have a 2016 (catalina) and a 2017 MBP (ventura) and they connect to my ubiquiti AP (5G / WPA3) at least. Haven’t tried others in a long time. I do have completely separate 2.4 and 5 GHz SSIDs so that may be related.

I did have issues with these machines running Linux due to driver support (broadcom BCM43xx) but USB to ethernet worked fine.
by Schmerika | 2026-02-19 14:10:36+00:00
Schumpeter argued that modern states require administrative scale.

That’s different from saying corporate power should dominate democracy.

Btw, just curious if you ever think about how much wild biomass we've lost since the 1930s? Or how many species have been utterly lost. How has our climate fared over the past 100 years? And how much of that is directly due to unchecked corporate power?
by Copernicron | 2026-02-19 14:10:45+00:00
I've found that your experience with GrapheneOS greatly depends on which country you're in and which mobile provider you use. I'm on Freedom Mobile in Canada and I had enough issues that I went back to stock. RCS didn't work at all, and my phone would regularly lose the cellular connection to the point I had to reboot the phone and reset the cellular network settings. I didn't feel like I could trust it in an emergency situation so I reverted. There are also times I'm out of cell coverage and having satellite SOS would be invaluable.

Some of these issues are known and some are just features the project won't support. Last I heard they aren't going to support satellite messaging at all.
Show HN: RepoSweeper – Bulk GitHub action: archive, delete, collab, visibility
by shortgiraffe | 2026-02-19 14:11:54+00:00
I built this in 2018 as a school project to bulk delete GitHub repos. It got 25k views on Medium and ~10k users organically, then I basically ignored it for years.

Recently I dug into GitHub's community discussion board and some low hanging fruit for feature additions — archive, visibility changes, collaborator cleanup.

GitHub's answer was always "use the API." So I built the UI.

RepoSweeper now does:
- Bulk archive / unarchive
- Bulk visibility (public ↔ private)
- Bulk collaborator add/remove
- Staleness scoring so you know what to act on first
- Handles 100+ repos with persistent selection across pages

It's free forever. Just GitHub auth, no install.

https://reposweeper.com

Also wrote about how it evolved today if curious:
https://medium.com/@osoh_app/github-has-no-bulk-anything-so-...

Let me know if you have any feedback. I'm also working on RepoRecap which is more of a productivity summary tool for individual devs.
by StopDisinfo910 | 2026-02-19 14:11:55+00:00
Not really, no. You can get localised unification but bidir as a whole like in Rust but you lose most of the advantage of unification. Hybrid systems are bidir for parts, unification for others.

But, I maintain that what the article calls HM is trully unification independantly of what's above. This is not about algorithm W. It's actually about the tension between solving types as a large constraint problem or using annotations to check.
by Ray20 | 2026-02-19 14:11:56+00:00
Regardless of how you feel about content moderation, we are talking about a situation where the government is DEMANDING corporations to implement automated, totalitarian surveillance tools. This is the key factor here.

The next step would be for the government to demand direct access to these tools. Then the government would be able to carry out holocausts against any ethnic group, only 10 times more effectively and inevitably than Hitler did.
by bArray | 2026-02-19 14:11:57+00:00
> The UK is bracketing "intimate images shared without a victim's consent" along with terror and child sexual abuse material, and demanding that online platforms remove them within two days.

Bare in mind, this would have been used to stop the Epstein images of the former Prince Andrew from being viewed [1].

> Platforms that do not do so would potentially face fines of 10 percent of "qualifying worldwide income" or have their services blocked in the UK.

Why on earth would it be 10% of their world wide income and not their UK-based income? These politicians really think they have more power than they really do.

> The amendment follows outrage over the Elon Musk-owned chatbot Grok's willingness to generate nude or sexualized images of people, mainly women and girls, which forced a climbdown earlier this year.

The AI didn't just randomly generate NSFW content, it did it at the request of the user. Remember, there was no interest in removing the CP content from Twitter prior to Musk buying it, and then they all moved to Mastodon / BlueSky where they now share that content.

> The government said: "Plans are currently being considered by Ofcom for these kinds of images to be treated with the same severity as child sexual abuse and terrorism content, digitally marking them so that any time someone tries to repost them, they will be automatically taken down."

Ofcom simply doesn't have this kind of power. 4chan are showing as much [2]. This is simply massive overreach by the UK government, and I would advise tech giants to stop complying.

[1] https://www.bbc.co.uk/news/articles/c4g5490xmkeo

[2] https://www.bbc.co.uk/news/articles/cz6ejedj59no
by eddyg | 2026-02-19 14:12:03+00:00
Tailscale is not marketed as an "anonymity VPN". You're still using the devices in your Tailnet.

Tailsacle provides managed, policy-driven secure connectivity, where the network admin controls access, and where packet payloads are end-to-end encrypted between their nodes using device-to-device links that are WireGuard-based. Their TCP relay system (DERP) helps connectivity when direct peer-to-peer isn’t possible, but traffic through DERP still remains end-to-end encrypted.
by iamnothere | 2026-02-19 14:12:54+00:00
It’s called “managed democracy” (or guided democracy apparently) and it’s what happens when a democracy decays into authoritarian governance. https://en.wikipedia.org/wiki/Guided_democracy

There is also the related term “defensive democracy”, supposedly different but in practice the end result is the same. In both cases the democratic process is failing to achieve the results desired by those in power, so forceful intervention is used to steer future results.
by cdegroot | 2026-02-19 14:13:06+00:00
I went for the somewhat humbler reasons of "I can assume that my reader will know it at least a bit" and "simple to obtain" - a bunch of the examples will run in the browser :-)

But yes, JS' dynamic/LISP-y roots did make my examples simple to implement and thus simple to follow. No trickery was needed, it was all pretty straightforward.

(JS is a much maligned language and for very good reasons, it had a shaky past and still is too full of warts that should be excised at some point. But modern JS with the help of modern IDEs isn't actually _that_ terrible and traits like it being prototype-based make some otherwise complicated things easy)
Show HN: Axon – Let coding agents develop their own framework on Kubernetes
by gjkim042 | 2026-02-19 14:13:09+00:00
I started Axon to run claude --dangerously-skip-permissions safely — just isolate it in an ephemeral K8s Pod and the flag isn’t dangerous anymore.

It grew into an orchestration tool. You apply a Task, Axon spins up an isolated Pod, the agent works autonomously, and you get back a PR link, branch name, and exact cost in USD. TaskSpawner can watch GitHub Issues and spawn agents automatically.

I use Axon to develop Axon itself — agents pick up issues, open PRs, and self-review: https://github.com/axon-core/axon/blob/main/self-development...

Written in Go, Apache 2.0. Would love feedback on the approach.
by nerdjon | 2026-02-19 14:13:13+00:00
> Tie-in sales between software and services is not different from price dumping.

I disagree, in many cases what you are specifically paying for is the combination of the software and the service that are designed to work together. And in many cases do not work independent of eachother.

There are countless cases of this, that what you are paying for is a thing that is made up of a piece of software and a serverside component. MMO's (and gaming in general) being a major example of this, but so are many of the apps I pay for subscriptions for on my phone.

The actual technical implementation of how it works is irrelevant when it is clear what it is you are paying for.

> "Both parties are okay with the terms" is far from being sufficient to make something "legal".

True but the opposite is also true, just because you don't like the terms it does not make it illegal.
by q3k | 2026-02-19 14:13:38+00:00
> People Are Being Thrown In U.K. Prisons Over What They’ve Said Online.

Hmm yeah, let's see.

> The recent arrest at London’s Heathrow airport of a noted Irish comedian, Graham Linehan, for the “crime” of three politically incorrect tweets vividly illustrates how far Britain has fallen.

Oh, Graham Linehan being brought up again. Curious, what did he say that landed him in trouble?

> If a trans-identified male is in a female-only space, he is committing a violent, abusive act. Make a scene, call the cops and if all else fails, punch him in the balls.

Ah yes, poor little Graham got arrested for only inciting a little extrajudicial violence. Poor guy, he was only being 'politically incorrect'! Truly free speech is under assault and you just get jailed for posting memes in the UK.
Show HN: Raft – Open-source tab manager because extensions have trust issues
by kjraym | 2026-02-19 14:14:27+00:00
I built Raft after thinking about when The Great Suspender was sold and injected with malware a few years ago (https://news.ycombinator.com/item?id=25846504), and seeing the same pattern repeat across the extension ecosystem. I wanted something capable and baked with trust from the start, and now it's ready to share.

No servers, no telemetry, no tracking. The entire codebase is public, including the single Pro feature. Every core feature is free. The only paid feature ($25 one-time) is cloud sync with end-to-end encryption (AES-256-GCM).

Chrome Web Store: https://chromewebstore.google.com/detail/enccggehgndcbkonehp...

My promise: https://raftapp.io/trust

Solo dev, happy to answer anything.
by creatonez | 2026-02-19 14:14:28+00:00
> it's a shame you need mods to have shaders on Java

You don't. Ever since 1.17 you have been able to build GL shaders directly into resource packs. Resource packs don't require any complex loaders and don't pose a malware risk. To install them you can either drag-and-drop them as .zips directly into the resource pack menu, or a server/world can be configured to prompt the installation of a resource pack. These resource pack shaders are not quite as flexible as Aperture, Iris, or Optifine shaders, but they are fairly close in functionality.

I'm curious if they will carry over this functionality for Vulkan shaders embedded into resource packs. I suspect they may not, which is understandable given how it can be used to break the game's functionality much worse than an ordinary resource pack can (not full RCE, though)
by trescenzi | 2026-02-19 14:14:29+00:00
This is what culture is right? Different sorts of people are attracted to different sorts of things and so the culture that builds around those things is somewhat self reinforcing. Lua's culture mirrors its core and attracts people who like simple extensible solutions to problems. This looks like a pretty compelling simple extensible tool. Hopefully the development continues and doesn't drop off like Luapower. I do wish it had first class fennel support but that's really easy to add.
by gcr | 2026-02-19 14:14:52+00:00
Lately I’ve been trying to develop this discernment skill by filing issues on vibe-coded projects, which requires taking a deep look into them and questioning their premise.

For example, there’s a tensor serialization called Tenso (71 stars) which advertises better cache line alignment after array deserialization. I suspect it’s heavily vibe coded. I read its source code and discovered that unlike what the README claims, the arrays it produces aren’t actually 64-byte aligned after all. https://github.com/Khushiyant/tenso/issues/5 They also have some issues around bounds checking: https://github.com/Khushiyant/tenso/issues/4

Another example: there’s a library called protobuf-to-pydantic (145 stars, 21 forks, 4 dependent packages on PyPI). I wanted to use this for one of my projects. I’m not sure whether it’s vibe coded or not. I found that it creates syntax errors in the generated output code: https://github.com/so1n/protobuf_to_pydantic/issues/121 Seems like a pretty surprising issue to miss.

For Tenso, the code quality is less of an issue than the “should this even be built or is the premise of the work solving the wrong problem,” which I suspect will be a factor in a lot of AI-generated work going forward.

I’m torn. On the one hand, I’m glad to be practicing this skill of “deciding what to rely on and what to refute,” but on the other hand, I certainly don’t feel like I’m being collaborative. These libraries could be their creators’ magnum opus for all I know. My issues just generate work for the project maintainers. I offer failing unit tests, but no fixes.

I earnestly think the future belongs to people who are able to “yes, and” in the right way rather than just tearing others’ work down as I’m currently doing. It’s hard to “yes, and” in a way that’s backed by a discerning skepticism rather than uncritiqueful optimism. Feels like a condradiction somehow.
Show HN: PortLume AI – Auto-generate portfolios from GitHub and AI job tools
by portlumeai | 2026-02-19 14:14:52+00:00
I built PortLume AI to solve a problem I had: spending weekends building portfolio websites instead of coding actual projects.

What it does:
- Syncs GitHub repos → auto-generates portfolio with project metrics (commits, stars, languages)
- AI resume parser → extracts experience and generates "About Me" sections
- ATS resume checker → scores your resume against job descriptions (like Jobscan but free)
- AI cover letter generator → tailored letters from job postings in 30 seconds
- Email-to-tracker → forward job emails, AI auto-updates your application status
- Portfolio analytics → track views, clicks, traffic sources (where recruiters come from)

The hardest part was building the email auto-tracker. Resend's inbound webhook gives you raw emails, but I had to:
1. Parse "Thank you for applying" vs "You have an interview" vs job alert spam
2. Extract company names from messy subject lines
3. Match emails to existing applications in the DB
4. Handle LinkedIn's weird forwarding patterns

I tried using OpenAI first, but Gemini 2.0 Flash is 10x cheaper and faster for my use case. The ATS checker analyzes resume-JD keyword overlap and gives specific recommendations (e.g., "Change 'React' to 'React.js'").

Free tier includes:
- Full portfolio builder
- 1 AI cover letter/month
- 1 ATS check/month
- Basic analytics (last 7 days)

Pro ($4/mo) adds:
- Unlimited AI generations
- Email auto-tracking
- Advanced analytics (traffic sources, geo data)
- Custom themes

Looking for feedback on:
- ATS checker accuracy (does it match your experience with other tools?)
- Email parsing reliability (any edge cases I'm missing?)
- Pricing (is $4/mo reasonable for unlimited AI tools?)
- GitHub sync performance (slow with 100+ repos?)

Built this solo over 6 months while working full-time. Currently ~50 users in beta.

Happy to answer technical questions or take feature requests!
by myrmidon | 2026-02-19 14:15:25+00:00
I think it is really important from time to time to shed partisan tendencies and critically review policy initiatives and form a somewhat subjective overpromise/underdeliver judgement (also looking at where, why and how they succeeded or failed).

To me, the whole Doge initiative scores quite poorly in this regard:
Initial promises appear not realistic (or even worse: deceptive), while the (preliminary) results are lackluster, too.

My impression is that the vast majority of "savings" was never achieved by promised efficiency gains or elimination of pure waste, but instead simply by cutting projects, i.e. slashing some form of public service or benefit in order to save tax money. Which is obviously inferior.

I think promises along that exact line deserve extreme skepticism: "Simply" slashing regulations/public budget for "easy gains" is just not credible, and if anyone is gonna bring up the same arguments in favor of nuclear power or similar things I'm just gonna label them "liar/idiot" and watch reality endorse my view...
by throw0101a | 2026-02-19 14:15:46+00:00
It's about USD 2B worth of purchases:

* https://archive.is/https://www.washingtonpost.com/politics/2...

* https://theconversation.com/american-farmers-who-once-fed-th...

* https://www.usatoday.com/story/opinion/voices/2025/02/13/mus...

* https://betterworldcampaign.org/blog/what-us-farmers-get-fro...

And in addition to farmers, a lot of companies/non-profits (for, e.g., logistics) were paid by USAID programs, as well as researchers for things like global health initiatives.
by explodes | 2026-02-19 14:16:01+00:00
When your code uses inversion of control, which can allow your code to inject different versions of your dependencies, such as a mocked disk API, or network resource, the code is often more testable because of the separation of concerns, and thoughtful design.

I would answer your question by stating your alternative _might_ be an easier test to write now, but amortizing the (already low) cost of having a code written with first practices in mind will be much easier to work with in the long run. Including across small and large teams. Ultimately we want our code to be reliable and scalable, and we can do that by making our code testable and maintainable.
by khelavastr | 2026-02-19 14:16:56+00:00
It's always suspicious when someone describes a historic economic change around 1970 without mentioning the gold standard.

Many old thoughts. But bro needs to realize that actual growth and economic growth are different.

If you follow this author's logic, a supply of infinite corn will lower economic well-being by crashing food and biofuel prices.

It very well might--and if it does, there's a distribution problem.

But in reality, we still have a lot of production to unlock and distribution isn't strictly a limit.