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

I'm very glad to hear that—the anonymity of the original Freenet has led to it being a very unsavory place that was more well known for CSAM then anything positive or useful. As an outsider, it sounds like this new direction is the right choice for Freenet to try and attract new users and fulfill the team's original goals.

Extremely depraved things are not the only thing to use freedom of speech for, and freely speaking can result in all kinds of repressions.

And even without agreeing on whether people should be anonymous on the Internet,

it could be agreed that replacing a software which guards against a certain threat model (repressions) with one which does not,

without changing the name, is not exactly a wise decision.


The new Freenet will support the creation of anonymity systems as services on top of it, which is much better architecturally than tying the platform to one approach to anonymity as I did when I designed the original Freenet.

We will also have a decentralized reputation system that will protect people from being exposed to unsavory or illegal content, a common criticism of the old Freenet architecture.


less anonymity and a reputation system?

I know you designed the thing, and that was a great effort, but what a miss when compared to the vast majority of freenet users priorities.


I wouldn't describe it as "less anonymity", it's more that the new Freenet gives applications and users different choices about anonymity depending on their requirements. I don't see how more choice is a bad thing - versus forcing the same (imperfect) solution on everyone as in my original design.

Similarly, reputation systems aren't inherently coercive, they're more analogous to spam filtering or trust heuristics, mechanisms for deciding what to prioritize - but ultimate control always remains with the user.


> Extremely depraved things are not the only thing to use freedom of speech for

I’m not a fan of “think of the children“ arguments but the Internet cannot actually be a complete free for all and “freedom of speech” is not some magic shield that overrides all other ethical considerations. CSAM is not a particularly high bar and frankly if you want people to throw in with you then you can’t brush it off so lightly.


> I’m not a fan of “think of the children“ arguments

Yet you're making one.

> the Internet cannot actually be a complete free for all

Yet in many important ways, it is.

As much as publishers would like to shut down Scihub, it exists. The Pirate Bay famously persists. Nation states with entirely opposed legal systems connect and interoperate to at least some degree.


Scihub and The Pirate Bay are not at all anonymous, aggressively police for CSAM, and rely on reputation systems.

North Korean Internet will solve ip4 address exhaustion.

Dude it’s CSAM what are we even doing here.

What's CSAM? All of Freenet? Doubtful.

The OP said: "Extremely depraved things are not the only thing to use freedom of speech for, and freely speaking can result in all kinds of repressions."

Which is objectively true.

You're throwing reporters, political dissidents, whistleblowers, minority groups, and just regular people who don't appreciate the Stasi in with the child pornographers which some might take as an insult and offense.

What kind of criminal does Phil Zimmermann look like to you? We had this argument already in the 90s.


> Extremely depraved things are not the only thing to use freedom of speech for.

And yet, it's materially all anonymity is actually for in practice, within a margin of error. Tor - mostly crime & CSAM. Crypto - mostly crime. 4chan - mostly degeneracy, some crime. Faceless Corporations - used for crime, and things that should be crimes, but hide under other names.


I'm not seeing anything on the official marketplace: https://marketplace.visualstudio.com/items?itemName=whatwedo...

I wonder if it was open-vsx specific?


That’s very possible. I switch between Cursor and VS Code, don’t remember which it was that day.

I think I checked a few weeks ago and whatwedo.twig was not on OpenVSX at that time, so I'm suspecting it is a case of name-squatting.

This seems to be confirmed here: https://socket.dev/openvsx/package/whatwedo.twig/versions/1....


No, there's no joke, you might have just misread the article (the 3,800 number is the number of internal GitHub repos the employee had downloaded on their personal computer / had access to on their own GitHub account)

Did Railway give admin credentials to delete their production database? My memory of the incident is that a customer of Railways used an AI tool to delete their production database, and then blamed Railway for it. The customer was the one who put their own account credentials into their own AI, not Railway

You are totally right, my mistake.

Fly, Render, and even Heroku still are all better choices then working with Railway I think

I love Fly, but their docs are.. tough. They've had multiple iterations of the control plane API, and it's very hard to do things the "correct" way with conflicting official docs.

It did, V8 added asm.js compilation to WASM in 2017 https://v8.dev/blog/v8-release-61#asm.js-is-now-validated-an...

Yes, if you watch the video closely you can see that the "lensing" effect only really covers a circular area—this prompt probably went through multiple iterations where the author was trying to improve it so that the shape of the hand was reflected more closely.

[EDIT: I'm an idiot, sorry, completely misread your comment. I agree on all counts]

lmao, this is hilarious

Monopoly money is a figurative expression for "fake money", deriving from the board game "Monopoly", wherein players use fake bills as game pieces. I suppose it was ambiguous because I did not capitalize "Monopoly", my mistake there.

Okay, sorry, that was obvious in retrospect, I definitely feel kinda stupid now that I see it. In fact, I agree with your comment on almost all counts—I just see a lot of misuse of the term "monopoly" online, and I think I was led down a garden path by one of my sibling commenter's mention of Lina Kahn. No fault of yours, and I'm gonna delete my comment if I can :)

That would be great to lead with since it's not present in any of the blog post communication anywhere.

Arbitrary demarcations can still be valuable! Just because something is arbitrary doesn't mean that it's not helpful. Working in chunks will let you take more time to review each callsite individually, and increase your confidence in the changes

In the future, I would definitely encourage you to explore a more iterative solution—fix the first 50 occurrences first, or maybe all the occurrences of a handful of functions. For example, if you have utility functions A, B, C and D, maybe fix functions A and B first, and then C and D second.

Ultimately, at the end of the day it's going to depend on how much code you're touching. If you're only touching 100 library calls, then it's probably easy to do them in one PR. But if you're updating 1000 library calls, you'll need to take a more iterative approach. Building those skills now will serve you well in the future when working on bigger codebases and harder refactors.


Well another problem is that there was a developer also working on those functions at the same time. So just like the recent post on a 25 million LoC reformat done in a weekend, it seemed better to do it in one fell swoop. If it's good enough at 25 million, I'm sure it's good enough at a few thousand


Autoformatters are deterministic tools that are tested regularly, with extensive test suites and went through a very long process of production usage and review before the reformat:

    > We also built a tool to diff ripper trees across formatted files, accounting for things like rubyfmt converting single quotes to double quotes. Combined with our extensive test suite, we built confidence slowly and deliberately.
If an autoformatter is working right, it's only changing whitespace—not the actual code executed. Changing between two different implementations of the same function is very different from changing whitespace around.

They also didn't do the entire thing in one weekend—that was just the article title clickbait. they did it file by file, incrementally, over the course of months:

    > Rolling out a novel autoformatter to 25 million lines of code has two big risks: merge conflicts and correctness. A bug affecting just 0.01% of lines would still touch tens of thousands of files. To manage both, we built in a per-file opt-in so rubyfmt would only format files that explicitly asked for it. Following the Developer Productivity org’s typical pattern, we started with systems we owned and could observe closely, then expanded coverage gradually as our confidence grew.
^ See how they talk about the incremental changes it took? This is what mature refactors look like. And they were only changing whitespace!


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

Search: