MurphyA/hacker-news huggingface dataset:
by M0x20M1 | 2025-05-27 07:44:33+00:00
I worked as a postdoc in the same lab as Ming (the creator) when he was developing the first versions of this.

I am on the cheminformatics side and have done a lot of querying of data from mass spec files and having this as a DSL is highly convenient.

Typically we would use R/Python and the wetlab focused chemists would use GUI tools to inspect and compare spectra. I have also experimented with loading data into an SQL database for the obvious reasons and because the amount of data collected in the lab was such that indexing could be highly useful.

The major convenience in MassQL is the ppm thresholding that is build into every query, it makes any SQL you might write super long and ugly. Both the built-in support for isotope ratios and to be able to query both the full scan and the individual MS2 simultaneously is super useful. The wetlab people also found it much more intuitive than building a script in python or making convoluted SQL queries that could do the same.
by dijit | 2025-05-27 07:44:45+00:00
I’ve sent money to openbsd.

They might not be popular to use, but the absolute freedom of the software along with how simple it is written makes it an incredible “good” for studying OS design.

I have also donated to the FSFE (European FSF) and the Linux foundation, but we don’t get tax incentives for donating to charity in most european countries. So it’s quite costly.
by ndsipa_pomu | 2025-05-27 07:45:06+00:00
The other side of that coin is that burglaries are limited in that the criminals have to physically be present to commit the crime and that puts a hard limit on the number of victims. Posting incitements to commit violence on the internet is not inherently limited and can easily provoke riots based on complete falsehoods. There's also the much more dangerous issue of destroying democracy by misleading a large number of voters.
by kqr | 2025-05-27 07:46:50+00:00
Another way to do it would be

newtype Words = Words { getWords :: String } instance Semigroup Words where Words a <> Words b = Words (a <> " " <> b) instance Monoid Words where mempty = Words mempty fizzbuzz i = maybe (show i) (<> "!") . fmap getWords . mconcat $ [ Words "fizz" <$ guard (rem i 3 == 0) , Words "buzz" <$ guard (rem i 5 == 0) ]

but at this point I agree lists might be more clear.
by boredhedgehog | 2025-05-27 07:47:11+00:00
> We used to do the "everyone self-educate" thing. Most people couldn't read or write.

Do you regard that as intrinsically problematic? The people themselves weren't unhappy about their state, and society, too, could function well without mass literacy. There was a certain period where we thought training wage workers for their duties required them to be literate, but that might turn out to be unnecessary, if supplying an LLM is cheaper overall than mandatory school education.
by bjackman | 2025-05-27 07:47:15+00:00
You can review them but you can't look at the diff between them after they've been amended in response, so it's not actually a usable workflow.

IIUC the typical model is that people just upload new commits like "respond to review comments" and then eventually squash the whole PR into one commit when it's ready.

So basically you are just giving up on the idea that the commit history is part of the artifact you're working on.
by account-5 | 2025-05-27 07:49:12+00:00
So are you suggesting that the enforcement of the laws in question, per the article, are actually a cover to suppress something else? If you are you'll need to spell it out for me since what the article covers as criminal seems to fit what the laws state as criminal.

Power balances or plays in any society are inevitable. I just don't see it as relevant in this scenario. Certainly it's fashionable today to demonstrate how hard done by you are but in this context the people affected in the article are certainly inconvenienced by police at their door but hardly any of them that I can see were powerless and suffered because if it. Everyone can have their day in court. It's the courts that decide whether you're guilty, whether the police were over reaching; case law is full of such things.
by thyristan | 2025-05-27 07:49:24+00:00
https://www.newhall.co.uk/media/7440_msds.pdf

The H412 comes from sodium laureth sulfate (SLES) which is contained (in large amounts, like 20 to 70% by weight) in practically every kind of liquid soapy detergent, shampoo, liquid hand soap and what not. The only reason you know of that one product is that they seem to sell to professionals as well, which is why they need a material safety data sheet. Your shampoo doesn't need that, so you just don't know that it is just as harmful.

Edit: Dawn seems to contain it as well, look for CAS# 68585-34-2: https://msdsdigital.com/system/files/Dawn_Professional_Dish_... The missing H- and S-numbers in that datasheet come from the differing standards and maybe the different concentrations.
by arghwhat | 2025-05-27 07:50:04+00:00
> If an AI correctly guesses the outcome of a dice roll, it does not mean it knows the outcome in advance. Being correct is a necessary element of knowledge, but far from sufficient.

If we "know in advance", why wouldn't the AI?

If the AI doesn't "know in advance", why would we?

When I'm asked a question, the response and thoughts around it emerge only at that point, and from thin air. I certainly don't trawl an internal, constant knowledge bank of retrievable facts, and the time of day or preexisting conversation may affect whether or not I successfully "know" something in a particular conversation, despite having learnt it. At the same time, some things I "know" will just be wrong - the memory distorted or mixed with another, the whole thing imagined, or even just a failed recollection. And no, I certainly don't know if it has gone wrong unless it happens to result in e.g., contradictions I notice myself.

These kinds of justifications for why AI doesn't "know" always imply that the process of human thought emergence is well established and understood and easily differentiated, which just isn't the case. There most certainly are more differences than similarities between AI and the human mind, but I dont think the concept of knowledge is necessarily one of them.
by dotemacs | 2025-05-27 07:50:15+00:00
> Your options are kind of limited: - Amazon Q CLI - Claude Code CLI - OpenAI Codex CLI

Ampcode have a CLI, which is their agent using Claude 4.

Google also came out with Jules a few days ago.

There's aider, with which you can use whichever LLM you'd like.

I'm pretty sure that there are others...
by aaron695 | 2025-05-27 07:51:00+00:00
Old tech, but this video impressed me - https://www.tiktok.com/@halterhq/video/7504837843571838215

It's more than a virtual fence, it can move them and has health checks / in heat.

I don't know if you can split the herd once together but you can manage more mobs, bring them in groups (Like small and large) for milking or feeding.

You could be able to tell if they mated as well or ever direct the bull towards heifers that haven't.
Ask HN: A better video player to learn stuff?
by roel_v | 2025-05-27 07:51:04+00:00
I learn from videos and online courses a lot these days, and I'm perpetually frustrated by the poor UX of the video players they use. Pause something and the entire screen gets a black half-fade overlay, the pause and navigate controls now cover exactly the things I'm trying to get a better look at, can't zoom, scrolling/scrubbing is painful, changing/switching between playback speeds is cumbersome, no bookmarking inside videos, ... I understand all of these when it's about watching a movie, but none of them make sense to watch tutorials or other content that needs frequent pause/replay. So, does anyone know of a better solution?
by tsimionescu | 2025-05-27 07:52:17+00:00
I follow quite a bit of news on this from very anti-Trump, pro-immigration outlets and have not heard of actual citizens being deported yet, only legal permanent residents. Do you have any source, per chance?

Not that I would be surprised - given the lack of due process, it's easy to miss the fact that someone is actually a citizen. And of course, Trump has signed the unconstitutional executive order mandating that ICE should treat citizens that acquired their citizenship by jus soli be treated as non-citizens (if they were born on US soil to non-citizen parents) - so he clearly intends to deport some citizens.
by lizmat | 2025-05-27 07:52:33+00:00
Actually, a module can implement any export heuristics by supplying an EXPORT subroutine, which takes positional arguments from the `use` statement, and is expected to return a Map with the items that should be exported. For example:

sub EXPORT() { Map.new: "&frobnicate" => &sum }

would import the core's "sum" routine, but call it "frobnicate" in the imported scope.

Note that the EXPORT sub can also be a multi, if you'd like different behaviour for different arguments.
by strogonoff | 2025-05-27 07:53:10+00:00
Just call it “committing bad code”. LLM autocomplete aside, I don’t see how reviewing own code can happen without either a split personality, or putting enough time that you completely forgot what exactly you were doing and have fresh eyes and mind.

If person A committed code that looks bad to person B, it just means person A commits bad code by the standard of person B, not that person A “does not review own code”.

Maybe it’s a subjective difference, same as you could call someone “rude” or you could say the same person “didn’t think before saying”.
by oivey | 2025-05-27 07:53:10+00:00
It’s difficult to trace through the repo, but it looks like the compression ratios are computed by seeing how many pixel diffs were able to dropped. That’s interesting, but the more interesting comparison would be to the average byte size of each frame in the compressed YouTube video. Without this, it’s hard to tell if the algorithm is an improvement relative to current methods.

If the algorithm is lossy (small diffs are squeezed to zero) it probably should be compared to other lossy algorithms rather than lossless.
by mnky9800n | 2025-05-27 07:53:24+00:00
Replying to my own comment.

It might be nostalgia or whatever but I would rather see ad copy like this:

http://macmothership.com/gallery/gallery3.html

Than an influencer discussing some product they got for free. Like I don’t even blame the influencers I think it’s fine they do what they do. It’s more that it seems strange to me to have this artificial disconnect between the company selling the product and the consumer looking for products to buy. Old ad copy is much more honest in at least so far in its relationship between company and consumer.
by bilater | 2025-05-27 07:55:03+00:00
I built a workflow to auto-generate highlight clips from long videos.

I've been experimenting with a custom workflow to turn long-form videos into short, engaging highlight clips. I know a bunch of startups are in this space, but I wanted to build something lightweight and flexible just for fun — and ended up integrating it into one of my products.

Here’s the general flow:

Transcribe the video Use tools like Whisper, AssemblyAI, or Deepgram to get an accurate transcript.

Extract interesting clips Feed the transcript into an LLM (I recommend Gemini because of its long context and quality) and prompt it to segment the video based on criteria like "viral", "engaging", "funny", etc. Make sure it returns timestamps.

Generate the clips Use ffmpeg to slice the original video using those timestamps.

(Optional) Auto-crop for vertical If the user selects a mobile/short-form format, use something like Sieve to auto-crop and center the subject for vertical (9:16) output.

(Bonus) Enhance captions Run the extracted clip transcripts back through the LLM to pick out keywords or phrases to emphasize in the captions.

Add captions with styling Use Remotion or similar to render the clips with styled, animated captions. The component handles logic for timing and highlighting.

Render and download Batch render your clips and you’re done.

I used this exact pipeline to build a feature in one of my tools: https://www.shortsgenerator.com/highlights-generator

Appreciate any feedback!
by cwsx | 2025-05-27 07:55:16+00:00
> For greenfield it’s amazing

I'll preface this comment with: I am a recent startup owner (so only dev, which is important) and my entire codebase has been generated via Sonnet (mostly 3.7, now using 4.0). If you actually looked at the work I'm (personally) producing, I guess I'm more of a product-owner/project-manager as I'm really just overseeing the development.

> I have yet to see an LLM-generated app not collapse under it’s own weight after enough iterations/prompts.

There's a few crucial steps to make an LLM-generated app maintainable (by the LLM):

- _have a very, very strong SWE background_; ideally as a "strong" Lead Dev, _this is critical_

- your entire workflow NEEDS to be centered around LLM-development (or even model-specific):

- use MCPs wherever possible and make sure they're specifically configured for your project - don't write "human" documentation; use rule + reusable prompt files - you MUST do this in a *very* granular but specialized way; keep rules/prompts very small (like you would when creating tickets) - make sure rules are conditionally applied (using globs); do not auto include anything except your "system rules" - use the LLM to generate said prompts and rules; this forces consistency across prompts, very important - follow a typical agile workflow (creating epics, tickets, backlogs etc) - TESTS TESTS AND MORE TESTS; add automated tools (like linters) EVERYWHERE you can - keep your code VERY modular so the LLM can keep a focused context, rules should provide all key context (like the broader architecture); the goal is for your LLM to only need to read or interact with files related to the strict 'current task' scope - iterating on code is almost always more difficult than writing it from scratch: provided your code is well architected, no single rewrite should be larger than a regular ticket (if the ticket is too large then it needs to be split up)

This is off the top of my head so it's pretty broad/messy but I can expand on my points.

LLM-coding requires a complete overhaul of your workflow so it is tailored specifically to an LLM, not a human, but this is also a massive learning curve (that take's a lot of time to figure out and optimize). Would I bother doing this if I were still working on a team? Probably not, I don't think it would've saved me much time in a "regular" codebase. As a single developer at a startup? This is the only way I've been able to get "other startup-y" work done while also progressing the codebase - the value of being able to do multiple things at a time, let the LLM and intermittently review the output while you get to work on other things.

The biggest tip I can give: LLMs struggle at "coding like a human" and are much better at "bad-practice" workflows (e.g. throwing away large parts of code in favour of a total rewrite) - let the LLM lead the development process, with the rules/prompts as guardrails, and try stay out of it's way while it works (instead of saying "hey X thing didn't work, go fix that now") - hold its hand but let it experiment before jumping in.
by krisoft | 2025-05-27 07:55:35+00:00
> it's no surprise

The amount of your surprise is not a factor weather it is an attack or not.

You have been already asked about sql injections. Do you consider them attacks?

They are very similar. You concatenate an untrusted string with an sql query, and execute the resulting string on the database. Of course you are going to have problems. This is absolutely unsuprising and yet we still call it an attack. Somehow people manage to fall into that particular trap again and again.

Tell me which one is the case: do you not consider sql injection attacks attacks, or do you consider them somehow more surprising than this one?

> That's common sense, not mitigation.

Something can be both. Locking your front door is a mitigation against opportunistic burglars, and at the same time is just common sense.

> Expecting "security experts" to recommend that is like expecting a recommendation to always hash the password before storing it in the DB.

That is actually a real world security advice. And in fact if you recall it is one many many websites were not implementing for very long times. So seemingly it was less common sense for some than it is for you. And even then you can implement it badly vs implement it correctly. (When i started in this business a single MD5 hash of the password was often recommended, then later people started talking about salting the hash, and even later people started talking about how MD5 is entirely too weak and you really ought to use something like bcrypt if you want to do it right.) Is all of that detail common sense too? Did you sprung into existence fully formed with the full knowledge of all of that, or had you had to think for a few seconds before you reinvented bcrypt on your own?

> Common sense. Obvious.

Good! Excelent. It was common sense and obvious to you. That means you are all set. Nothing for you to mitigate, because you already did. I guess you can move on and do the next genious thing while people less fortunate than you patch their workflows. Onward and upward!
by rvz | 2025-05-27 07:56:03+00:00
I hope we are all now realizing (and as predicted) that vibe-coding is not only not software engineering but it is a complete scam.

If I wanted to find a way for someone to be completely dependent on wasting credits and hitting "accept all" and not knowing what they are doing, of course promoting this would be the logical way to get in more money.

Except that no-one wants to do free maintenance of that vibe-coded slop or write tests for it.

It turns out you still need a software engineer.
by JackYoustra | 2025-05-27 07:56:05+00:00
I read this book. Going into it, in my head, I thought flannery always got the shorter end of the stick and was unsure if welsh or immelt did the company bad.

After reading it, Welsh was great (his creation of GE credit, while merely just a shadow bank, was a bit innovative, not to the point of lionized but certainly worth a merit, but his day-to-day running and operation and cost cutting / discipline, outside of a couple deal heat moments seemed really quite good).

...except for hiring Immelt, Immelt was a ridiculous disaster of a CEO that my god should've been fired nearly immediately, and Flannery got completely shafted, someone threw him out, grabbed his plan, and basked in the credit. Super tragic to see.
by snickerbockers | 2025-05-27 07:56:51+00:00
I think we (as in, the whole species) need to reflect on what the purpose of education is and what it should be, because in theory there's no reason why anybody should pay for a college tuition and then undermine their own mastery of the subject. Obviously 90% of the student body sees it as a ticket to being taken seriously by prospective employers and the other 10% definitely does not deserve to be taken seriously because by prospective employers because they can't even admit an uncomfortable truth about themselves.

Anyways this isn't actually useful advice because no one person can enact change on a societal scale but I do enjoy standing on this soapbox and telling at people.

BTW academic success has never been a fair measure of anything, standards and curriculum vary widely between institutions. I spent four years STRUGGLING to get a 3.2 GPA in high school then when I got to undergrad we had to take this "math placement exam" that was just basic algebra and I only had difficulty with one or two problems but I knew several kids with >= 4.0 GPA who had to take remedial algebra because they failed.

But somehow there's always massive pushback against standardized testing even when they let you take it over and over and over again until you get the grade you wanted (SAT).
by cassianoleal | 2025-05-27 07:58:40+00:00
In my hometown there used to be at least 2 shops (yes, shops) that sold bootlegged/pirate software. Mostly games but they had all sorts of business software as well. This was earlier than the 90s.

The shops themselves were not in the software business. One of them was specialised in turntable needles, and it was pretty popular. You had to go to the counter and specifically ask for "the menu" in order to access the "other side" of the business. It was an open secret though, as there was a lot of traffic in the shop for "the menu". You'd choose what you wanted, paid for your copy and leave with a bunch of floppy disks with it. They charged extra for the actual disks but you could also bring your own and only pay for the service.

If you mean electronic music bootlegs, then I don't see why the media or the format is that relevant. It's still just regular bootleg, and it's been popular since whenever copying and selling music was made possible.
by pona-a | 2025-05-27 07:59:31+00:00
I'm no sure, if you mean having the LLM interact with the REPL. REPL requires a lot of discipline from the developer to keep track of its state. LLMs seem to be far worse at this sort of long-term state tracking than most humans. It would likely keep forgetting things, calling undefined functions, or mistaking its own interfaces.
by zer00eyz | 2025-05-27 08:00:01+00:00
In many cases I would argue that these ARE bugs.

Were talking about githubs token system here... by the time you have generated the 10th one of these and its expiring or you lost them along the way and re-generated them your just smashing all the buttons to get through it as fast and as thoughtlessly as possible.

If you make people change their passwords often, and give them stupid requirements they write it down on a post it and stick it on their monitor. When you make your permissions system, or any system onerous the quality of the input declines to the minimal of effort/engagement.

Usability bugs are still bugs... it's part of the full stack that product, designers and developers are responsible for.
by mike_hearn | 2025-05-27 08:00:31+00:00
You're talking about false negatives, not false positives. People have different tolerances for these kinds of errors.

But yes, I remember that to see that stuff you had to expand the down-modded comments.

That stuff was also a product of its time. Slashdot had the strong free speech ethos of the early internet, so CmdrTaco had a policy of never deleting comments unless they broke the site somehow or there was a legal process requiring it. Sometimes that meant very new stories would get these comments and they'd be visible before they got modded, but if you browsed stories that had been active for a little while you wouldn't see them.

One downside of a sophisticated moderation system on a site designed for programmers is that some people take it as a challenge. The reason Slashdot trolling was a bunch of dumb memes rather than e.g. commercial ads is because a lot of bored teenagers found spamming it a good way to learn web programming. The systematic nature of the moderation meant that it was a system to beat, a game to conquer. Hence the brief influx of "page widening posts" and other technical hacks. But I don't know if you'd see the same stuff today. The culture has changed, there are much better ways to learn programming and way more opportunities now. And you don't have to be fully automated. CmdrTaco had a strongly systems-oriented streak, but the problem on HN is hardly ever the actions of dang and the other paid moderators, it's really abuse of the overly simple system by other users that's a problem. You could have both good paid moderators and stricter controls on user moderation.
by tomaytotomato | 2025-05-27 08:01:04+00:00
I enjoy articles from the NYT, but like any media outlet that caters to A1 groups of people, it is a bit snooty and full of out of touch opinion pieces.

IMHO your money is better spent elsewhere if you want to counter the current political atmosphere. Grassroots organisations and your local political parties are more worthy of your money than some big media outlets that are for the most part "bought" by the big fish.