MurphyA/hacker-news huggingface dataset:
"input interaction" markup languages are required in AI chatting
by zhangruize | 2025-05-10 06:38:33+00:00
A unified "input form" markup language should be added to all existing AI chats. Once the UI renderer of the AI chat recognizes such a markup language, it will render it into form elements such as buttons, options, and input boxes. In this way, when users reply, they don't have to write lengthy content completely. Instead, they can directly click on the options or buttons, or fill in the form to complete the input as a reply efficiently. This will significantly improve the reply efficiency of some chat interactions.

For example, when the MCP service requires users to supplement certain information, the LLM model will summarize it into the "input form" markup language, and users only need to quickly fill in this form to complete the reply.

Another example is that when custom instructions in a project or custom prompt files present some basic options for users to choose from, in the AI chat, these will be presented as clickable buttons instead of requiring users to manually input text for their replies.
by bruce511 | 2025-05-10 06:39:11+00:00
The whole concept of "turning lead into gold" is somewhat self defeating. Because turning lead into gold doesn't make lead as valuable as gold, it makes gold as valuable as lead.

This has happened before. Aliminium used to be very scarce, and hence expensive. More expensive than silver. The top of the Washington monument is capped with aluminum.

A new process was invented to extract aluminum. So scarcity disappeared and value is negligible. Today we use it for packaging soda.

Turning anything (cheap) into gold means gold is cheap. It doesn't make us all rich.
by cryptonector | 2025-05-10 06:42:40+00:00
> What's the solution?

Big things you use off-the-shelf libraries for. Small things you open-code, possibly by cribbing from suitably-licensed open source libraries. You bloat your code to some degree, but reduce your need to audit external code and reduce your exposure to supply chain attacks. Still, the big libraries are a problem, but you're not going to open code everything.

This isn't just Rust. It's everything.
by motoxpro | 2025-05-10 06:43:50+00:00
Doesn't that describe most good ideas in life? Things that are commonsense (especially after the fact), simple, seldomly well practiced because of human nature, and can be communicated in a few paragraphs but take years to understand?

Kindness, democracy, business, performance in sport, scientific method etc.

I don't know one good idea that can't be communicated in a page or less.
by nsonha | 2025-05-10 06:45:58+00:00
If you actually look it up you'll see more of them that are plugins than full editors.

I don't actually know their thinking but I know that for the VSCode ones (fork or extension), I tend to have at least 2 AIs at any point in time and compare them in my daily work. Probably when this field matures, lock-in will be more common, and you need control of the entire editor for that.
by franga2000 | 2025-05-10 06:46:57+00:00
They definitely don't make any sense for home battery storage, but the vast majority of even electrical engineers couldn't build something as reliably portable as these things. We used one of the bigger ones on a film shoot to power pretty much everything but the camera out in the field (literally in a field) and I wouldn't have even considered a DIY option. Even something as simple as weathersealing is surprisingly hard to get right and I doubt most even experienced electrical engineers could achieve these absurdly fast charging rates safely.
by rahimnathwani | 2025-05-10 06:47:52+00:00
My son uses Math Academy. My son has a folder of paper that's printed on one side and destined for the recycle bin. He uses when he can't solve the problems in his head.

I don't see any good reason to retain this stuff:

- his progress is tracked in Math Academy

- he doesn't need a reference sheet, as anything he needs to reference is stuff he will memorize using Math Academy or Anki
by ElFitz | 2025-05-10 06:48:13+00:00
There’s one business book I’ve actually enjoyed reading and somehow learned more from years after reading it than while reading it: Business Adventures.

It’s a bit silly, doesn’t pretend to be a guide, provide any wise advice of any sort, and certainly not to have the one grandiose radical new idea that will solve all your problems™.

But perhaps that’s why it works so well.
by bigstrat2003 | 2025-05-10 06:49:02+00:00
> I love reading and I love stories, but to me the appeal of videogames is to play.

I enjoy both. I wouldn't want a video game which has no interesting gameplay, but neither am I very drawn to games which are pure game and don't bother to have an interesting story. They are at least better than the former, and can even be good (Doom for example), but IMO can't reach the heights of games which are fun to play and have an interesting story.
by banana_giraffe | 2025-05-10 06:49:46+00:00
Very simple. You could either do what I did, and ask for details on each image, then ask for some sort of summary of the group of summaries, or just throw all the images in one go:

https://imgur.com/a/1IrCR97

I'm sure there's a context limit if you have enough images, where you need to start map-reducing things, but even that wouldn't be too hard.
by brianpan | 2025-05-10 06:49:56+00:00
100%

I lost power for a few days because of a downed power line in my backyard. The stress comes because all the "automatic" decisions that were made by organizing a system for your life fall apart. And you are overwhelmed by needing to continuously make new, suboptimal decisions and balancing trade-offs multiplied by the size of your family. And all your neighbors are trying to make the same decisions with the same lack of infrastructure.

Check into a hotel so the kids can have internet to do homework? Nope, hotels are already booked or also in the dark. Find somewhere farther from school and work and on top of that also puts more pressure on EV charging times? Ugh.

We were fortunate to have so many resources to help us and thankfully no one was injured, but even then, it was the most stressful week of my life in a long, long time.
by ngxson | 2025-05-10 06:51:10+00:00
We also support SmolVLM series which delivers light-speed response thanks to its mini size!

This is perfect for real-time home video surveillance system. That's one of the ideas for my next hobby project!

llama-server -hf ggml-org/SmolVLM-Instruct-GGUF llama-server -hf ggml-org/SmolVLM-256M-Instruct-GGUF llama-server -hf ggml-org/SmolVLM-500M-Instruct-GGUF llama-server -hf ggml-org/SmolVLM2-2.2B-Instruct-GGUF llama-server -hf ggml-org/SmolVLM2-256M-Video-Instruct-GGUF llama-server -hf ggml-org/SmolVLM2-500M-Video-Instruct-GGUF
by bigstrat2003 | 2025-05-10 06:52:09+00:00
> I enjoy avoiding story-driven games because they... lack replay value

I don't agree at all that this is true. I've greatly enjoyed replaying story-driven games much as I would enjoy rereading a book I enjoy. Much like with a good book, there is enjoyment to be had in immersing yourself in that world again, spending time with the characters you grew to like, and noticing things about the work that you didn't spot the first time around.
by tgma | 2025-05-10 06:52:16+00:00
I have used Telegram, iMessage, WhatsApp and Signal extensively in multiplatform settings. Only iMessage and Telegram have good overall UX (with the latter far more featureful and smooth than the former). Sure all "work" to some degree but the overall poor UX shows. It's more about polish issues and death with a thousand cuts, rather than one specific problem, although in the case of Signal, the out of place "Story" bullshit is a turn-off.
by danielhanchen | 2025-05-10 06:54:13+00:00
:)) I did have to update the chat template for Mistral - I did see your PR in llama.cpp for it - confusingly the tokenizer_config.json file doesn't have a chat_template, and it's rather in chat_template.jinja - I had to move the chat template into tokenizer_config.json, but I guess now with your fix its fine :)
by mindslight | 2025-05-10 06:54:36+00:00
If I wanted to come out balls-swinging like half the comments in this thread, I'd point out that those are likely just 170 volt power lines, and you could just take a length of dry plastic pipe and maybe some improvised arc flash protection and just move them. But there are damn good reasons why we repeat the mantra to not go near any downed power lines, especially in emergency situations where ad-hoc solutions tend to compound problems.

I'm thankful for OP writing up his experience. Did he do some ridiculous things due to stress? Yes! The whole point of writing it up is so that others can learn from it with cool heads, to avoid repeating those mistakes.
by rednafi | 2025-05-10 06:55:12+00:00
Odin truly feels like a C successor, and as someone who likes Go, it appeals to me a lot more than Zig or Rust. Partly because it took inspiration from the Pascal, Delphi, Oberon branch, same as Go.

I don’t particularly enjoy working on the types of problems Zig or Rust aim to solve. I spend the majority of my time working at layer 4, and Go makes it immensely enjoyable. But sometimes I want a bit more control over the hardware and don’t want to pay the cost of a GC. Odin feels just right.

In my case, the assortment of syntactic features like OOP, compile-time macros, or even the borrow checker suck all the fun out of programming. That’s why I still enjoy writing C programs, footguns and all.
by AStonesThrow | 2025-05-10 06:55:14+00:00
The "pixelated screenshots" ruse cracks me up.

Not long ago, I worked in education, grading online assignments. And it was completely asynchronous, non-interactive; students were often asked to submit multiple screenshots, and their grades would largely depend on the accuracy of the work they did according to what we could discern from the screenshots.

And in very short order, I began to be irritated by low-resolution pixelated screenshots. It seemed that many students were not good at taking legible screenshots and submitting them as-is without being downscaled or reduced in quality somehow.

And I asked a few coworkers, one of whom told me she could read it perfectly. I did not press those disputes. It was not trouble with my eyesight or anything, because I could zoom in on the graphics and the fonts could still be completely illegible and pixelated.

How difficult could it be? All students had validated their Windows 10 systems with good resolution; there was nothing stopping them from taking high-res screenshots and including them unmodified.

Well, it turned out that every single student who submitted a pixelated screenshot was cheating. Yes, the images were all recycled and copy-pasted back-and-forth from well-known cheating sites, also including GitHub.

Eventually when I found the patterns it was easy to point out how the screenshots were completely identical to the original sources, albeit some were even worse quality than before.

So I could catch a lot of cheaters just by noticing their screenshots were not original-quality. It sure was crazy out there.
by dust42 | 2025-05-10 06:55:33+00:00
To add some numbers, on MBP M1 64GB with ggml-org/gemma-3-4b-it-GGUF I get

25t/s prompt processing 63t/s token generation

Overall processing time per image is ~15secs, no matter what size the image is. The small 4B has already very decent output, describing different images pretty well.

Steps to reproduce:

git clone https://github.com/ggml-org/llama.cpp.git cmake -B build cmake --build build --config Release -j 12 --clean-first # download model and mmproj files... build/bin/llama-server \ --model gemma-3-4b-it-Q4_K_M.gguf \ --mmproj mmproj-model-f16.gguf

Then open http://127.0.0.1:8080/ for the web interface

Note: if you are not using -hf, you must include the --mmproj switch or otherwise the web interface gives an error message that multimodal is not supported by the model.

I have used the official ggml-org/gemma-3-4b-it-GGUF quants, I expect the unsloth quants from danielhanchen to be a bit faster.
by ZeroGravitas | 2025-05-10 06:56:38+00:00
It could be argued that the corruption of news media is the reason that the masses who support, and have always supported, climate action believe that it's not a widespread belief.

I'd argue it's fairly directly responsible for the small number who don't support climate action too.

And I think the same applies to governments kidnapping people and ignoring courts who tell them it's illegal.
by MrGilbert | 2025-05-10 06:57:23+00:00
I read a fair bit of criticism here in the comments. I think I understand where they are coming from. From my point of view, I like the simplicity of the DSL. I also love long-term projects. Great to see that you are working on it since 2018! And I think, from a western perspective, 10 bucks is a fair price to support you.

Some observations and bugs I encountered:

- A license added to Github: Currently, I don't know if I'm allowed to build an application using the package, say an integration to Obsidian or whatever.

- The example in your readme features the wrong group name ("Housing" vs "Main")

- Your DSL does not like comma-values. :)

- The DSL also does not like to see groups being used multiple times. So, what I wanted to try was:

= Housing - 2000 Rent - 1000 Utilities - 500 Leisure # 2025-05-09 = Groceries - 10 Coffee x 12 - 10 Milk x 12 - 20 Cereal x 6 # 2025-05-10 = Groceries - 2,60 Bread = Income - 5000 Salary - 1000 Side hustle + Income - Housing - Groceries

- The CLI will crash if it does not find a file. A better way to handle that would be to create an empty file.

- You are using Electron, so a Windows build would, of course, be nice.
by ffsm8 | 2025-05-10 06:58:11+00:00
I'm missing a history of past votes. Maybe a sliding window of the last n votes that you participated in and how you voted - as well as how it resolved.

Another idea that comes to mind is a to foster solidarity between voters by maybe notifying you if there is someone that voted exactly like you for the last n votes. Might be harder to do unless you're syncing votes via webrtc already
by simonask | 2025-05-10 06:58:22+00:00
I love this idea. There is some reminiscence of this in Rust, but it's opt in and based on convention, and only for `unsafe` code. Specifically, there's a trend of libraries using `#![deny(unsafe_code)]` (which will cause a compilation error if there is any `unsafe` code in the current crate), and then advertising this to their users. But there's no enforcement, and the library can still add `#[allow(unsafe_Code)]` to specific functions.

Perhaps a capability system could work like the current "feature" flags, but for the standard library, which would mean they could be computed transitively.
by unsnap_biceps | 2025-05-10 06:58:54+00:00
I'm curious as to why you choose to break out specific headers in the schema.

For example, you have recipients, subject, and sender as JSON fields, when you could have just a headers field with all of them, and even add the rest of the headers in the message.

If it's performance related, you can still have headers as a single json blob and then use generated columns for the specific fields.

For example

CREATE TABLE IF NOT EXISTS "messages" ( "id" INTEGER NOT NULL PRIMARY KEY, -- internal id "message_id" TEXT NOT NULL, -- Gmail message id "thread_id" TEXT NOT NULL, -- Gmail thread id "headers" JSON NOT NULL, -- JSON object of { "header": value }, "subject" TEXT GENERATED ALWAYS AS (json_extract("headers", '$.Subject')) VIRTUAL NOT NULL) ... ); CREATE INDEX subjectidx on messages(subject);

I've found this model really powerful, as it allows users to just alter table to add indexed generated columns as they need for their specific queries. For example, if I wanted to query dkim status, it's as simple as

ALTER TABLE messages ADD dkim TEXT GENERATED ALWAYS AS (json_extract("headers", '$."Dkim-Signature"')) VIRTUAL NOT NULL); CREATE INDEX dkimidx on messages(dkim); SELECT dkim, COUNT(0) FROM messages GROUP BY dkim;

or whatever you want.
by serial_dev | 2025-05-10 07:01:00+00:00
While I agree that many of these books are inflated from 5 pages to 250 on purpose so that they can sell a book, it is sometimes useful to hear an idea multiple times, with examples and explanations as to why that idea is important. I’m not sure all those details can be included in a 5 paragraph ChatGPT summary.

I find it extremely annoying in books, but I don’t mind it at all with audiobooks, it drives the point home and makes you think about the idea and how you could apply it in your own life while you are going for a walk or doing the dishes.
by ZeroGravitas | 2025-05-10 07:03:01+00:00
Those are almost all sanewashing headlines for truly terrible acts.

Literally things that you'd expect to find in an Alan Moore dystopian graphic novel, or as world building background TV headlines in a gritty Robocop described in peppy business as usual terms.

The top one is an alcoholic Fox News host being appointed as an Attorney General to replace a disastrous one that couldn't even get Republican support to be confirmed, a brief summary of his 120 days:

> He represented Jan. 6 defendants before getting the job, punished and demoted their prosecutors when he got it, and launched a series of ideological investigations (wokeness in medical journals, a five-year old Chuck Schumer gaffe) that went nowhere.
by simonask | 2025-05-10 07:04:23+00:00
Maintainers of all open source standard libraries are effectively "random third parties". With heavily used ecosystem dependencies (such as Tokio, but also swaths of small libraries, such as `futures` or `regex`), the number of people who have looked at the code and battle-tested it is also huge.

On crates.io, a good heuristic is to look at two numbers: the number of dependents and the number of downloads. If both are high, it's _probably_ fine. Otherwise, I'll manually audit the code.

That's not a complete solution, especially not if you're worried about this from a security perspective, but it's a good approximation if you're worried about the general quality of your dependencies.
by AStonesThrow | 2025-05-10 07:05:21+00:00
The trouble is that a lot of these streams are simply simulating estimates based on current ephemera, and the "current position" is a projection. So even after the spacecraft deorbits and crashes, they may still indicate it's up there somewhere. There is insufficient actual live telemetry or photography to indicate its actual position and status at this time. We'll only know when it's down after it's come down, basically.
by wqaatwt | 2025-05-10 07:06:48+00:00
> Now, young kids and adults are making bank

For every person who makes any meaningful amount of money doing that you need many 1000s of viewers consuming their content. So it’s not exactly sustainable as a career option for any besides a tiny handful of people in any meaningful way..

Also consumer has a limited amount of time to consume content in any given day so to some extent it’s zero-sum.
by astrobe_ | 2025-05-10 07:07:45+00:00
Baudelaire also translated many short stories from E.A. Poe [1], and the famous The Raven which Poe uses as an example in one of its short essay (or science-fiction story?), The philosophy of composition. [2]

[1] https://en.wikipedia.org/wiki/Charles_Baudelaire#Edgar_Allan...

[2] https://en.wikipedia.org/wiki/The_Philosophy_of_Composition
by MrJohz | 2025-05-10 07:07:51+00:00
It basically is that, although the key idea with signals is the automatic tracking. There's no sort of `signal.subscribe()` call happening, instead any time you use a signal inside a reactive context, it automatically gets subscribed. This simplifies a lot of patterns that would otherwise be rather complicated. For example, you might have an effect like:

if (showName()) { console.log(name()); } else { console.log("the name is a secret"); }

In this case, both `showName` and `name` are signals. If `showName()` is true, then the effect will automatically subscribe to both signals, and this function will rerun every time the name changes, or someone toggles `showName`. But if it's false, then the effect will only subscribe to the `showName` signal, which means even if the name changes somewhere else, that won't affect this expression at all.

In complex situations, it can be harder to see where the reactivity is flowing without the explicit subscriptions, especially at first, but it's also a lot more intuitive to just use data and have it automatically become reactive where it makes sense. It's also the base for most major web frameworks outside of React.
by pjmlp | 2025-05-10 07:08:30+00:00
Hard disagree the simplicity of Pascal, is what made it unusable outside the original goal to learn programming.

Instead we ended up with UCSD Pascal, Object Pascal, TMT Pascal, Quick Pascal, VMS Pascal, Delphi and what not.

By the time it came to be, ISO Extended Pascal was largely irrelevant, outside some UNIX compilers that supported it.

The Borland linage, after taking over Apple's design, which had input from Niklaus Wirth, is my favourite, then their management messed up.

In an ideal world, Modula-2 or Ada would have taken over, sadly no big name OS vendor, ever felt like adopting them.

As for Oberon, when I came to learn it, Oberon-2 was already out, eventually Component Pascal and Active Oberon were much more interesting to me.

While I appreciate Niklaus Wirth work, I was never a fan of the minimalism he tried to pursue with Oberon-07. Then rather use Go.

In the end, nothing of this will matter in the age of AI assisted tooling and code generation.

Arguing what is the best language is getting akin to argue about Assembly language syntax, when most people are using optimizating compilers.
by thi2 | 2025-05-10 07:08:39+00:00
I worked for two years on a medical app. From my limited experience with audits it was more focused on everything being compliant with the ISO 9001 & ISO 13485. Actual tech audits never happend and stuff like Emailing scanned letters never occured. However this was in Hessen and not Berlin.

My point being I guess its ok-ish to not know what software libs are, the paper workflow is still horrible.
by ksec | 2025-05-10 07:08:42+00:00
I have been skeptical of Swift ever since I heard the original goal was the one language to rule them all from Assembly to Javascript. When something is too good to be true it probably is. But I have also given Apple plenty of benefits of doubt.

It seems Swift 6.2 is still unfinished and is acting more like Java. Eternal evolution of language. While it is popular among tech and HN crowds to have new language and framework to play around and work. It brings particular little if not negative user experience in terms of final products. I often wonder if Apple could just have some light touches of improvement on Objective-C in the past 10 - 12 years and instead focuses on actual OS and Apps quality.

It is this lack of focus that has been with Apple since Steve Jobs left.
by rednafi | 2025-05-10 07:10:39+00:00
> Sorry to say, the software engineer knows next to nothing about "the right way" to design language features that people want to use or enjoy using.

Sorry to say that many PL researchers live in their ivory tower and know next to nothing about things that people care about. One could say that it's not their job, their job is to write papers and get tenure. The number of FP enthusiasts versus the number of large, useful systems written in those languages is all the proof you need.

My statement is a vast generalization and is equally incorrect as the original one.
by avidiax | 2025-05-10 07:11:24+00:00
My uneducated guess, fill the cavity with a reactive gas, then apply heat in one part of the process to react the gas with the walls, leaving a vacuum. Part of the article mentions silver cladding on the inside wall, which would be a getter for some gasses, with the downside that it is slightly tarnished.

Or, the entire process is performed under vacuum.

More likely, that part of the manufacturing process isn't fully solved, so they just have pumped samples.