MurphyA/hacker-news huggingface dataset:
by wrs | 2025-05-15 18:55:34+00:00
Because you filled it out in the context of interacting with a medical provider, then gave it to them for their records, that is a medical record. (Just like a conversation with your doctor about your history would be.)

If you filled out the same form just to keep in your desk drawer for your family’s reference, it would not be. Also, if you ask for a copy of your record, as soon as you take personal possession of it, HIPAA no longer cares about it, because you aren’t a covered entity.

(Source: I founded a startup that spent a lot of money on attorneys to confirm this.)
by aothms | 2025-05-15 18:55:55+00:00
In my experience more often than not it'll do that for you and run the code to give you the answer.

E.g just now I ran:

~~~

What's the inverse of this matrix?

[[0.0759688880587972, 0.3299493758880664, 0.14599823333009276, 0.09897577338235164], [0.7478951343477207, 0.9006422280032432, 0.3137352150172843, 0.5974301357799204], [0.5568700534103693, 0.648666832906366, 0.5280912469659284, 0.5753861797637815], [0.7905984807343551, 0.053757547259005944, 0.9632727273522135, 0.44727851917969785]]

~~~

Reasoning output:

~~~

The user is asking for the inverse of a matrix. Since they want the result, I will compute it and present it as a matrix in Markdown. I’ll use Python for the calculation but won’t include any code in the final answer. It’s best to show the resulting matrix in Markdown so the user sees only the output, as requested. I’ll use Python to compute it and then provide the result without extra code.

import sympy as sp import numpy as np

# define the matrix M = np.array([ [0.0759688880587972, 0.3299493758880664, 0.14599823333009276, 0.09897577338235164], [0.7478951343477207, 0.9006422280032432, 0.3137352150172843, 0.5974301357799204], [0.5568700534103693, 0.648666832906366, 0.5280912469659284, 0.5753861797637815], [0.7905984807343551, 0.053757547259005944, 0.9632727273522135, 0.44727851917969785] ], dtype=float)

# calculate inverse invM = np.linalg.inv(M)

invM

~~~

And then I get a nicely formatted latex matrix as the final outcome.

(edit: that's 04-mini-high)
by cess11 | 2025-05-15 18:55:56+00:00
Someone linked the Plug docs elsewhere in this subthread, those show you how you can quickly launch a web server from a single file, including one with WebSocket capability.

In my opinion Elixir scripts punch way above their weight. It's trivial to pull in the same dependencies as you would in a full project and you can easily keep a set of five or ten template scripts just laying around and copy those when you want a quick start with some boilerplate for a set of dependencies that often comes in handy. You could do something similar with mix plugins but it requires a bit more effort.
by mindslight | 2025-05-15 18:57:02+00:00
Sure, and a home server / home automation is definitely a hobby. I've just had bad outcomes from overcomplexifying things to make them "more reliable", such that when they do fall over they've fallen over hard and don't necessary get up again without much more of a project. Which is bad for things you've come to rely upon, despite them being in the realm of a hobby.
by nwhit | 2025-05-15 18:57:50+00:00
Jsdom should work in deno, can you open a github issue (https://github.com/denoland/deno/issues) with some details and a reproduction?

All of the simple cases I've tried seem to work fine, e.g:

import { JSDOM } from "npm:jsdom"; const dom = new JSDOM( `<!DOCTYPE html><p>Hello world <img src="https://example.com/logo.svg" /></p>`, ); console.log(dom.window.document?.querySelector("p")?.textContent); // "Hello world" console.log(dom.window.document?.querySelector("img")?.getAttribute("src")); // "https://example.com/logo.svg"
by cesarb | 2025-05-15 18:58:13+00:00
> Replying to your specific point about virus scans. For some (naive) reason, I expect them to run a single time against a binary app that is never changed.

Playing devil's advocate: the executable might not have changed, but the database of known virus signatures changes daily or more often. Either every single executable would have to be re-scanned every time the database updates, or the executable has to be lazily scanned on load.
by vector_spaces | 2025-05-15 18:58:22+00:00
My main issue with numpy is that it's often unclear what operations will be vectorized or how they will be vectorized, and you can't be explicit about it the way you can with Julia's dot syntax.

There are also lots of gotchas related to types returned by various functions and operations.

A particularly egregious example: for a long time, the class for univariate polynomial objects was np.poly1d. It had lots of conveniences for doing usual operations on polynomials

If you multiply a poly1d object P on the right by a complex scalar z0, you get what you probably expect: a poly1d with coefficients scaled by z0.

If however you multiply P on the left by z0, you get back an array of scaled coefficients -- there's a silent type conversion happening.

So

P*z0 # gives a poly1d z0*P # gives an array

I know that this is due to Python associativity rules and laissez-faire approach to datatypes, but it's fairly ugly to debug something like this!

Another fun gotcha with poly1d: if you want to access the leading coefficient for a quadratic, you can do so with either P.coef[0] or P[2]. No one will ever get these confused, right?

These particular examples aren't really fair because the numpy documentation describes poly1d as a part of the "old" polynomial API, advising new code to be written with the `Polynomial` API -- although it doesn't seem it's officially deprecated and no warnings are emitted when you use poly1d.

Anyway, there are similar warts throughout the library. Lots of gotchas having the shape of silent type conversions and inconsistent datatypes returned by the same method depending on its inputs that are downright nightmarish to debug
by llm-exe | 2025-05-15 18:58:58+00:00
A few weeks ago I posted about llm-exe, a TypeScript library for structuring LLM calls with reusable components.

I just put together a Medium series that digs deeper into how it works. It breaks down the idea of an LLM function - an executor that wraps a prompt, a model, and a parser. Each part does one thing well, and together they give you a clean, well-typed, testable, and composable way to work with LLMs.

The posts walk through each layer: prompt, parser, LLM, executor. If you're building LLM features in production with TypeScript, I think you’ll find the structure helpful. I am interested in any feedback.

Medium series: https://medium.com/llm-exe
by gavmor | 2025-05-15 18:59:27+00:00
"Sound documentation" becomes something like SEO for agents. Take a look at the MCP spec[0]:

``` "metadata": { "name": "My MCP", "description": "A description of my MCP", "version": "1.0.0", // Optional "author": "Your Name", // Optional "license": "MIT" // Optional } ```

``` "tools": [ { "name": "tool_name", "description": "Tool description", "input_schema": { ... }, "output_schema": { ... } } ] ```

Each "description" attribute is an advertisement opportunity. APIs want to entice agents to select their tool.

0. https://www.mcp0.com/docs
by sunrunner | 2025-05-15 18:59:51+00:00
> token balance tied to watching old school regular ads

This feels like such a weird but also 'natural' extension of the current model where the timing of an ad is not guaranteed except for at least at the beginning of, say, a video. Instead of ads being inserted at times that may or may not correlate with some kind of 'pause' point, being able to opt-in to a number of duration of ads that equal payment

Taken _directly_ from Google's AI Overview of a search I did (to make sure I remembered correctly):

"In the fictional world of the Netflix series "Maniac", an "Ad Buddy" is a person who is assigned to follow another person around, delivering advertisements for them. Essentially, it's a human-powered advertising campaign, where someone is paid to be a walking billboard."
by abdullahkhalids | 2025-05-15 18:59:54+00:00
What has happened over the past few decades is that all the provinces have spent most of the development budget in the area close to the provincial capitals. The reason is a mix of governments operating on limited budgets prioritizing certain areas to get maximum short term gdp growth, and ethnic racism/corruption/etc.

Now, people in the undeveloped areas correctly feel like they are not represented by their governments. Creating more provinces means more spread out development. It also prevents the largest province from bullying the federal government into complying to its whims.

There are already 1.5 administrative layers below provinces (thanks to Britain I might add), but they don't function well at all. But that discussion cannot fit into a HN comment.
by computerbuster | 2025-05-15 19:00:25+00:00
This is an incredibly robust solution to a really pressing problem for a lot of individuals/orgs who want to use/deploy reasonably powerful LLMs without paying through the nose for hardware. Others have mentioned the hyperscalers have solutions that make some amount of sense (Azure confidential computing, AWS nitro enclaves) but if you read a bit more about Tinfoil, it is clear they want to operate with far less explicit user trust (and thus much better security). This team is setting the standard for provably private LLM inference, and to me, it makes other solutions seem half-baked by comparison. Props to this talented group of people.
by voidspark | 2025-05-15 19:00:38+00:00
I have never been thanked for replying here before. Thanks.

The optional choices happen when it tries to reason out a solution, but then finds it is making too many assumptions of unknown details about the user's system, preferences, goals, and so on. It's just a thought pattern that it has learned to emulate.

People here will argue that LLM's cannot truly "think", but they are good enough at emulating thinking.
by hulitu | 2025-05-15 19:01:11+00:00
> ... what MS workers do anyway? Apart from selling licenses.

Well, let's see: Rounding corners of buttons and window borders, making bigger titlebars for Office programs and increasing space between GUI elements, adding one more click to access the menu in Win 11, adding an useless "theme" setting with "default", "dark" or "light", where "default" can be either "dark" or "light". I think they call this innovative UX/UI, increasing startup time for all programs, etc.
by fluidwizard | 2025-05-15 19:01:39+00:00
I heavily use Zettelkasten combined with Emacs + Org Roam, it worked for me as I often want to link a wide range of information gathered through books, articles, etc, all the while being able to cite sources with bibtex and even generate diagrams and LaTeX equations on the fly.

I even wrote about it a couple months ago.

https://news.ycombinator.com/item?id=42560889
by Ozarkian | 2025-05-15 19:02:03+00:00
Everyone's social security number is available. If you go download the leak referring to in this HN post [1], your SSN is certainly in it. Mine was, everyone in my family's was, almost all of my friends' were.

The world needs to stop pretending that SSNs are secret. They aren't.

[1] https://news.ycombinator.com/item?id=41248104
by zpeti | 2025-05-15 19:02:23+00:00
> which show that peasants primarily moved into the cities during hard times, when famine and economic woes made their previous lifestyle impossible

this is exactly the point. Your children might only starve every 10 years, but when they do, a consistent factory work seems like a much better life. Just because you had 9/10 non-starving years doesn't mean the starving year is ok.
by watusername | 2025-05-15 19:04:11+00:00
Well, in an ideal world, _everyone_ would be using informative headlines, regardless of whether they are shutting things down or not.

For this post in particular, "An Early Look at Fresh 2" would make a better title, albeit with less "clickbait potential" (well, people love drama). With a "An Update on X" headline you both fail to inform and give the impression that you are killing the thing.
by Pet_Ant | 2025-05-15 19:04:11+00:00
> software developers ... prioritize selfish goals like ease of development or profits over the quality of the product.

What is an unspoken assumption in this type of complaint is that the software would still have gotten written if it had to be more handwritten. The amount of projects I've seen beached on an outdated version of Spring because they neglected upgrading even patch releases convinces me that more effort is just not tenable.
by nwhit | 2025-05-15 19:04:25+00:00
I don't think it's that complicated, in my mind it's as simple as the fact that the npm/node ecosystem is huge and not supporting it at all means having to reinvent each and every library that exists there. That is a huge task and in my experience, the lack of support for npm/node packages (used to) really hamper deno's usefulness.

Now you can tap into the npm ecosystem when needed, but still use deno-first libraries as you please. If you don't like npm, then you can ignore it entirely
by WCSTombs | 2025-05-15 19:05:35+00:00
If your arrays have more than two dimensions, please consider using Xarray [1], which adds dimension naming to NumPy arrays. Broadcasting and alignment then becomes automatic without needing to transpose, add dummy axes, or anything like that. I believe that alone solves most of the complaints in the article.

Compared to NumPy, Xarray is a little thin in certain areas like linear algebra, but since it's very easy to drop back to NumPy from Xarray, what I've done in the past is add little helper functions for any specific NumPy stuff I need that isn't already included, so I only need to understand the NumPy version of the API well enough one time to write that helper function and its tests. (To be clear, though, the majority of NumPy ufuncs are supported out of the box.)

I'll finish by saying, to contrast with the author, I don't dislike NumPy, but I do find its API and data model to be insufficient for truly multidimensional data. For me three dimensions is the threshold where using Xarray pays off.

[1] https://xarray.dev
by bumby | 2025-05-15 19:05:39+00:00
>And he would give negative points on assignments.

I remember reading (maybe from Nate Silver) of a professor who would use this technique to teach about uncertainty. You could weigh your overall grade with a proclamation about how certain you were about the answer. Right answers with high certainty could really amp up your grade, but conversely if you claimed 100% certainty on a question you got wrong, you’d fail the course!
by brosco | 2025-05-15 19:05:42+00:00
Have you heard of JIT libraries like numba (https://github.com/numba/numba)? It doesn't work for all python code, but can be helpful for the type of function you gave as an example. There's no need to rewrite anything, just add a decorator to the function. I don't really know how performance compares to C, for example.
by some_random | 2025-05-15 19:05:45+00:00
This is a really surface level investigation that just happens to exclusively use a part of the current multimodal model that is really bad at the task presented, that is demanding precise images, graphs, charts, etc. Try asking for tables of data or matplotlib code to generate the same visualizations and it will typically do far better. That said if you actually use even the latest models day to day you'll inevitably run into even stupider mistakes/hallucinations than this, but the point you're trying to make is undermined by appearing to have picked up chatgpt with the exclusive goal of making a substack post dunking on it.
by rekenaut | 2025-05-15 19:06:04+00:00
This is great aspect of it, but that doesn’t diminish that it feels so tedious to work with compared to Julia and Matlab. Some of that is just from trying to shoehorn Python as a scientific computing language, but I think it’s time to revisit whether Python should have first party support for vectorization, arrays in memory, and broadcasting as Julia and Matlab have.
by kazinator | 2025-05-15 19:06:26+00:00
> If you have a car, ...

Sounds vaguely like, why are you begging, and why should I give you anything, if you can afford cigarettes?

A lot of low-income Americans drive cars, and would be way more fucked without them, because of the way things are.

> that is much harder to tune and could present a far more serious impediment.

What impediment, and how is it harder to tune?

In principle, you can tune the system to such a fine granularity that, for instance, one specific license plate is permitted to enter the city, every four years on February 29th. And that is no easier to declare than any other tuning, like alternating daily between two halves of the license plate space.
by disambiguation | 2025-05-15 19:06:31+00:00
I wonder if it's that simple.

In terms of epistemology, not all information falls into pure true and false values. Sometimes the truth is fuzzy.

In terms of phenomenology, it's possible to have a uniquely subjective experience such that something is true for you and not for others. (Maybe Gordon really does get a better sear everytime he takes the steak out early, due to some hidden variable. Maybe hes falsely perceiving a perfect sear. Maybe he has different criteria of what that means)

In terms of communication, language is imperfect and the true message might get lost in translation. Maybe you intended to convey sarcasm but it was perceived as authoritative.

In terms of social dynamics, this resembled a reverse prisoners dilemma - cooperation is hard but ideal, meanwhile there's personal gain in bullshitting others.

Further there are positive reasons to distort and omit the truth such as discretion, dignity, social cohesion.

As for whether Ramsey's culinary entertainment is a positive justification, I think it's said best by the Prestige:

"Now you're looking for the secret... but you wont find it, because of course you're not really looking. You don't really want to know. You want to be fooled."
by YZF | 2025-05-15 19:07:18+00:00
I like the ideas here but I think the actual chance of getting sued for $3b is so small as to be negligible in the context of costs. It's also questionable how much the additional process/overhead moves the needle on that chance. Larger companies also have various "shields" against these sorts of lawsuits. E.g. they lobby politicians, they employ lawyers, they have legal and IP protection.

Just like anything else in life you want to look at the present value and then get insurance for huge risks.

That said agree that a startup can take more risk but I don't think that is the major factor explaining why larger companies tend to be process heavy and slower.
by mrguyorama | 2025-05-15 19:07:25+00:00
Apple's supposed high quality is mostly marketing.

They have constant, frequent, hardware design issues that they just don't even acknowledge and somehow people still treat their hardware as "high quality"

They once shipped a phone that lost signal if you held it with your hand. Their solution, after insisting that people hold their phone differently, was cheap plastic cases.

They shipped a new keyboard that would fail after singular grains of dust got into it, in order to save a millimeter of thickness on a product that was already quite thin. In order to repair or replace the keyboard, you have to replace half of the whole machine, for half the price of a brand new laptop.

Apple does not spend real effort on hardware quality.
by scotty79 | 2025-05-15 19:07:30+00:00
no-reply is a good practice. No business should ever encourage their customers to reply to the emails they are sending out. That's what scammers do.

To contact the company you should go to company website at the address you know (which shouldn't be given in email as well), log in and send a message through internal message system, possibly referring to the email that you recieved through a random code (those can be auto-suggested if they recently tried to contact you by email).

If you do anything else your communication knwowingly mimics communication of a scammer.

Unrequested email should always only be one way communication. Email is too untrustworthy for it to be anything more.
by lambdasquirrel | 2025-05-15 19:07:44+00:00
I think folks here have some idea how expensive chip fabs are. That's why only Canon is able to make their own sensors.

Sony makes sensors for pretty much everyone else. But it's well known that other folks e.g. Nikon have been able to get better signal-to-noise with Sony-made sensors than Sony themselves. I think Panasonic used to make their own sensors but with some recent re-org, that got spun out.

It's been widely rumored that Leica uses Sony sensors, but this gets repeatedly denied by people claiming inside information. We know that Leica was getting 24MP CMOS sensors from CMOSIS in the 2012 timeframe, but CMOSIS has since been acquired by OSRAM, and there hasn't been any verifiable information since then, whether confirming or denying a continued business relationship.
by theamk | 2025-05-15 19:08:47+00:00
that's the power of legacy. Adobe may think they can add junk to PDF like Javascript support, or lmz's "3D PDF" link below, but since PDFs viewers have a diverse ecosystem, those features won't have a great adoption.

And this is actually pretty great, maybe even the best part of PDFs! Companies _know_ that publishing PDF that require 3d-graphics or Javascript means many people won't be able to see them, so they publish good, static PDFs, maintaining virtuous cycle.
by bangonkeyboard | 2025-05-15 19:09:24+00:00
The exchange at 47:48 has been coming to mind more and more of late.

"Where do you see the future of Siri and other AI going?"

There's a lot of, I mean..."Siri and other AI," there's Siri, there's the..."Can you ask something a question?" Like, when we were doing Siri, I was blown away by it—having had my Master's in artificial intelligence—so when I saw Siri I thought, "Wait, this is supposed to be 20 years from now, I can't believe it's now." And I kind of thought, you know, Google is...if you go to a library and you look up in the card catalog, "What reference materials do you have related to this," and then you go and look at every one and figure out who's right. Siri is, you ask a reference librarian: "Go find the answer to this question." I think that sort of thing is very very interesting, and the more we can do to have that...now, if you look at AI, I think there's a lot we can do with AI that we're not doing right now that I hope we get to. I can talk about it if you want...?

"Let's go on."
by anthk | 2025-05-15 19:10:28+00:00
Magna Carta reminds me of the "Seven parts" from Alphonse X of Castille, nearly in the same era.

Also, for its day, it was kinda open-minded and progressive, and Alphonse X was a damn nerd as he ordered to compose a book of games like chess and more tabletop games like Nine Men Morris (Libro de los juegos/The Book of Games).
by airylizard | 2025-05-15 19:10:43+00:00
Right, the 4.1 training checkpoint hasn’t moved. What has moved is the glue on top: decoder heuristics / safety filters / logit-bias rules that OpenAI can hot-swap without re-training the model. Those “serving-layer” tweaks are what stomped the obvious em-dash miss for short, clean prompts. So the April-14 weights are unchanged, but the pipeline that samples from those weights is stricter about “don’t output X” than it was on day one. By all means, keep trying to poke holes! I’ve got nothing to sell; just sharing insights and happy to stress-test them.