MurphyA/hacker-news huggingface dataset:
by jdanielnd | 2026-03-07 22:33:45+00:00
Hey HN, I built a personal CRM that lives entirely in the terminal.

I kept losing track of people — who I met at conferences, what we discussed, when I last followed up. I tried Notion, spreadsheets, and a few CRM apps, but they were all too heavy for what I needed. I just wanted something fast that I could use without leaving the terminal.

crm-cli stores everything in a local SQLite file (~/.crm/crm.db). Single binary, no accounts, no cloud. You can manage contacts, organizations, log interactions, track deals, set follow-up tasks, and tag anything.

What makes it different:

- Built-in MCP server — you can connect it to Claude (or any MCP-compatible agent) with claude mcp add crm -- crm mcp serve. After a meeting, you just tell Claude what happened and it logs the interaction, updates deals, and creates follow-ups automatically.
- Unix-native — data to stdout, messages to stderr, proper exit codes. Supports table/JSON/CSV/TSV output, so it pipes into jq, fzf, awk, etc.
- Pure Go, no CGO — uses modernc.org/sqlite, so it cross-compiles cleanly. Single static binary for macOS, Linux, and Windows.

The AI integration is what I use most now. The summary field on contacts acts as a living dossier that Claude maintains — it reads it before meetings for context and updates it after with new info.

Tech: Go, Cobra, SQLite (FTS5 for search), mcp-go for the MCP server. ~3k lines of Go.

Would love feedback on the CLI design and what features would be useful.
by WarOnPrivacy | 2026-03-07 22:34:27+00:00
https://archive.fo/9kCcq

instead of looking closely at funded projects,
they pulled short summaries off the internet and
fed them into the A.I. chatbot.

The prompt was simple: "Does the following relate at
all to D.E.I.? Respond factually in less than
120 characters. Begin with ‘Yes’ or ‘No.’"
The results were sweeping, and sometimes bizarre.
by scuff3d | 2026-03-07 22:34:40+00:00
They're right through, the entire point of HTMX is to use "HTML as the Engine of Application State". Shipping JSON to the front end to be rednered is antithetical to that.

As someone else mentioned, having your own server backend act as an intermediary between your front end and the API that serves JSON is probably the most straightforward solution to keep everything HTMX-y.
by kurthr | 2026-03-07 22:34:56+00:00
I'll offer a hopeful rejoinder. Perhaps, when AISlop generates enough of the same old story "guaranteed" hits for the mass market (and book covers to go with same), the editors will switch back to something that is novel and unlikely to be generated.

Think about what happens when you feed the first few books of a series into long context llm, along with their audience interests, pitch lines, plot summaries and character guides. When each element is multi-shot rather than zero-shot.
by wtallis | 2026-03-07 22:34:56+00:00
You're seriously posting to HN a link to your Slashdot post linking to your year-old blog post complaining about Geekbench 6's multi-threaded test without ever mentioning Amdahl's Law?

Pretending that everything a CPU does is an embarrassingly parallel problem is heinous benchmarking malpractice. Yes, Geekbench 6 has its flaws, and limitations. All benchmarks do. Geekbench 6 has valid uses, and its limitations are defensible in the context of using it to measure what it is intended to measure. The scalability limitations it illustrates are real problems that affect real workloads and use cases. Calling it "broken" because it doesn't produce the kind of scores a marketing department would want to see from a 96-core CPU reflects more poorly on you than it does on Geekbench 6.
by lwansbrough | 2026-03-07 22:35:47+00:00
Yes I believe this was the line of thinking that has lead us to the invasion of Iran. So it doesn't appear to be a viable strategy. The US can dispatch a strike group faster than any country can build a nuke, let alone enough nukes to actually make a difference. North Korea only succeeded because of its close ties with China and Russia, and perhaps because previous administrations weren't so brazen as to invade them.

An alternative, as always, is to work towards our strengths as middle-powers. Remain steadfast in our pursuit of diplomatic and economic ties. Make the world too complex and intertwined to make invasions practical.

And of course, while Russia is the leader in this area, it's not the only country that could balkanize the US through "peaceful" means.
by Gigachad | 2026-03-07 22:35:53+00:00
"bloat" has always been the last resort criticism from someone who has nothing valid. Containers are incredibly light, start very rapidly, and have such low overhead in general that the entire industry has been using them.

Docker containers also do reuse shared components, layers that are shared between containers are not redownloaded. The stuff that's unique at the bottom is basically just going to be the app you want to run.
by bananaboy | 2026-03-07 22:36:21+00:00
I’m 47 and have been working for over 20 years also and programming for many many more. I see AI used a lot in industry amongst my peers and friends. Personally though I don’t use it. I like the thinking and planning phase and I like the typing phase.

I’m a programmer for life. My hobbies revolve around programming and hardware as well (demos for retro hardware: XTs up to Pentium, Sega Master System, custom built hardware). I stay up late working on this stuff and I still have the drive to do it with two young kids who take up a lot of my time.

I have zero interest in an AI doing any of it for me. I don’t think I’ll be replaced by an AI but I might be forced to use one by an employer at which point I think I’ll retire and just work on my hobby projects!
by roenxi | 2026-03-07 22:37:02+00:00
Extracting an 80 year old from their house is a bit harder than you might expect. Even if their stubborness is going to get them killed.

I personally have difficulty believing Iran didn't know that war was inbound, everyone I talk to was anticipating it within a roughly 3-week window and these are people just working off what they read on internet news. Khamenei might not have known he was going to die that day and if he had his family would probably have been elsewhere. But it seems pretty reasonable to assume that he was purposefully not raising his security in his final days. The narrative win of a calm death vs the perfidious Israeli attack is powerful enough that he must have considered it.

There is an understanding that the strike that took him out also took out a lot of visiting high-level leaders; that'd be quite strong evidence against the idea it was intentional. But the fog of war is thick and it doesn't seem safe to take that occurrence as a given yet.
by raw_anon_1111 | 2026-03-07 22:37:09+00:00
No.

A job being “verified” doesn’t solve the main problem post around 2023. Every single job opening gets hundreds of openings within the first day of it being opened.

If you are looking for a job as any type of generic developer - full stack, front end, mobile, back end, it’s almost impossible to stand out from the crowd. No, “I reversed a btree on the whiteboard to get into big tech as a mid level developer” doesn’t make you special.

If you do have a specialized set of skills that allows you to stand out from the crowd, you still shouldn’t be randomly spamming job boards and you should be able to sell yourself to someone at the company.

My personal anecdote. In my specialty - AWS + app dev + leading strategic initiatives, I’m very well credentialed (trust me on this) and in a certain niche of AWS, I was considered one of the industry experts at the time (again trust me).

But when randomly spamming job boards on a lark in 2023, I heard nothing.

That was always a plan B while I was waiting for what ended up being three offers via my network and one by reaching out to a company who specialized in my niche of AWS.

I’m not bragging, I am old. I should have a network and credentials.
by braincat31415 | 2026-03-07 22:37:21+00:00
> Preventing Ukraine from being taken over by Russia improves US security. Just sitting and doing nothing would be incredibly stupid and amoral.

The only thing it improves is the pockets of the US MIC. It will be taken over anyway, being in Russian backyard. Why didn't you take your broomstick and go fight over there if you are such a believer? What's amoral and stupid is that now I have to pay three times as much for heating because of LNG exports.

> But actively bombing Iran is so stupid the US never did it until Trump was elected.

LOL.

Both die hard repubs and democrats are like a wall of faceless robots, droning the party line.
by scuff3d | 2026-03-07 22:38:32+00:00
I don't do a lot of frontend work, but I'm glad to see more of this stuff popping up. Anything that combats the normal framework insanity is a good thing in my book. And this looks like a really cool idea. The default routing approach is an awesome idea, swapping the entire body by default is also really interesting. It seemed odd to me at first, but the more I thought about it the more it made sense.
by stanfordkid | 2026-03-07 22:38:36+00:00
I'm not sure I totally buy the "no plasticity" argument. If you are allowed to write to context in an agentic fashion, certainly the LLM can record intermediate answers, go back and re-rank it's memory. The "plasticity" is in the form of data that can be looked up and referenced as a shortcut. I would think this forms a Turing complete system so theoretically it can represent pretty much anything.
by ddtaylor | 2026-03-07 22:39:05+00:00
The strategy is to make outlandish claims and then have people "engaging" to "disprove" all of the claims. This strategy works as long as people are too apathetic and/or stupid to hold liars accountable. It works currently because journalism has significantly less value than tabloid drama to many people, some of which are just narrative shopping for a fun curated list of ideas (not facts) that fit their personalized echo chamber.
by dblows12 | 2026-03-07 22:39:19+00:00
I wanted to share something I built over the last few weeks.

The idea: Web designers struggle to find clients. Local businesses have terrible websites but don't know it. I built the bridge.

How it works:

1. Scrapes Google Maps for local businesses in any city/niche
2. Visits each website and audits: SSL, mobile-friendliness, load speed, copyright year, online ordering
3. Scores each business 0-100 (higher = worse website = better prospect)
4. Packages everything into a CSV + PDF audit report + AI-generated cold outreach script
5. Delivers automatically via email within 5 minutes of payment

Stack:

• Python + Google Maps API (scraping)
• Custom scoring engine
• Gemini API (pitch script generation)
• Stripe webhooks (auto-delivery on payment)
• Hosted on AWS, delivered via Gmail SMTP

Pricing:

• Starter: $47 — 25 leads + CSV
• Pro: $197 — 50 leads + PDF audit + pitch scripts
• Agency: $497 — 100 leads + white-label rights

What surprised me:
Scanning 144 DFW restaurants — 31% had no SSL, 47% weren't mobile-friendly, 28% hadn't updated since 2021. The market is much larger than I expected.

Live at leadsturner.com. Happy to answer questions about the scraping logic or scoring methodology.
by bmitch3020 | 2026-03-07 22:39:34+00:00
Recent versions of buildkit have added support for SOURCE_DATE_EPOC. I've been making the images reproducible before that with my own tooling, regctl image mod [1] to backdate the timestamps.

It's not just the timestamps you need to worry about. Tar needs to be consistent with the uid vs username, gzip compression depends on implementations and settings, and the json encoding can vary by implementation.

And all this assumes the commands being run are reproducible themselves. One issue I encountered there was how alpine tracks their package install state from apk, which is a tar file that includes timestamps. There are also timestamps in logs. Not to mention installing packages needs to pin those package versions.

All of this is hard, and the Dockerfile didn't make it easy, but it is possible. With the right tools installed, reproducing my own images has a documented process [2].

[1]: https://regclient.org/cli/regctl/image/mod/

[2]: https://regclient.org/install/#reproducible-builds
by FlyingSnake | 2026-03-07 22:40:14+00:00
You’re right, it was 2014. I was there on HN when docker was announced by shykes. It was a godsend because I was getting bummed by the alternatives like LXC, juju charms or vagrant.

Here’s the announcement from 2013:

https://news.ycombinator.com/item?id=5408002
by skilbjo | 2026-03-07 22:41:03+00:00
hey, that's pretty cool. i found this problem myself when working in cursor or antigravity UI IDEs.

can you tell me more about how it discovers project interdependencies (ie a frontend repo needs a backend repo's api endpoints)?

ie you can't just open `claude`/`gemini`/`codex` in the parent folder and it will discover the project relationships themselves?

have you found an interesting way to make the agent "get better over time", ie maybe with any interesting findings the agent learns, it can write to `~/.modulus/MEMORY.md`
by fragmede | 2026-03-07 22:42:11+00:00
That's entirely luck driven and not guided by data though. You could visit a foreign country, go out for a drink, meet a) nobody but still have a decently pleasant evening and b) get pickpocketed/mugged and have terrible time c) make some new friends and have a wonderful time d) eat some food that gives you anything from a delicious time to a mild case of indigestion to stomach bug that kills you. Or some other variation, but it's entirely up to luck who you'd meet visiting a foreign country on an individual basis.
by packetlost | 2026-03-07 22:43:44+00:00
Plan9 doesn't really have a single killer feature beyond 9P and the universal consistency and simplicity of its APIs. It has a very clean syscall interface and takes "everything is a file" to its logical conclusion and does it well (IMO). Pretty much everything is a file(system) and it's all accessed via the 9P protocol.

You could sorta bolt these features on with FUSE, but to see real benefits you'd want something closer to Inferno, which is like an OS/application runtime that runs on top of another OS host.

In my mind, the security model is the closest thing to a killer feature it has. Because everything is a file(system) and the fork/rfork and bind syscalls let you precisely control what resources/files/services/etc. a child process has access to via easily understandable shell commands (or using libc functions if you want), it means you don't need special APIs for namespacing (ie. containers) and access controls. It's very clean. When a parent process forks or spawns a child process, it can chose whether that process inherits the namespace or gets a clean slate that it can then bind filesystems onto, controlling precisely what it has access to.
by scalefirst | 2026-03-07 22:44:01+00:00
Appreciate it. SurvivalIndex is agnostic to LLM or coding agent. One of the more interesting findings when you run the same
prompts across Claude, GPT, and Copilot is that tool
selection diverges significantly by model. Claude Code picks
Drizzle for ORM in JS at 100% on Opus, while Sonnet still
defaults to Prisma at 79%. Older models route to Redis for
caching, newer models increasingly go Custom/DIY. The
"recency gradient" shows up clearly — newer models pick
newer tools, sometimes before the ecosystem has validated
them.

This matters because a tool's survival score shouldn't be
measured against one agent. A tool that only one model
knows about has a structural awareness problem. A tool
three models independently converge on has something real.
by arjie | 2026-03-07 22:44:02+00:00
Well, certainly, if they had chosen otherwise it is unlikely they could have continued to operate:

> ...the Commission may determine that such agreements, contracts, or transactions are contrary to the public interest if the agreements, contracts, or transactions involve—(I) activity that is unlawful under any Federal or State law; (II) terrorism; (III) assassination; (IV) war; (V) gaming; or (VI) other similar activity determined by the Commission, by rule or regulation, to be contrary to the public interest.

https://www.federalregister.gov/d/2024-12125/p-93
by zer0x4d | 2026-03-07 22:44:02+00:00
The author spends the first paragraph of the article talking about how n number of users bet x on a specific outcome and they won. They fail to account for the many others who bet on a different outcome and lost.

I watched polymarket like a hawk for weeks before the attack and am incredibly familiar with the numbers. Fact is, there were no indications on Polymarket that an attack was happening that morning. The chances of an attack was like 10 percent if I remember correctly.
by lich_king | 2026-03-07 22:44:17+00:00
It has nothing to do with predictive policing. I don't understand this example, it has nothing to do with detecting intent. You're looking for evidence of a past misdeed.

False positive and false negative rates are non-zero, as with almost anything, but the tools are pretty good. I encourage you to give them a try. Pangram is a good state-of-the-art choice and you can try it for free. They also publish evals and other data about their approach.
by Paracompact | 2026-03-07 22:44:35+00:00
There was nothing useful about the particular formula they were teaching. It wouldn't even be useful for a bureaucrat. It only tested how well you knew the formula, how confidently you simplified inherently nuanced topics, and how lucky you got that the random underpaid SAT grader (usually a teacher looking for a pittance of extra cash) thought your essay fit the rubrics they were given.

Good riddance to the thing.
by brudgers | 2026-03-07 22:44:45+00:00
To a large degree, the problem with job boards is job boards are a two sided market for lemons

On the one hand, applicants are applicant who cannot find a job through people they know and the companies are companies who cannot find candidates through people they know Good jobs and good employees come through relationships and you cannot automate relationships.

Relationships are hard. Good luck.
by pear01 | 2026-03-07 22:45:46+00:00
Ah interesting thanks for pointing out the ambiguity in my statement. I definitely did not intend that ambiguity but you also rightly point out it sort of works either way. I would think this would lead to more upvotes than downvotes but perhaps a trend of cynicism also is reflected in assuming the least favorable interpretation.

Thanks for pointing that out.

For the record, I meant the latter. Let the downvotes commence!
by nicklo | 2026-03-07 22:45:54+00:00
Yeah with sandbox pre-warming and disk co-location its fast enough to avoid UX cold start penalty.

On write amplification — we persist at the message level, not per SSE chunk. The sandbox's workspace filesystem (claude code's native jsonl files) is the source of truth for resume, and the DB is for queryability, tracing, etc - so fire and forget works fine here.
by comrade1234 | 2026-03-07 22:45:54+00:00
Interesting history but what's going on now is so crazy as a reader. Amazon kindle publishes 7500 new books daily. There's no longer gatekeepers like in the article.

About two years ago I was searching for a new sci-fi book to read - I routinely rotate genres. I did my research in goodreads and started reading a trilogy that was highly rated. Holy crap it was so bad a quit about halfway through the second book. I went back to goodreads and the rating since my last visit had dropped drastically. A bot campaign or something fooled me, I guess.

I've since just started reading older stuff, before the 2000s. I'd try to find a gatekeeper to filter newer stuff for me but everything seems corrupt - even the Hugo awards gets scammed by influence campaigns.
by tasuki | 2026-03-07 22:46:17+00:00
> He pointed out that Claude Code works because it runs on your computer, with your environment, your data, your context.

Ah yes - I hate that. Yes it "works", but I don't want things to only work on my machine: I want them to work everywhere.

I was wondering why Google's Jules wasn't more popular, and I guess this is why. My preference for my code to work in different environments is unusual.
by nomilk | 2026-03-07 22:47:08+00:00
Political outcomes is the biggest. Businesses (and individuals) can be strongly (financially) affected by who's elected. I'd been very curious in the past about political outcomes but had never used prediction markets, so I built a little tracker that inputed the probabilities based on scraping ~14 betting sites. I had to do it on a market-by-market basis, and there were lots of edgecases. Having them all in one place (or two; kalshi and polymarket) makes life much simpler.

Prediction markets have also directly affected my travel planning, helping me avoid a country that wasn't at war at the time but had (in my judgement) a too-high risk of war.

You're completely right about thinly traded markets; those are way, way less accurate. But they also offer the greatest opportunity for someone to bet the other way, which has the effect of 'correcting' the market.
by refulgentis | 2026-03-07 22:48:20+00:00
I think this actually concedes the main criticism.

If Geekbench 6 multicore is primarily a proxy for “common use case performance” rather than for workloads that actually use lots of cores, then it shouldn’t be treated as a general multicore CPU benchmark, and it definitely shouldn’t be the basis for sweeping 18-core vs 96-core conclusions.

That may be a perfectly valid design choice. But then the honest takeaway is: GB6 multicore measures a particular class of lightly/moderately threaded shared-task workloads, not broad multicore capability.

The criticism isn’t “every workload should scale linearly to 96 cores.” It’s that a benchmark labeled “multicore” is being used as if it were a general multicore proxy when some of its workloads stop scaling very early, including ones that sound naturally parallelizable.
by zozbot234 | 2026-03-07 22:48:35+00:00
Right, the probability pre-attack never broke even 30%, which was basically in line with the most prominent opinions. The market consensus had been for a long time that there would be an attack by this summer or the end of the year, but probably not near-term. There will always be some bull traders who buy just before a big move in the market, that's no proof of insider trading.
by BeetleB | 2026-03-07 22:48:50+00:00
Indeed. Many of my technical undergrad courses were very exam heavy. Typically 3-5 midterms and one final. Sometimes the final was as little as 10% of the grade. The idea was that if you'd done well throughout the semester you can relax during finals weeks.

Homework was assigned but not graded.

Periodic tests is the way to go.

I hated courses where the final was more than 30%. Forget 100%.
by pavel_lishin | 2026-03-07 22:49:27+00:00
> I'd try to find a gatekeeper to filter newer stuff for me but everything seems corrupt

Word of mouth is the best way to do this, among friends who read similar things to you.

Even if you're recommended something you end up not liking, it's not because they're malicious, their tastes are just not the same as yours - and after awhile, you learn to adapt. Friend A recommends a space opera? Great, you have very similar tastes. They recommend a horror novel? Eh, you know that what they consider to be good horror isn't what you do, so you skip that one.
by wrs | 2026-03-07 22:50:25+00:00
It depends on the door. Norms are one thing, but these folks went beyond norm violations quite a while ago. If someone is going to ignore the actual law and do whatever they want until the Supreme Court calls them on it, changing the law doesn’t help.

Also, I’d like think that at this point “Trump got away with it” does not set a new norm.