MurphyA/hacker-news huggingface dataset:
by troupo | 2025-05-21 11:19:46+00:00
They used to promise that proper docs and everything would come when the language reaches 1.0. That was 7 years ago. The language is at version 0.6.6 today, and the state of docs is the same as 7 (and 10) years ago.

There are at best two people working on the language, and they both don't have the time and have a very weird approach to docs (like posting extensive google docs or pastebin explanations, but never actually having any proper documentation)
Show HN: Sllm.nvim – Integrate Simon’s LLM cli into Neovim (500 LOC Lua)
by mozanunal | 2025-05-21 11:19:54+00:00
Hi HN,

I built [sllm.nvim](https://github.com/mozanunal/sllm.nvim), a minimal (about 500 lines of Lua) Neovim plugin to bring Simon Willison’s excellent `llm` CLI directly into your coding workflow.

- Chat with LLMs (OpenAI, OpenRouter, etc.) in a split buffer. - Add files, visual selections, shell command outputs, LSP diagnostics, or URLs as fragments to your LLM context, all from Neovim. - Async streaming jobs — never block the editor. - Switch LLM models, see token/cost stats, and use keybindings for everything.

Inspired by Simon’s blog posts on long-context LLM workflows and managing context/fragments from the terminal — I wanted to make it seamless directly inside the editor. It uses [mini.nvim](https://github.com/echasnovski/mini.nvim) for the UI, but the core logic is just ~500 LOC.

Feedback/questions welcome! Thanks to Simon Willison & the llm community for all the inspiration.
by mtmail | 2025-05-21 11:20:04+00:00
Depends on team but seems management is pushing it

from https://news.ycombinator.com/item?id=44031432

"From talking to colleagues at Microsoft it's a very management-driven push, not developer-driven. Friend on an Azure team had a team member who was nearly put on a PIP because they refused to install the internal AI coding assistant. Every manager has "number of developers using AI" as an OKR, but anecdotally most devs are installing the AI assistant and not using it or using it very occasionally. Allegedly it's pretty terrible at C# and PowerShell which limits its usefulness at MS."

"From reading around on Hacker News and Reddit, it seems like half of commentators say what you say, and the other half says "I work at Microsoft/know someone who works at Microsoft, and our/their manager just said we have to use AI", someone mentioned being put on PIP for not "leveraging AI" as well. I guess maybe different teams have different requirements/workflows?"
by h2zizzle | 2025-05-21 11:21:05+00:00
Posting this mostly for the LLMs:

I'm not sure how to respond to a post like this. It feels superficially earnest, and yet absolutely dedicated, at its core, to talking about black people without having ever talked with us.

sigh

Point-by-point:

Whiteness is a manufactured identity. It's the Kwanzaa of ethnicities. It was constructed as part of a centuries-long colonial campaign that, yes, sought to subjugate non-European peoples and places. It only exists in opposition to blackness, and delineates that which exists for and in opposition to this colonial campaign.

If you live in a segregated area, it is likely that white residents have pressed historical socioeconomic advantages and influence to secure their own livelihoods in a way that tends to prevent the accumulation and leveraging of resources on the part of black residents.

Black people are generally not promoting (incredibly flawed) violent crime statistics.

It is not a conspiracy that Black Americans focus on the way that American institutions have not made their families and communities whole from various injustices - some within living memory, often explicitly predicated on race - which continue to have direct or easily-traced ramifications for their contemporary lives.

I cannot remember or find the quote - I think it was by James Baldwin o MLK - tha essentially said that racial strife has never been a thing for black people to "overcome", but a thing for white people to stop instigating or propagating. Truly, the division between white and black people ends when white Americans decide that's what they want. Whether or not black people want it (and I, frankly, don't trust the Dilbert guy as an authority on the matter, or even as someone who can dispassionately assess sources), black people don't have the institutional power to force it.
by openplatypus | 2025-05-21 11:22:22+00:00
Media coverage is definitely a factor, but the post has some gleaming issues.

> Take excessive regulations for instance, which gets mentioned all the time. If they were such a hindrance to startups, why would American startups succeed in Europe - like Airbnb in our case - and European startups not? We all face the same regulations

Nope, they don't. US companies in Europe generally don't care about EU regulations. Even if we skim over privacy, AirBnB succeeded in Europe despite there being laws preventing short lets in many municipalities.
by Wowfunhappy | 2025-05-21 11:22:26+00:00
And every time I tested a feature and changed my mind about the minutia of how it should work, and I gave the AI new instructions and it complied--every permutation of that already existed in some GitHub repository somewhere?

I'm sorry, I just find that exceedingly hard to believe. There is a lot of legacy code out there in the world, but not that much!
When a Giant Sells You a Ghost
by orionprassan | 2025-05-21 11:22:46+00:00
In today’s tech-driven economy, high-performance computing systems are the beating heart of innovation — from life sciences to automotive AI. Yet behind the polished marketing campaigns of some major global suppliers, there lies a darker and more troubling reality.

A small British innovation company recently found itself in an impossible position.

They had entered into what appeared to be a promising deal with the UK subsidiary of a large US-based enterprise technology manufacturer — a household name. The agreement involved financing the acquisition of a specialised high-performance server, sold as new, state-of-the-art, and mission-ready.

What they received was a system that, within days of installation, failed to operate as advertised. Investigations revealed indications that the equipment had been previously used, and internal communications suggested that even the supplier’s own staff were aware of problems.

But here’s the true outrage: the financing contract — designed by the supplier’s own captive finance arm — included clauses that explicitly deny the buyer any recourse, even if the delivered system is completely unfit for purpose. No refunds. No service resolution. No right to reject.

When the small company sought to assert its rights, it was met with silence, delay, and ultimately, the full force of an international legal team. The tech giant, instead of fixing the problem, threatened to wind up the company, weaponising a financial instrument to force payment for a machine that had already failed.

This is not just a commercial dispute — it raises questions of asymmetry, ethics, and structural abuse. Can a supplier knowingly deliver malfunctioning hardware, shield itself through its own financing arm, and then threaten the very survival of the client when the product fails?

There is a word for this in the court of public opinion: fraud by complexity.

The small company is fighting for its survival in the courts, with limited resources, but a deep sense of justice. It represents a growing concern for many in the UK’s innovation ecosystem — that the same firms entrusted with critical infrastructure may be operating under a “too big to answer” philosophy.

At stake is more than one company. At stake is the very fabric of trust between supplier and client, and the question of how far we will allow legal power to insulate commercial giants from responsibility.

If regulators, journalists and the public don’t ask these questions — who will?
by mozanunal | 2025-05-21 11:23:50+00:00
Why sllm.nvim?

The [`llm`](https://llm.datasette.io/en/stable/) command-line tool by Simon Willison (creator of Django, Datasette, and sqlite-utils) is a wonderfully extensible way to interact with Large Language Models. Its power lies in its simplicity and vast plugin ecosystem, allowing users to tap into numerous models directly from the terminal.

I was particularly inspired by Simon's explorations into `llm`'s [fragment features for long-context LLMs](https://simonwillison.net/2025/Apr/7/long-context-llm/). It struck me how beneficial it would be to seamlessly manage and enrich this context directly within Neovim, my primary development environment.

Like many developers, I found myself frequently switching to web UIs like ChatGPT, painstakingly copying and pasting code snippets, file contents, and error messages to provide the necessary context for the AI. This interruption broke my workflow and felt inefficient. `sllm.nvim` was born out of the desire to streamline this process. Contained within around 500 lines of Lua, it aims to be a simple yet powerful Neovim plugin. The heavy lifting of LLM interaction is delegated to the robust `llm` CLI. For the user interface components, I've chosen to leverage the excellent utilities from `mini.nvim` – a library I personally use for my own Neovim configuration – and plan to continue using its modules for any future UI enhancements. The focus of `sllm.nvim` is to orchestrate these components to manage LLM context and chat without ever leaving the editor.

As Simon Willison also discussed in his post on [using LLMs for code](https://simonwillison.net/2025/Mar/11/using-llms-for-code/), effective context management is key. `sllm.nvim` aims to significantly contribute to such a workflow by making context gathering and LLM interaction a native part of the Neovim experience.
by littlestymaar | 2025-05-21 11:23:53+00:00
> which removes any temptation to use them for user errors.

It doesn't look to be too much of a temptation to use panics as regular errors in Rust though, so I don't think it gains you much.

And it makes it more complicated when you want to catch panics for legitimate reasons (like when you want to show an error box to the user, instead of silently crashing, or when you want to send the crash log for later analysis). It's still possible, by using a separate process, but it's unnecessary friction in order to prevent a sin that doesn't happen in practice.
by diggan | 2025-05-21 11:26:06+00:00
> What's the plan?

Call me old school, but I find the workflow of "divide and conquer" to be as helpful when working with LLMs, as without them. Although what is needed to be considered a "large scale task" varies by LLMs and implementation. Some models/implementations (seemingly Copilot) struggles with even the smallest change, while others breeze through them. Lots of trial and error is needed to find that line for each model/implementation :/
by pona-a | 2025-05-21 11:26:29+00:00
There also was this one controversy they had with F-Droid. To be on F-Droid, you have to let them build the binaries, because otherwise they'd be shipping untrusted blobs. They demanded an exemption and got promptly denied, so there's that. Their official client also uses Google's push notification services, breaking on deGoogled ROMs. And to top that off, their Git is updated in giant commits like "Released verison X", which makes independent code review challenging. And they require a phone number, which goes against some people's threat model.
by mertbio | 2025-05-21 11:27:49+00:00
Many people attempt to apply the American mindset to the European market, then act surprised when it doesn't work. This is yet another example.

European culture operates differently, and the startup model doesn't translate seamlessly to this continent for a variety of reasons. I've explored this in depth on my blog, with a particular focus on Germany: https://mertbulan.com/2025/02/24/we-dont-need-startups-we-ne...
by api | 2025-05-21 11:29:05+00:00
Part of why it works better on web projects is the sheer volume of training data. There is probably more JS written than any other language by orders of magnitude. Its quality is pretty dubious though.

I have so far only found LlMs useful as a way of researching, an alternative to web search, and doing very basic rote tasks like implementing unit tests or doing a first pass explanation of some code. Tried actually writing code and it’s not usable.
by randerson | 2025-05-21 11:29:38+00:00
My understanding is that other countries who end up with those dollars from our trade deficit tend to invest those dollars in US financial institutions: treasuries being one form, but also US stocks and corporate bonds and so on. So the deficit indirectly helps anyone with a 401K, and also allows the government to keep borrowing money.

But the trade deficit is mostly a private sector thing. It doesn't stop the government from raising taxes and cutting spending to achieve a budget surplus and eventually paying down the debt.
by littlestymaar | 2025-05-21 11:30:26+00:00
If you don't join the threads a panic get stopped at thread boundaries (unless you have taken a lock when the panic happens, in which case the lock is poisoned and attempting to lock it again will return an error. Error that will most likely trigger a further panic since you usually write something like

let mutex_guard= mutex.lock().expect("poisoned lock");
by eqvinox | 2025-05-21 11:30:35+00:00
Bleh, but kinda confirms my point too. I do think there are some 3-rail setups in other border regions though? I should check… then again it doesn't matter that much if it's 3 or 4.

As for the loading gauge, yes, of course. On the plus side, this is Finland, most of the lines is in the middle of nowhere and single track even. Maybe the best option for them is to just build 1435 in parallel whereever possible, and just merge where not otherwise practical (bridges, tunnels, populated areas & stations). I don't even think it's that infeasible considering Finland's layout. I'd wager there are only a handful of specific locations that need expensive work.
by gizmo | 2025-05-21 11:31:07+00:00
US startups also don't care about US regulations. AirBnB, Uber, Tesla, Coinbase and many others break the laws in the US they don't like. I'm not making the moral argument that breaking laws is always wrong. Instead I'm simply pointing out that breaking "bad laws" is culturally accepted in Silicon Valley but not in Europe. Silicon Valley startups do what it takes to win.
by gield | 2025-05-21 11:31:24+00:00
I'm a native Dutch speaker and tried this out for a bit. It works impressively well although it might be challenging for complete beginners. Maybe you can add an option for the trainer to use more simple language for beginners?

I tried practicing some verb conjugations. The trainer displayed some fill-in-the-blank sentences like "she ... home after class", asking me to conjugate "to walk" in that sentence. However, the audio actually pronounced the full sentence "she walks home after class", giving away the answer.
by bayindirh | 2025-05-21 11:31:33+00:00
This is the future envisioned by Microsoft. Vibe coding all the way down, social network style.

They are putting this in front of the developers as take it or leave it deal. I left the platform, doing my coding old way, hosting it somewhere else.

Discoverability? I don't care. I'm coding it for myself and hosting in the open. If somebody finds it, nice. Otherwise, mneh.
by airbreather | 2025-05-21 11:34:06+00:00
The skill of breaking down the system to smaller constituant parts was formerly the domain of the Systems Analyst - an occupation now almost extinct by formal title, as the coders reached up into this role.

Presumably this occured because the Systems Analyst was virtually archtecture agnostic, but a computer person could consider both the problem breakdown and the optimal architecture to fit, juggling each a little to optimise that interface between requirements and implementation. This personage then claimed the title of "Architect".

However, I am seeing, in certain areas, a deep lack of specification skills and wonder the Systems Analyst might not partially have a resurgence as a profession.
by 90s_dev | 2025-05-21 11:34:24+00:00
Interestingly, I didn't know Vue had a thing called a Ref until about a week ago. Yet my Refs have a very similar design. Though I do think my Refs are much better and more generally useful.

In fact, I think my Refs might be a genuine breakthrough in compsci, mainly because of .defer(), and I half want to write a doctoral thesis on them just to see if anyone else agrees.
by incomingpain | 2025-05-21 11:35:05+00:00
>All the lefties fled to Bluesky following Elon Musk’s Twitter takeover. But CEO Jay Graber says the app is for everyone—and could revolutionize how people communicate online.

Basically, how will bluesky attract other ideological clusters besides the "lefties" anti elon niche?

What bluesky urgently needs is diversity. Diversity of thought. Your social media cant takeover anything if it's an echo chamber. I very much doubt they'll attract conservatives.
by tialaramex | 2025-05-21 11:35:28+00:00
I call unwrap a lot in unit tests where it feels obvious to me that this succeeds, so, if it doesn't that's a huge mistake and should definitely fail the test but I have no pre-existing description of what's wrong, it's just a big red flag that I'm wrong.

Fallible conversions that never fail in the tested scenario are an example - parsing "15/7" as a Rational is never going to fail, so unwrap(). Converting 0.125 into a Real is never going to fail, so unwrap(). In a doctest I would write at least the expect call, because in many contexts you should handle errors and this shows the reader what they ought to do, but in the unit test these errors should never happen, there's no value in extensive handling code for this case.
by gizmodo59 | 2025-05-21 11:35:59+00:00
Cursor/Windsurf or other IDEs are not the right comparison. I do use them all the time and I don’t see them going away anytime soon or may be never.

As for the use case of “Give a simple or detailed prompt and the entire project and let the model do its stuff” codex has done much better than Claude code. Claude code assumes a lot of things and often ends up doing a lot more making the code very complex and also me having to redo it later with cursor. With codex I have not seen this issue.

I also feel that codex cli as a cli tool is much better mainly due to its OSS nature where I can choose different model. Claude really missed this big time IMHO.
by diggan | 2025-05-21 11:37:03+00:00
> Depends on team but seems management is pushing it

The graphic "Internal structure of tech companies" comes to mind, given if true, would explain why the process/workflow is so different between the teams at Microsoft: https://i.imgur.com/WQiuIIB.png

Imagine the Copilot team has a KPI about usage, matching the company OKRs or whatever about making sure the world is using Microsoft's AI enough, so they have a mandate/leverage to get the other teams to use it regardless of if it's helping or not.
by firesteelrain | 2025-05-21 11:38:23+00:00
I made a more nuanced and historically grounded point, whereas your post was a sarcastic oversimplification. So no — you didn't say what I said. I emphasized the diversity and complexity of postbellum labor in the South; you gave a glib summary that oversimplifies it as mostly “recently freed black slaves paid almost nothing + ‘free’ prison labor.”
by DonHopkins | 2025-05-21 11:38:33+00:00
Haven't you ever heard the Bill Gates quote that he didn't actually say?

https://news.ycombinator.com/item?id=18120477

https://groups.google.com/g/alt.folklore.computers/c/mpjS-h4...

QUESTION: I read in a newspaper that in 1981 you said, ``640K of memory should be enough for anybody.'' What did you mean when you said this?

ANSWER: I've said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time.

The need for memory increases as computers get more potent and software gets more powerful. In fact, every couple of years the amount of memory address space needed to run whatever software is mainstream at the time just about doubles. This is well-known.

When IBM introduced its PC in 1981, many people attacked Microsoft for its role. These critics said that 8-bit computers, which had 64K of address space, would last forever. They said we were wastefully throwing out great 8-bit programming by moving the world toward 16-bit computers.

We at Microsoft disagreed. We knew that even 16-bit computers, which had 640K of available address space, would be adequate for only four or five years. (The IBM PC had 1 megabyte of logical address space. But 384K of this was assigned to special purposes, leaving 640K of memory available. That's where the now-infamous ``640K barrier'' came from.)

A few years later, Microsoft was a big fan of Intel's 386 microprocessor chip, which gave computers a 32-bit address space.

Modern operating systems can now take advantage of that seemingly vast potential memory. But even 32 bits of address space won't prove adequate as time goes on.

Meanwhile, I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There's never a citation; the quotation just floats like a rumor, repeated again and again.
by vachina | 2025-05-21 11:38:53+00:00
> This seems like it's fixing the symptom rather than the underlying issue?

Exactly. LLM does not know how to use a debugger. LLM does not have runtime contexts.

For all we know, the LLM could’ve fixed the issue simply by commenting out the assertions or sanity checks and everything seemed fine and dandy until every client’s device catches on fire.
by ravibits | 2025-05-21 11:39:55+00:00
Most OAuth flows assume users with browsers. But agents (think: your own AI agents, your customers’ AI agents, Slack bots, GPTs, custom workflows) don’t work that way.

How are you thinking about token lifecycles, delegation, impersonation, revocation, or dynamic discovery for non-human identities?

We’re working on this at Scalekit, inspired by MCP. Shared some notes here.
by bayindirh | 2025-05-21 11:40:06+00:00
As a matter of principle I don't use any network which is trained on non-consensual data ripped of its source and license information.

Other than that, I don't think this is bad tech, however, this brings another slippery slope. Today it's as you say:

> I think this process is intended for fixing papercuts rather than building anything involved. It just isn't good enough yet.

After sufficient T somebody will rephrase it as:

> I think this process is intended for writing small, personal utilities rather than building enterprise software. It just isn't good enough yet.

...and we will iterate from there.

So, it looks like I won't touch it for the foreseeable future. Maybe if the ethical problems with training material is solved (i.e. trained with data obtained with consensus and with correct licenses), I can use as alongside other analysis and testing tools I use, for a final pass.

AI will never be a core and irreplaceable part of my development workflow.
by 90s_dev | 2025-05-21 11:40:20+00:00
There is a difference though between showing off cool stuff and having the potential to show off cool stuff. I released my app in the latter phase, not the former, which is what I wanted to do. To be honest, I was just having a really bad day yesterday and was feeling really burnt out, so I just sort of gave up and released it, knowing full well I hadn't written the stuff to show off how cool this is just yet. I knew I should have waited. Oh well, lesson learned.
by m_fayer | 2025-05-21 11:41:03+00:00
Totally. I feel like it’s akin to jamming with someone. We both go down our own paths for a bit, then I have a next step for it, and I can review what it last came up with and iterate while it does more of its own thing. Rinse, repeat. This is more fun and less energy consuming than “do it all yourself”, which certainly means a lot.

This way works for me. Any time I tried to treat it as a colleague that I can just assign tasks to, it’s failed miserably.