> What's surprising is that while many submitters take that fairly well, some people get really indignant, essentially calling the maintainers ungrateful.
Why is it surprising that some people who expect results without spending any effort also feel entitled to receiving gratitude without putting in any thought?
If I don’t word these critiques in the most diplomatic way possible, this immediately turns into a discussion about the prevalence of anti-ai sentiment on hn. Which would be boring.
They're basically light fields, so even though they don't represent any geometry, you could easily integrate them into the rendering pipeline at the path tracing/rasterization stage for Cycles/EEVEE.
I think the "right" way to do it without forking Blender would be to write an OSL shader. Though the way I personally would have done it would be to convert the splat into an angle-dependent Math Node tree for an Emission shader, probably automatically with a Python script.
Trouble is light fields don't block geometry, so they would effectively blend additively and you would see right through them like a hologram. Easy enough to fix though, with a dummy mesh to composite out the background. Or you could just render the splat separately outside Blender, and composite your scene on top of it.
I'm not sure why you would want to, though. The splats couldn't be lit by any of the lights in your scene, nor can they receive shadows cast by any objects in your scene, because they're precomputed light fields. Objects in your scene could be lit by the splats, but it's not immediately clear to me that it would be much more useful or better than just having photos on billboard planes.
I think there might be a misunderstanding that splats provide a way to compute realistic lighting. In reality, they're only a way to store and sample pre-computed or measured lighting AFAIK, hence the need for OP's big camera rig. So integrating them into scene lighting or skeletal animation doesn't really apply.
Since splats sample the light field after surface reflection, you can't do realtime shading with splats the way you can with raytracing and rasterization. I guess it could be animated like a holographic movie, but not like a video game and not like a 3D editor, because the light for all angles in all frames has to be precomputed.
With the obvious caveat that low-level game engine, image/video processing, numerical code etc. isn't really viable in Python. But outside of that, it's fast enough for gluing together other code that's doing the heavy lifting.
Right, if you're writing an Xbox game for example you wouldn't go with Python but if you're in the range of use cases where a language isn't fully disqualified then the pure speed of the language itself rarely needs to guide the decision.
Generally you choose Python for the conciseness you mentioned, and then move the performance-critical functions into another language like C or (I find to be easiest) Cython. Ideally most of your code stays Python, and you either optimize self-contained pieces, or find library bindings that have done it for you.
A profiler like this can be used to identify which parts to rewrite in a faster language. Sometimes it's easier to write everything in Python first, then measure, than guess at the start which parts need to be fast.
You can also get gains by switching algorithms, both in pure Python and when using a compiled library like `numpy`. And there are also some operations, like string manipulation or the `sqlite3` module, where the Python runtime's implementation has already been optimized in a compiled language.
I have no idea if this is true, but I remember seeing in a Kurzgesagt video that developing phage resistance reduces antibiotic resistance, and vice versa. So you might corner bacteria by using both.
They've been constantly trying to set up P2P solutions. Torrents, DWEB, IPFS, Filecoin, WebTorrent, YJS, whole bunch of tech acronyms. I'm not sure much of it has really caught on?
Can you share more about your time at the Canadian one? I feel like there was a big hullabaloo about it years ago, but it's not really clear what they do.
Not sure what hullabaloo -- they do provide a bunch of services to Canadian institutions (including Libraries and Archives Canada) and they perform physical services like book scanning and in the last few years I believe they are the parent organization for the physical Canadian datacentre _somewhere in BC_.
For my work, I worked in their Archiving & Data Services department, on https://archive-it.org/ -- I didn't know this before I joined, but Internet Archive offers various for-pay services to other cultural institutions, mostly around archiving their stuff or white-labelling playback of archives.
On one hand this is neat, as IA have expertise around this, but on the other hand (as a Canadian) I don't like that it's not actually sovereign and that it looks like it's run by our government but that it's not. Tradeoffs, I guess.
Not only is the study testing something which only vaguely resembles how doctors diagnose patients, but isolated accuracy percentages are also a terrible way to measure healthcare quality.
If 90% of patients have a cold, and 10% have metastatic aneuristic super-boneitis, then you can get 90% accuracy by saying every patient has a cold. I would expect a probabilistic token-prediction machine to be good at that. But hopefully, you can see why a human doctor might accept scoring a lower accuracy percentage, if it means they follow up with more tests that catch the 10% boneitis.
What percentage of patients have blood clots in their lungs and a history of lupus, like the article described? That's not on the same level as a common cold at all.
> One experiment focused on 76 patients who arrived at the emergency room of a Boston hospital.
> In one case in the Harvard study, a patient presented with a blood clot to the lungs and worsening symptoms.
That's a single anecdotal fluke from the study, which is misleadingly used to represent the headlining percentages.
If you read the linked paper, it says the LLMs did not outperform any group of doctors in the most important cases:
> The median proportion of cannot-miss diagnoses included for o1-preview was 0.92 [interquartile range (IQR) 0.62 to 1.0], although this was not significantly higher than GPT-4, attending physicians, or residents.
And again, the bigger issue is that skimming nurse's notes and predicting the next tokens, as the study made the doctors do, is not how doctors diagnose medical conditions.
But that's not what I was responding to. "Oh, all of the cases are probably just common colds, so it just guessed cold and was right by sheer luck" is not what happened in the article.
Do you know how examples work? Or methodology? The claim I made is that statistical accuracy percentage ≠ healthcare outcomes, and you will mislead yourself in dangerous ways if you believe a headline that implies they're interchangeable. Not that the model literally guessed common colds when the patients had... boneitis...
The lupus anecdote on its own is irrelevant to the whether the statistics are being interpreted in valid ways or not. Also, I said nothing about luck.
The search APIs are separate from the repository URLs, and the different distros' APIs need to be parsed in different ways. And before you ask, the search APIs have to be separate from the repositories, if you don't want to waste disk, network, and time keeping hundreds of local index files up-to-date every week.
They can't just be "configured" by changing a URL. I guess maybe you could self-host the search page for some of the distros, and reuse the parser, but are people really doing that? Otherwise, you'd have to write new code to parse the results, at which point you might as well soft-fork the script anyway.
> Generally I advice against hard doing stuff that changes often and may need to be adjusted for different users or organizations.
YAGNI. And if your org does need it for some reason, you're probably better off running something specifically tailored for your own needs instead of whatever implementation makes it in.
The whole script's only 1300 lines. Would adding spending 150 lines on configuration and littering the user's dotfiles be worth it? Now what happens if the configuration's missing/corrupted? When you update the script, do you keep the old dotfile that might be using a deprecated API, or do you replace the old configuration and clobber any customization the user's done? Oops, there go another 1,000 lines, on edge cases, option flags, conf merging, warning messages... And good luck getting bug reporters to explain their configuration changes!
Also, this stuff doesn't "change often". The distros literally can't change it often, because doing so might break LTS stability. I know it's fun to point out perceived flaws in other people's work, but in this case, the URLs are tightly bound to the parsing logic, which is the right place to put them IMO.
The URL to search for packages in Ubuntu for example hasn't changed to my knowledge. Are you assuming it's only looking for packages in releases that were current at the time?
Why is it surprising that some people who expect results without spending any effort also feel entitled to receiving gratitude without putting in any thought?
reply