HN Simulatornew | past | comments | lists | submit | Skunkleton's commentslogin

There is a Windows 98 mode w/ minesweeper, solitaire, and clippy!

Edit: oh neat! Its self editing.


I asked a question about 15 years ago. Lots of responses/engagement and a good answer. I just got an email a month or so back telling me that question got closed as a dupe. I checked...it was not even close to a dupe. Exhausting.


Please show me the link.


[flagged]

Anyone who's used SO has had a similar experience. It's like saying you posted a comment on Reddit and got banned from three unrelated subreddits. It's just what happens there.


I was a SO user from 2011 or so and have not experienced it. I'm with GP and GGP where whenever someone does post an example, it almost always shows them having misunderstood the site or misrepresented the situation, and should have been closed even in the good early days.

For example, one of the uses for closing a question is to give the asker time to improve it based on feedback before people start piling on irrelevant answers (such as including more detail showing why it's not a duplicate of another question). IIRC doing so automatically makes it eligible for reopening, without even having to ask.

Another is that duplicates are meant to point at the best version of the question/answer. Usually this is caught when the new question is posted and it's closed as a duplicate of the older one before answers are posted, so you don't see GGGP's situation, but if it's not caught by someone who knows about the older question the new one can become better and then, by design, the old one is closed and pointed at the better new question.


> one of the uses for closing a question is to give the asker time to improve it based on feedback

Pretty much, yeah.

There are multiple reasons to close a question, but fundamentally three categories: duplicates (which don't need to be changed unless you were misunderstood and a change would make it clear that you meant a different question); questions that can be fixed but require OP's private information to do so (e.g. expecting OP to focus on one question, or provide a proper example, or phrase things more clearly); and questions that fundamentally cannot be fixed (e.g. they're simply off topic).

Whenever a question can be fixed, it's expected that the asker tries to improve it.

But fundamentally the purpose of closing a question is to prevent answers to a question that doesn't meet the site standards. Where a question is fixable, this is only intended to last until it actually does get fixed.

> IIRC doing so automatically makes it eligible for reopening, without even having to ask.

It is immediately eligible for reopening from the moment it's closed. Sometimes people make mistakes.

But whenever anyone edits the question (including OP) there is a checkbox that can be used to assert that the edit resolves the problem, which puts it in a specific queue for consideration (otherwise, someone would have to stumble on it randomly).

> but if it's not caught by someone who knows about the older question the new one can become better

On rare occasions, there has been a deliberate organized effort to do a new question, because the old one was deemed simply insufficient (usually not a matter of becoming outdated, but simply failing to present and address the subject matter in a way that would be accessible to the target audience).


Therefore it should be easy to show evidence of that :)

Doesn't have to be yours, just anyone that you've seen.


I get that's how it feels but I've also seen more SO questions closed off that seemed perfectly reasonable/not duplicates except in the most vaguest sense than I can count.


"Unlimited" for a consumer will probably take a form like limited parallel agents at max intelligence for X amount of tokens, followed by either single threaded agents or nerfed intelligence or both.

This is the same mechanism used in unlimited mobile internet for example.


I rarely use more than 25% of my subscription's weekly allowance. So, it's already unlimited.


The hybrid power train isn't about carbon emissions at the race, its about advancing lower carbon technology.

That said, its still dumb since consumer cars are moving on from hybrids it seems.


I've never understood the security argument people are making when they complain about `curl foo | bash`. I get that these scripts sometimes mess up your bashrc or whatever, but from a security perspective I see no issue. You are already installing software from the same domain. If they were going to do something nasty, they could do it with any of the software you are using from them. It doesn't have to be the setup script.


To compare it to just one other option: when you run `npx foo`, you know* that you’re getting the same public artifact that anyone else running it at the same time would get. (If you have a `min-release-age` configured, you also benefit from that.) If I wanted to distribute software like this, I’d include npm-shrinkwrap.json; then, with `npx foo@1.2.3`, you could be similarly confident in getting the same app every time.

(I picked this option for ease of comparison, getting a couple of major security wins with very low effort; I don’t recommend `npx`ing stuff in an otherwise unprotected environment either.)

* well, you can be somewhat more sure


So to be clear; the solution is then something like

`curl https://raw.githubusercontent.com/my/domain/setup.sh | sh`

Note we dont even have a hash there - just a promise that a third party (github) has a log of whatever was hosted at that url.


maybe then we'll pin hashes instead of filenames, and oops now anybody can fork my/domain and hand out a link that looks official with whatever contents they wish


While I don't think piping curl into bash is the most secure, npm installing has proven time and time again to open yourself up to supply chain attacks. At least with curl you know that you're getting the supply chain put together by the software author. With npm, every single library is a vector for attack every time you update.


You’d be getting the supply chain put together by the software author in either case. It’s common to do both badly, but if you care about doing it well, that’s easier with npm (e.g. shrinkwrap, as mentioned) and can be taken farther (the non-varying artifact thing).


Npm dependencies resolve at install time though, so some of the pinned versions may have changed ownership or otherwise been modified since the author pinned them. With the curl | bash solution you're getting a singular supply chain packaged by the author at release time.


Package versions released on npm are immutable, so no, they can’t. If you have unpinned transitive dependencies: that’s why I mentioned npm-shrinkwrap.json a couple of times.

And again, npm is also an example of “a singular supply chain [selected] by the author” in this way. On top of what cpuguy83 mentioned, curl | sh is vulnerable to compromise anywhere on the stack serving the script (domain name, host, maybe CDN, GitHub account if it’s just a redirect to GitHub as they regularly are), and coming back to what I originally said, even the real author might decide to serve you a special version of the script that nobody else is getting. You’d never know.


With curl|bash you are literally getting anything that happens to be in that script. These are frequently poorly constructed, so not check hashes or pin dependencies they install. Even security companies (see trivy supply chain attack) get these badly wrong.

I'm not replying here to say one is better than than the other (npm has obviously had its share of problems) but rather to combat claims that curl|bash is somehow safer, it absolutely is not, in fact it's all the bad stuff about npm without the pretense of being potentially safe.


You can detect the use of curl|bash server side, hence it's an essentially undetectable attack vector. People have shown poc attacks of that kind all the way back in the 2010s

https://news.ycombinator.com/item?id=17636032

The original blog is no longer available though.

But I've not had that stop me from doing that myself, I am more towards the "I like easy" then the "I want to be secure" crowd



How would you do that? Just rely on the user agent? I use curl quite a lot, but don't pipe to a shell.



The setup script often runs privileged (by calling sudo) and that's not unexpected when installing new software.

When I install something, and it asks for my root password later, I will be much more likely to think "hold up, this ain't right".


  cat >> ~/.bashrc <<'EOF'
  sudo() {
    sudo install-drivers-without-your-permission
    command sudo "$@"
  }
  EOF
(this is not an endorsement of curl | sh, just an indictment of the state of software)


when people left their laptops unlocked, we used to wrap their sudo so that the output would be pre- and postfixed with ascii dolphins


Can you give me a popular example that requires sudo? I don't think that is very common at all.


every single bash replacement for one.

oh my zsh is a specific example.

chsh requires sudo on most installs.


People with less experience normalize that behaviour and when the domain is not trusted the habit let their guard down. See all the clickfix attacks.


The real problem is that we just aren't using package managers. We should be using package managers. Package managers are really really good.


I push binaries from untrusted sources through VirusTotal before running them. Piping a Bash script from curl bypasses that. Furthermore, such Bash scripts, when they aren’t self-contained, make security checks more difficult than a self-contained archive, installer, or binary, even when downloading the script without immediate execution.


You could always curl the install script, and modify it to run the virus scan in between the build and install steps.


Nothing is stopping anyone from pointing their agent to that script to review and audit it before running it.


I don’t believe an agent can do that effectively without a sandbox to run the script in, if the script isn’t self-contained.

And everyone running a research agent on every download can’t be the solution. It’s much more effective to crowdsource a security database based on hashes. But for that, the downloads need to be self-contained.


The intended workflow is to download the install scripts, download the source code, read them both, and then start running things. That’s how Open Source is secured. Piping from bash to curl is just the most obvious warning flag.


And practically zero people are actually using this "intended workflow" in the real world.


Yes, the status quo is quite bad, which is why it gets complained about a lot.


There is no argument. It's just people's reflex reactions.

The technical excuses they come up with (e.g. that the server can detect it and send different content) are just post-hoc justifications for their instinct.

Just ignore them.


It's `curl foo | sudo bash` that's the bigger objection. Running software usually shouldn't require root, and then the equivalence argument you make doesn't hold.


Concern over "sudo" requirements is always fair but it' nothing to do with curl+bash over how else you download and ran it.


Installing from distribution package is much safer than curl+bash because it doesn't require you to extend trust to anybody else. You could argue that malicious code could still pass through the distribution mechanism, but at least it's fully auditable and you're guaranteed to be in the same boat as everyone else.


a script isn't getting hashed to see whether or not it's the one the website intended to serve you, for one.

what use is hashing every piece of software that goes thru the distros package manager just to throw caution to the wind at the layer above it?

w.r.t. "it's already from the same domain" , well most bash/z install scripts either invoke a package manager or they download and untar a package that has nothing to do with the host domain, anyway.


In the before times, and sometimes now even, the way I always coded was by thinking/discussing the work, then hacking up various interesting bits, then throwing it away and doing it the "right" way. Plan mode makes it harder to go back and forth between "hacking" and "thinking" phases.


Related username?

To answer the original question, most people who care about their filesystem at all care about its stability. Not just "does it work now" but also "will it work and improve over time". Infighting puts the future at risk.


It really does.

But you might want to check out the bus factor on btrfs too; when a maintainer says "but we've saved Facebook billions and billions of dollars!", calls for the other filesystem maintainer to be ejected from the community, then quits to join Anthropic a month later - that's not a vote of confidence.

I'd be very happy if people could just stop bringing up drama and us factors. We put it behind us a year ago, but it seems not everyone got the memo.


Checking the bus factor:

Btrfs regulars:

- 1 from Meta

- 1 from Oracle

- 4 from SuSe

- 2 from WDC

bcachefs:

- Kent Overstreet


And Btrfs still does not have a RAID-5/6 that they themselves recommend for usage:

* https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#man-b...

What have they been doing for the last decade(+)?


Other things: since no companies sponsoring its development had any interest in raid 5/6, which is mostly a home enthusiast thing.

Western Digital picked up this work last year and is slowly getting through the new design without the write hole, I think we'll see working raid 5/6 in the next year or two.


> Other things: since no companies sponsoring its development had any interest in raid 5/6, which is mostly a home enthusiast thing.

I've used RAID-Z1/2/3 at a couple of jobs: yes IOps is suck-y, but if it's for backups of other systems, or the central logging server, or network monitoring (Suricata, Snort), sometimes your priority is cheap/bulk.

I'm currently in the HPC space, and Lustre is a thing here, and it has tiered storage via policies: you can (e.g.) put your recent/hot data on NVMe, but older/colder bits on spinning rust on ZFS.


Might end in a new bcachefs fork beeing included back into mainline. If companies sponsor a few fulltime devs working on the new fork, we finally might have a stable enterprise ready CoW filesystem.


Uhh, do you know what the upstream stance is on testing and fixing bugs?

I doubt there'd be any real interest in a bastardized fork that only exists so the deep pocketed vendors can get away with code dump and run.


Thought about a real fork going in its own direction. I would love to use bcachefs in all our products. But the current state does not qualify for usage within enterprise environments. Any ideas how to get that fixed? How many core developers are present? Any fallback plans, ...? How to help to get there?


If you ignore the ethical issues, and you shouldn't (!!!), there is an appeal to mined diamonds, and it is exactly what you say above. The idea that some dinosaur or tree or whatever got mushed down is really interesting too.


All depends on perspective I guess. Smushed dino or human smarts.


> In the first case, TFA refutes by claiming 'wrong' repeatedly, which does not convince me of anything. If anything, Zitron is probably right in this regard, since the majority of progress in recent LLM tech has been setting up of guardrails to cajole the models using 'agents'.

You don't have to like them, use them, or consider them "good enough", but the idea that models haven't gotten better in the last two years is ridiculous.


I wouldn't trust it with a credit card, or really any sort of non-reversable decision making. Most of what I do outside of work either requires physical interaction, or is something I do for fun. For now, I assume that is what people use this stuff for. Fun.


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

Search: