MurphyA/hacker-news huggingface dataset:
by duxup | 2025-06-04 13:08:27+00:00
I really wish this was one of those decisions that was isolated to the folks making bad choices, but the impact of these people's ignorant decisions can harm people who even have been vaccinated.

It is interesting how much of this seems internet driven and how much distrust of locals there is fueled by people ... that nobody knows / has ever met on the internet. It's disturbing how much pain and local division can be driven by folks who have nothing to do with the local community.
by fullstop | 2025-06-04 13:10:17+00:00
The only problem I had was when I had a OnePlus phone. It would show the little circles of "I found a bird" but not actually identify anything, and as far as I know it was a OnePlus specific bug. I have a Pixel now, and it works perfectly.

When I was in Aruba there was no bird pack which covered the island, but the one for Venezuela seemed to work for most birds that I heard.
by xpe | 2025-06-04 13:10:19+00:00
Fair points.

Generally speaking, I find it suspect when someone points to failed predictions of disruptive changes without acknowledging successful predictions. That is selection bias. Many predicted disruptive changes do occur.

Most importantly, if one wants to be intellectually honest, one has to engage against a set of plausible arguments and scenarios. Debunking one particular company’s hyperbolic vision for the future might be easy, but it probably doesn’t generalize.

It is telling to see how many predictions can seem obvious in retrospect from the right frame of reference. In a sense (or more than that under certain views of physics), the future already exists, the patterns already exist. We just have to find the patterns — find the lens or model that will help the messy world make sense to us.

I do my best to put the hype to the side. I try to pay attention to the fundamentals such as scaling laws, performance over time, etc while noting how people keep moving the goalposts.

Also wrt the cognitive bias aspect: Cryptocurrencies didn’t threaten to apply significant (if any) downward pressure on the software development labor market.

Also, even cryptocurrency proponents knew deep down that it was a chicken and the egg problem: boosters might have said adoption was happening and maybe even inevitable, but the assumption was right out there in the open. It also had the warning signs of obvious financial fraud, money laundering, currency speculation, and ponzi scheming.

Adoption of artificial intelligence is different in many notable ways. Most saliently, it is not a chicken and egg problem: it does not require collective action. Anyone who does it well has a competitive advantage. It is a race.

(Like Max Tegmark and others, I view racing towards superintelligence as a suicide race, not an arms race. This is a predictive claim that can be debated by assessing scenarios, understanding human nature, and assigning probabilities.)
by iLoveOncall | 2025-06-04 13:10:41+00:00
Yeah it's much more "hippie" than "hipster" which is what I guess the parent commenter meant.

I've personally followed their Project Kamp YouTube channel since it started (4 years ago), and I do think they deserve criticism.

If you go look at the comments of the vast majority of videos you can see commenters that are experts in their field giving advice about something done in the video that absolutely needs fixing (from basic PPE to building structure issues), only to be completely ignored by the team.

I do think there is some pathological incompetence here. At some point with the exposure they have and the advice and supoort (including financial) that they receive, there's little left to do other than call them out.
by elif | 2025-06-04 13:10:48+00:00
This is a tangent but yesterday I was just pondering the abstraction layer from machine code to assembly lexers to compilers to interpreted languages. Having been lucky enough to be born at a time to witness these shifts, it's so easy to forget what we used to think was normal.

The thought came to me when testing the new Jules agentic coding platform. It occured to me that we are just in another abstraction cycle, but like those before, it's so hard to see the shift when everything is shifting.

My conclusion? There will be non-AI coders, but they will be as rare as C programmers before we realize it.
by calrain | 2025-06-04 13:10:57+00:00
I like the analogy, but I'd adjust it a bit.

Vibe Coding is you teaching a learner how to drive a car. You are in the passenger seat, and your job is to get the learner to drive the car to where you want to go.

The learner has a lot of book knowledge, knows the traffic rules, knows the car, but doesn't have much experience driving for you and needs help driving in a way that is suitable for the roads you have to travel over.
by coredog64 | 2025-06-04 13:11:28+00:00
There's a coarse option: Set up a budget and then a budget action. While ECS doesn't have GPU capabilities, the equivalent here would be "IAM action of budget sets deny on expensive service IAM action" (SCP is also available, but that requires an AWS Org, at which point you've probably got a team that already knows this)

It's coarse because it's daily and not hourly. However, you could also self-service do some of this with CloudWatch metrics to map to a cost and then have an alarm action.

https://aws.amazon.com/blogs/mt/manage-cost-overruns-part-1/
by ff317 | 2025-06-04 13:11:47+00:00
I like this argument, but it does somewhat apply to software development as well! The only real difference is that the bulk of the "licensed work" the LLMs are consuming to learn to generate code happened to use some open source license that didn't specifically exclude use of the code as training data for an AI.

For some of the free-er licenses this might mostly be just a lack-of-attribution issue, but in the case of some stronger licenses like GPL/AGPL, I'd argue that training a commercial AI codegen tool (which is then used to generate commercial closed-source code) on licensed code is against the spirit of the license, even if it's not against the letter of the license (probably mostly because the license authors didn't predict this future we live in).
by reverendsteveii | 2025-06-04 13:12:14+00:00
I'm in the field, I built the software in your cpap machine and home sleep study that we use to test and treat them. It comes down to microarousals, which is where you wake up just enough to disrupt the sleep cycle without actually becoming consciously aware. A smart watch can detect that, and it can also measure o2 saturation in your blood. To my mind that means that a smart watch can determine whether your sleep is interrupted and by how much, and even gather some evidence that apnea could be among potential causes (there are other ways to have low o2 saturation) but I don't think it can actually diagnose.
by neomech | 2025-06-04 13:12:26+00:00
In 1982, I programmed my ZX81 by converting assembly to hex by hand because BASIC was just too slow. I'd write my assembly on paper, convert it to hex using reference tables, then use a simple BASIC FOR loop to POKE the values into memory we'd reserved space for the machine code in a REM statement at a fixed position in memory.

When all the values were POKEd in, I'd save to tape and execute it with RAND USR 16514.

That memory address is permanently etched in my brain even now.

It wasn't good, bad or scary it was just what I had to do to make the programs I wanted to make.
by q3k | 2025-06-04 13:12:45+00:00
See, this is what I don't get about the JS/NPM ecosystem.

This is 140 lines of code, with comments. Yet it gets a whole separate repository, with a cute name, fancy README, little emoji graphics and a bespoke logo. All of this for functionality that other languages have in their stdlib.

It's almost like it's more of an exercise in marketing than an attempt to actually make a useful library.
by qsort | 2025-06-04 13:14:08+00:00
I guess it depends? It seems a limited offering if you're planning to go all-in on agents, but on the other hand one of the most common complaints about Claude Code is that its costs are unpredictable and weird.

Your mileage may vary dramatically, but I don't think I would subscribe to Pro just for this. It's a "nice to have" on top of my existing Pro subscription whose services are the bulk of the value I'm paying for.
by genocidicbunny | 2025-06-04 13:14:48+00:00
> 1. For most people using multiple SCMs is just a huge and easily-avoidable mistake. Most people can just mandate a single SCM for a project and then all these problems are moot.

You talk about SCMs, we're talking about VCSs. Where it's not just source code under control, or even source code with a handful of binary assets. Imagine dealing with a VCS that has to handle 15 years and a few petabytes of binary assets. Or individual files that were multiple gigabytes and had changes made to them several times per day. Can git do that gracefully just by itself? Or SVN? Even Perforce struggled with something like that back in the day.

>Very unclear why anyone needs this. There's no standard way to code-review a binary diff (it depends what the blob is that you're diffing) so how would it help if you had this standard way to represent the diff?

A standard way of handling the binary data doesn't mean understanding the binary data. You can leave that up to specific tools. What you need though is a way to somehow package up and describe those binary diffs enough that you can transport the diff data and pick the right tool to show you the actual differences.

> This goes away if you just use one SCM for a project which you should anyway for everyone's sanity.

And if wishes were fishes, I'd never be hungry again. If you have a lot of history, a lot of data, a lot of workflows and tools built up around multiple VCSs, then changing that to just one VCS is going to be a massive undertaking. And not every VCS can handle all of the kinds of data that might get input into it. Some are going to be good at text data, some might handle binary assets better. Some might have a commit model that makes sense for one type of workflow but not for another. For example, you might be dealing with binary assets where you can only have one person working on a specific file at a time because there's no real way to merge changes from multiple people, so they need to lock it. For text assets though, you might be able to handle having multiple people work on a file. To afford both workflows, your VCS now needs to not only support both locking modes, but be hyper-aware of the specific content to know which kind of locking to permit for specific files.

The world doesn't always fit into the nice little models that the most popular VCSs provide. So if you're trying to not limit your product to supporting just those handful of popular VCSs, you can't just assume everything will fit into one of those models.
by teeray | 2025-06-04 13:14:48+00:00
> there is no fundamental difference from a exception

Flow of control is obvious and traceable with explicit errors—they are not some “other” to be dealt with. Exceptions in many languages are gotos, except you don’t know where you are going to and when you might goto. Can this method fail? Who knows! What exceptions can be thrown by this? Impossible to say… better to simply `catch Exception` and be done with it.
by CGMthrowaway | 2025-06-04 13:15:47+00:00
Fiddler crabs have one large claw and one small one. Usually which is bigger (right or left) is distributed 50/50. But there is one species - an Australian one - where only 1.4% are left-clawed.

A crab finding itself left-clawed means they fight differently and are generally less successful in fights, thus they live a more asocial life by choice and necessity. https://en.wikipedia.org/wiki/Gelasimus_vomeris
by aaronbaugher | 2025-06-04 13:17:30+00:00
I started with Z-80 assembly, then BASIC, then 6502 assembly, then higher-level languages like C and perl, and I think the assembly gave me a useful foundation for what was going on under the hood. I'm not sure I'd even call assembly a "language" in the sense of the others. It has instructions, not statements, and there's really no syntax.

If I were teaching a general-interest programming course, I'd probably start with just a bit of BASIC to introduce a few broad concepts like variables and looping, then a little assembly to say, "And this is what's going on when you do those things," and then move up the chain. Then when they get to something like C and go to look at the assembly it produces for debugging, they'll at least be familiar with concepts like registers and branching. So not quite the order I happened to do it in, but similar.
by jajko | 2025-06-04 13:17:55+00:00
Maybe you are tech nerd so all the probable tech progress would amaze you. But unless you yourself would literally do time travel (and be treated like a primitive Neanderthal), your level of satisfaction would most probably be the same since all amazing and cool becomes a new baseline rather quickly, and curiosity and longing for next future would be there again.

We could also end up in millenia-spanning dictatorship of immortal piece of scheize egomaniacs like stalin, hitler, puttin', trump and so on and on. All of them would kill millions to achieve that, in a heartbeat with no remorse.

We could also destroy our ecosystem beyond easy repair and live in postapocalyptic mad-maxesque world (sure it will bounce back in a million years or two, but we would most probably be wiped out along the path). I look out of window on a dense beautiful wild forest in full bloom, doesn't get much better than that.

Nah, these are pretty good times we, most of us at least, have right now. If you are not happy now, chances of being happy some other time are slim.
by oldjim69 | 2025-06-04 13:17:57+00:00
Tough to know where to start. Pretty much every fact asserted in this piece is without any real evidence.

Starting at the end >This change occurred as a result of William the Conqueror’s defeat of Harold Godwinsson at the Battle of Hastings in 1066. As a result of this, William claimed that he had won the whole country by right of conquest. Every inch of land was to be his, and he would dispose of it as he thought fit.

>All land was thereafter owned by the crown. Perhaps in this can be found the seeds of the desire by the lords for the Magna Carta

This is simply not true that William claiming this was somehow new or novel. Lots of kings did this at the time. The Anglo-Saxons by Marc Morris illustrates this well.

Further, yes the dark ages were decentralized, but not at all because of the reasons in the piece. They were decentralized because the was an era of incredibly high friction. It took forever to get anywhere, to tell anything to anyone, to trade, to make deals, collaborate, to organize people. A bad harvest could wipe out a decade of hard labour building up a community. In that context there were just very few centriphical forces pulling things to the center.
by rajkhare05 | 2025-06-04 13:18:22+00:00
Location: India

Remote: Yes

Willing to relocate: Yes

Technologies: Node.js, JavaScript, TypeScript, Golang, C/C++, MySQL, PostgreSQL, Express.js, React.js, Next.js, HTML, CSS, Tailwind, Git, Docker, Linux.

Résumé/CV: https://docs.google.com/document/d/1t9Utf1bETriKRhVZMUkGPoiI...

Email: 06rajkhare04@gmail.com
by grues-dinner | 2025-06-04 13:18:38+00:00
Then again, in terms of direct threats to birds, ignoring climate change, things like powerlines (25 million birds a year in the US), and more significantly air pollution (200-2000 million), windows (2000 million) and cats (1000-4000 million) even very high estimates of 2 million a year including things like habitat destruction and extra powerlines (more direct estimates from collisions are around the 500k mark) from wind turbines make them in turn seem like the lesser of the problems.

Which is not to say it's not an important factor, especially as they affect very specific kind of birds disproportionately, but it's not like wind turbines are primarily bird-killing devices, and it's even possible they may be net benefits to birdkind by, say, reducing air pollution.
by kibwen | 2025-06-04 13:19:44+00:00
> But what if we want to represent a number larger than 12 bits? Well, the add instruction doesn't let us represent all such numbers; but setting sh to 1 lets us shift our number by 12 bits. So for example we can represent 172032172032 by leaving our 42 alone and setting sh to 1. This is a clever technique for encoding larger numbers in a small space.

This is whacky. So presumably adding with a 24-bit constant whose value isn't representable in this compressed 13-bit format would then expand to two add instructions? Or would it store a constant to a register and then use that? Or is there a different single instruction that would get used?

(Also, typo, 42 << 12 is 172032).
by pjmlp | 2025-06-04 13:19:49+00:00
Android for a very long time lacked a quality JIT, AOT and GC implementation, and then each device is a snowflake of whatever changes each OEM has done to the device.

Unless one knows exactly what ART version is installed on the device, what build options from AOSP were used on the firmware image, and what is the mainline version deployed via PlayStore (if on Android 12 or later), there are zero conclusions that one can take out of it.

Also iOS applications tend to just die, when there is no more memory to make use of, due to lack of paging and memory fragmentation.
by ChrisArchitect | 2025-06-04 13:20:24+00:00
> For sure the job of programmers and artists will change, but they won't vanish.

But they will vanish for the vast majority. It's the scale of it. The scale of the vanishing is not miniscule.

> People will always value well crafted products.

But again, in this case what will be left is only a few crafters, the privileged few, because no one else can afford to delve into whatever space. It's the scale of the destruction.

Lose me in these articles when they take on this sort of privileged engineer dismissiveness.
by dagw | 2025-06-04 13:20:52+00:00
how's Sonnet vs Opus in terms of daily coding?

For doing 'boring' day to day things in python I find them more or less the same. For doing non-trivial things in Rust, Opus is much better. Sonnet is much more prone to producing garbage that is just completely wrong in those cases. However I find Gemini 2.5 Pro better than both for harder programming problems.
by wiether | 2025-06-04 13:21:06+00:00
I was still interested by the synopsis!

Until I look out and found that it's a romance book... No thanks!

And if anyone is still looking for the real book, it's this one, by James Salzman & Michael Heller https://app.thestorygraph.com/books/fd8d48d8-f8e0-4693-a064-...
Show HN: PatchPub – Patch any PHP Composer dependency anyway you need
by dimitri-koenig | 2025-06-04 13:21:11+00:00
Hi HN

I've build a composer-patches alternative, with witch I can change any file in any dependency used by Composer, and manage patches for multiple projects, all in one place.

My biggest pain points with the existing composer-patches packages are:

- They work only after a dependency is downloaded/extracted. So no way to change composer.json, for example to adapt the supported PHP version, or another package version, because it's fixed.

- They only support diff patches. I have to update patches anytime the diff doesn't work anymore. Sometimes I just need a simple search&replace, or replace a whole file.

- Sometimes a patch error gets lost in the whole stream of composer messages, when running "composer update". So I don't realize until later that a patch didn't apply.

- Managing same/similar patches across multiple projects and php versions and package versions is a big pain...

- I don't like to fork GitHub Repositories and patch there, and wait until the package core maintainer finally merges my PR (or not), and maintain my fork the whole time (or longer).

So I build my own solution, PatchPub, and already integrated it in production projects.

With PatchPub you can:

- Patch any file, anyway to you want (search&replace of strings, or using regex; replace file content; apply patch, import GitHub Pull Request)

- Manage patches and projects all in one place, which is really helpful with many projects.

- Get error notifications if a patch cannot be applied anymore, right after a new version of a package is released.

- Many more...

Feedback welcome on:

- Are there other game changer features you need to switch from other composer-patches plugins?

- Would you test or use PatchPub at all?

Thx in advance for any feedback...
by Bender | 2025-06-04 13:22:12+00:00
That is certainly the purist view. I just came off a 3 day fast and in that time I had some Benfotiamine, B-50 complex and Magnesium. Despite having zero calories and zero insulin impact they do have an impact on the bodies metabolism so a purist would also say I broke my fast but I reject that reality. Some of the times that I have fasted longer 5 to 7 days I also had Krill Oil (5 calories) and that also would break the fast according to purists. 5 calories are not going to shut off fat burning when I am in a 2700+ calorie/day deficit by BMR. When I actually break my fast I can feel the changes in the gut, mood, Ghrelin production, etc... Admittedly I am basing this entirely on a gut feeling. Either way my end goals are accomplished burning some fat, improving my overall feeling of wellness, improving my sleep, improving my vision so it works for me.
by 827a | 2025-06-04 13:22:26+00:00
It depends on whether you're on gen1 or gen2 Cloud Run; the default execution environment is `default` which means "you have no idea because GCP selects for you" (not joking).

Counterintuitively (again, not joking): gen2 suffers from really bad startup speeds, because its more like a full-on linux VM/container than whatever weird shim environment gen1 runs. My Gen2 containers basically never start up faster than 3 seconds. Gen1 is much faster.

Note that gen1 and gen2 Cloud Run execution environments are an entirely different concept than first generation and second generation Cloud Functions. First gen Cloud Functions are their own thing. Second generation Cloud Functions can be either first generation or second generation Cloud Run workloads, because they default to the default execution environment. Believe it or not, humans made this.