Hacker Newsnew | past | comments | ask | show | jobs | submit | Timon3's commentslogin

From a developer perspective you're obviously correct, but from a user perspective it doesn't make sense that the tool discards information, especially when competing tools don't do that.

Of course as a developer that makes it all the more impressive - kudos to the team for making such big progress, I can't wait to play around with all the new improvements!


Cropping IS a destructive operation. If the program isn't throwing information away, then it doesn't actually do cropping, but some different operation instead.

From a user perspective I wouldn't like it, if I were to crop something and the data would be still there afterwards. That would be a data leak waiting to happen.


I genuinely can't empathize with this objection. To me it's basically the same as arguing against Undo/Redo in a text editor because someone could come along and press Undo on my keyboard after I've deleted sensitive data.

What percentage of users sends around raw project files from which they've cropped out sensitive data to users who shouldn't see that data, vs. what percentage of users ever wants to adjust the crop after applying other filters? The latter is basically everyone, the earlier I'm guessing at most 1%?


but nobody argues against undo/redo in gimp!

going by your text editor analogy, we are arguing against implementing undo/redo as a "non-destructive delete", based on adding backspace control characters within the text file. I want infinitw undo/redo, but i also want that when I delete a character it is really gone, not hidden!


Sorry, but I still don't see it - the text editor analogy is stretched far too thin. If I share a project file, I want the other user to see all this stuff. If I don't want them to see all this stuff, I send them an export.

It would be a true shame if every useful feature was left out due to 1% of use cases becoming slightly different.


Which agreement are you referring to? The commonly cited 2% agreement that I'm aware of was for 2025 - which all members reached. When was Europe ever non-compliant?


So yes, you're talking about the target of 2% by 2025. Why are you saying that the countries didn't comply with the target, when they did?

If the US wanted the 2% target to be met before then, you should have negotiated an earlier deadline. Don't agree to one deadline and then cry because an arbitrary earlier one hasn't been met.


It's part of the conditions for NATO membership. Oh and to have 4% as a target.

Of course they have renegotiated, and so now the target is 2% by 2027, with all historical arrears forgiven, and several countries have already publicly announced they agreed to it, won't do it (Ireland and Spain I'm aware of, I doubt they're the only ones)

You could also see this as most countries joining, promising to do this starting in 1949. Not even in the first years did most countries do this (except France). So most countries are let's generously say 1% of GDP in arrears, for 75 years now ...


> It's part of the conditions for NATO membership. Oh and to have 4% as a target.

Could you please share where the 2% were defined in the requirements since 1949, and where the 4% are currently defined?

As I already stated, the 2% requirement I'm aware of was negotiated in 2014, to be reached by the end of 2024. If this is indeed where the 2% come from, it's obviously completely ridiculous to act like the member countries didn't meet the requirements - it wasn't a requirement of the treaty they signed!


I keep trying the "native" solutions every so often, but every time I quickly hit some snag that makes me question why I'm not just using the solution that actually works. As an example, I just generated a new project using create-vite & added two subpath imports:

    {
        // ...
        "imports": {
            "#assets/*": "./src/assets/*",
            "#/*": "./src/*"
        },
        // ...
    }
The second one (#/*) is similar enough to what I usually use (@/*), and it's supported in Node since v25.4.0! Yet when I try to import the file at projectRoot/src/router/index.ts using:

    import router from "#/router/index"
VS Code shows an error: "Cannot find module '#/router/index' or its corresponding type declarations."

Now, imports from e.g. "#assets/main.css" work, so I could work around this issue - but this is what I keep experiencing: the native variant usually kinda works except for the most common use case, which is made unnecessarily awkward. For a long time this is what ESM used to feel like, and IMO it still does in places (e.g. directory imports not working is a shame).



I'm confused myself. I have one project that uses package json aliased imports and TS doesn't complain. Then another where it does.

I take Grokipedia very seriously as a threat to society. Sure, they're happy if people read it and fall for - but the primary goal is not to convince humans, but to influence search results of current models & to poison the training data of future models. ChatGPT (and most likely other models/providers too) is already using Grokipedia as a source, so unless you're aware of the possibility and always careful, you might be served Musks newest culture war ideas without ever being the wiser.

It's not enough that everyone on Twitter is forced to read his thoughts, he's trying to make sure his influence reaches everyone else too.


I've seen Claude pick it up too. It's disconcerting.

There's more than enough of them to materially affect election outcomes. The number of votes you'd have to change to flip the outcome of the last few elections was very small, and the parties have a very good idea of which locations they'd have to disturb to achieve the greatest effect.

Now imagine you're a voter who shows any signal of potentially being Dem-aligned - for example a slightly darker complexion, or maybe dyed hair. On your way to the polling station, masked ICE goons "scan your face" with their AI apps, and the apps tell them you're illegal, so they put you into a van and drive you to a holding facility.

What recourse do you have? Even if they let you go the next day, you've lost your vote. And that's not a given, what if they hold you for weeks or months? How many people have others who depend on them, so they can't risk this?

I don't mean to sound dramatic, but if anything like this happens (and there's basically no way it won't) the fascist takeover is complete, and your only recourse left is civil war.


Yet somehow we don't need a similar reminder for the possibility of fossil fuel power plants running out of fuel after a short time if not regularly restocked. Why is it worth bringing up one, but not the other?

"Rank and file" employees choosing to prioritize morality very, very frequently pay real costs for doing so - with a much larger personal impact than executives feel.

Only in very rare circumstances where the obvious answer and their procedural work dont align.

When making an operational decision that affects the direction of the business, morality is almost always a concern -- even at the level of "do our customers benefit from this vs., do we?" etc.


Where do you get the idea that those circumstances are "very rare"? Workers are being asked to break rules and do unethical things all the time, and you're pretty much guaranteed to pay a personal cost if you refuse.

Meanwhile morality is almost always one of least important factors when making operational decisions.


I don't think the situations are remotely comparable due to the additional spatial dimension available to birds (and fish). When you have a person on each side, and they get pressed into you with enough force, you have no chance - of course people panic. I'll wager the guess that something like this has never happened to a bird.

Groups of fish and birds both extend into that "extra" dimension so it's not as though there's additional empty space available to them. Yet both sorts of creature exhibit functional group behavior that coordinates high speed travel while being packed fairly tightly. Humans don't do that.

That said, failure likely looks quite a bit different. For both fish and birds there's nothing at the edges constraining the cluster aside from unusual situations such as a net or a cave. Whereas the most notable human failures involve what amount to walls on multiple sides.

It's amusing to visualize a flock of birds failing to maintain distance and all falling out of the sky as a result.


I'm not a mathematician, but I've seen many examples of systems where changes to the number of dimensions cause completely different behavior. This feels like such a system to me.

There's also an additional big difference: on the ground, you always have a hard body (the ground) constraining you.


The presence of the ground is equivalent to the absence of a third dimension. Thus irrelevant.

I see no reason to expect additional dimensions to make a fundamental difference here. This isn't a complex topological problem involving the constraints of graph connectivity. It comes down to nothing more than immediately available space, maintaining it as a group and making use of it as an individual.

Consider a tightly packed group of runners. If someone in the center goes down they'll likely be trampled and it's also likely to cause a mass pileup.

If birds were prone to that you'd expect the occasional collision at the center of a dense flock and a bunch of birds falling out of the sky as a direct result. Yet I've never once heard of that. The simple and obvious hypothesis is that they are hardwired for group navigation in a way that the vast majority of other animals aren't.

If you're having trouble seeing the point I'm trying to make here then try swapping out the example with runners for one with a fleet of planes. A swarm of hundreds of modern fighter jets in a dense 3D formation actively maneuvering in randomized arcs without any sort of pre-planning or rehearsal. If something went wrong can you really imagine all of the pilots successfully avoiding collision every single time? The birds around here put on shows like that multiple times every day.


The presence of the ground is very important because it's a solid body you can get crushed against! The fear of falling down and getting trampled is a major source of panic in bad crowd conditions. That alone makes a big difference.

This isn't about complex topological problems, it's about the square-cube law. In a 3d environment, the direction of movement of any individual covers a much smaller portion of their possible movement directions. This means it's much easier to form a "wave" in 2d, and this wave covers a much larger portion of their potential movement options.

Doesn't this obviously mean a 3d crowd is much less likely to crush an individual? And even if we're only talking about bird-on-bird collisions, head-on collisions make up a much smaller portion of all possible movement vectors.

Regarding your plane example - birds don't explode upon most collisions, and I'd assume they can easily recover from many angles a plane couldn't.


> the direction of movement of any individual covers a much smaller portion of their possible movement directions

Number of adjacent bins versus fraction of unoccupied bins. The latter is what matters (ie density). Plus the physical and mental ability to rapidly and accurately select and maneuver into one of them. Plus (and this is really the crux of the thing) some sort of hardcoded behavior that makes the risk of conflicting independent choices vanishingly small.

A concrete example of that last part is TCAS. [0] That's what birds seem to have built in that other animals lack.

> it's much easier to form a "wave" in 2d, and this wave covers a much larger portion of their potential movement options

Not true. Waves in a 3D medium are themselves 3D. Go check out a fluid dynamics simulation.

I think what you might be trying to get at is dissipation within a volume. Cubed versus squared. But that's not the issue here. Dense pockets will occur from time to time in such a system regardless of dimensionality. The question is collision frequency for a given density. Birds are ~0 whereas humans (and most other animals) are really quite bad.

> birds don't explode upon most collisions

It's a fair point (and humorous) however irrelevant because my entire point there is that I've never seen birds collide to begin with. Even if they did explode it wouldn't matter.

Note that unlike human pilots autonomous aircraft are capable of forming dense swarms without colliding. (At least assuming the software was designed with that in mind.)

[0] https://en.wikipedia.org/wiki/Traffic_collision_avoidance_sy...


If we just go by what we've seen it's all irrelevant, since I've never seen a flock of birds with anywhere near a comparable 3d density to a dangerously dense 2d crowd. Even the densest flocks still have visible gaps between the birds, I'd guess the density would need to be at least 5x higher.

We were never making an exact comparison though. The point you've been arguing against (unless I misunderstand) is that creatures such as birds and fish have some special hardcoded behavior that the rest of us don't. I don't think spacing the humans out a bit more is going to solve the problem here; the aircraft example makes that point nicely.

In fact even your objection about visible gaps serves as a case in point. A flock of hundreds of thousands of starlings somehow avoids such dangerous densities even in the face of transient "pressure" waves traveling through it. Meanwhile human groups appear to willingly form such densities without thinking twice. Sounds like a hardcoded behavior to me.

If you really want an example with more density then consider schools of fish. Of course unlike birds it's not so easy for most people to observe fish. I don't actually know for certain that they never collide or get injured by being crushed. I seriously doubt it though.


The point I'm arguing against is that a 2d crowd of people and a 3d flock of birds are anywhere near comparable. They aren't, they have fundamentally different mechanics, problems, behaviors etc. You're comparing apples to elephants.

Or minimize and maximize buttons, which are BY FAR one of the most "basic" features desktop users expect?

I would be very annoyed if every screenshot I took was saved. I often take dozens of screenshots per day, and I save one maybe once a month. That means my screenshots folder only has meaningful entries. If everything was saved, I'd have to clean it up all the time.

There might be a small misunderstanding regarding the "dialog". Once you've selected an area you're shown the outlines & can still modify them, and the buttons (Accept (for further editing in Spectacle), Save, Save As, Copy, Export) are shown below those outlines.

This approach seems objectively superior to your suggestion.


The meaningful entries get named for later searching while the rest are kept as my computer's little photo journal or something. Comes in handy a few times a year.

> I often take dozens of screenshots per day, and I save one maybe once a month

Sounds borderline implausible. If anything, that's not a typical user user case by far.


> Sounds borderline implausible.

Okay? Weird comment.

> If anything, that's not a typical user user case by far.

The scale may not be typical, but the pattern (many more screenshots copied to clipboard than saved as a file) is something I see across all kinds of users around me, be they technical or even very much non-technical.

Let's not turn the defaults into "The Homer", okay? Allowing the user to choose their preferred action in the same step as allowing them to change the outline doesn't make things unnecessarily confusing, doesn't add unnecessary clicks, or anything else.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: