Live data from Hacker News

Deno 1.0

deno.land

521–530 of 598 posts

Re: Deno 1.0

#521
post #441

Earlier quoted context omitted.

I find it amusing that you use the example of Python 2 -> Python 3, a breaking change in a widely used language, that has famously been very difficult and long for organisations to deal with. Compare that with javascript which has never had a breaking change. On top of that Typescript is a backwards compatible superset of javascript. More to the point, Ryan has a humble explanation of what regrets he has about Node.j…

> I find it amusing that you use the example of Python 2 -> Python 3, a breaking change in a widely used language, that has famously been very difficult and long for organisations to deal with. Why is that amusing? I specifically chose that example for that exact reason. I was highlighting the difference in the audience and use case. > However I'd suggest this is not one of those cases. I don't see the argument that…

> Why is that amusing? I specifically...

My apologies I misread.

> ... there's a tendency to start over when the development gets hard to maintain or support instead of just fixing the mistakes.

The thought that Node.js should have been 'fixed' instead of creating Deno is where I disagree. At a glance I can see a few reasons:

- Node.js maintainers + community may not even think there is something to be fixed (see various discussions in this thread about module resolutions)

- Politics, death by committee, inertia

- Effectively a dependency with npm registry (although not technically)

- Lack of backwards compatibility with changes (e.g. module resolution)

> The thing is, I can see Beepboo 1.0 being announced in 2025

Node.js was initially released in 2009 so it's probably fairer to suggest Beepboo 1.0 will be released in 2030. And yes, if it improved on Deno and solved inherent problems that couldn't be solved internally, I would wholeheartedly cheer it along.

I think it's also worth mentioning that Node.js is at a level of stability and maturity that people who plan to and have already built on it, aren't left abandoned.

Re: Deno 1.0

#522
Hi, I've been thinking for a while that I want something like Deno that has something like WireGuard built in to it.

1) I make a public / private key pair.

2) I log on to a DNS-like system, and create an account for myself, upload my public key.

3) I start up a Deno server, giving it my private key, and I give it the address of the DNS. Deno uses my private key to inform the DNS that it exists and is serving traffic. (Much like any Dynamic DNS server.)

4) My friend does the same - makes a public / private key pair, finds a DNS he likes, uploads his public key, makes a Deno server and registers it with the DNS.

5) My friend and I trade DNS+public keys. It's a URL to the DNS that has the public key in it.

6) I go to some administrator page on my Deno, it looks a lot like this [1]. I create a new Connection, and plug in the DNS+public key of my friend. He does the same on his server.

7) On my admin page, I pick an app that I want to use to communicate with my friend. I can see a list of my Connections, and I just check off a box that the app has permission to communicate with that friend.

8) This app that I've picked, it only sees the world through an incredibly narrow API. It's like WireGuard. Deno handles all of the communication and permissions, much like Sandstorm.io. The first thing I want is just queued-up JSON messaging. The app can send and receive JSON messages. I envision that I want it to be in messaging mode (rather than "streaming online"), so it has something like ZeroMQ under the hood to pub/sub, client/server, all that. But roughly it has a bi-directional pipe for sending and receiving JSON and can queue up messages when the other server is offline.

9) I now have a sandboxed app that can't talk to the rest of the world, has its own private VPN-like connection to another process. All traffic is encrypted like WireGuard. The DNS aspect lets my friend move his server if the IP changes.

I feel like if some project kind of like Sandstorm, kind of like Dynamic DNS, kind of like WireGuard, and kind of like Deno all got together, they would make a beautiful thing.

When I think about how I wish Diaspora worked, as a way to replace Facebook, this is it. I wish it was built on top of something like this. This is the atomic unit of distributed, yet safe, that I wish internet apps were made out of. I imagine that I would be setting up hosting of the Deno server nodes for my friends and family, since I'm their tech support guy. But they'd be in charge of their own connections and apps in their nodes.

So, HN, time for you to tell me that it's 1) a terrible idea, 2) already exists, 3) why don't I just make it myself. Right? =)

[1] https://alpha.sandstorm.io/demo

Re: Deno 1.0

#523

Hi, I've been thinking for a while that I want something like Deno that has something like WireGuard built in to it. 1) I make a public / private key pair. 2) I log on to a DNS-like system, and create an account for myself, upload my public key. 3) I start up a Deno server, giving it my private key, and I give it the address of the DNS. Deno uses my private key to inform the DNS that it exists and is serving traffic.…

You can run wireguard in a Linux network namespace, then start the app in that namespace. You can also use Systemd or Docker.

Re: Deno 1.0

#524
post #398

Does anyone else see the import directly from URL as a larger security/reliability issue than the currently imperfect modules? I'm sure I'm missing something obvious in that example, but that capability terrifies me.

espacially since https is not enforced! https://github.com/denoland/deno/issues/1063

CMIIW, wouldn't enforced https means you can't use intranet or localhost url?

Re: Deno 1.0

#525
post #332

I like what Deno is selling. URL like import path is great, I don't know why people are dismissing it. It is easy to get up-and-running quickly. Looks like my personal law/rule is in effect again: The harsher HN critics are, the more successful the product will be. I have no doubt Deno will be successful.

My concern is what happens when popular-library.io goes down or gets hacked?

Or how about attack vectors like DNS poisoning? or government-based firewalls?

I know there's this[1], but somehow I still feel uneasy because the web is so fragile and ephemeral...

At the very least I would like to have the standard library offline...

[1] https://github.com/denoland/deno/blob/master/docs/linking_to...

Re: Deno 1.0

#526
post #505

Earlier quoted context omitted.

Most people describe Linux as a much safer OS even though windows puts more restrictions on running code from the internet (to the extent of marking downloaded files as potentially dangerous and asking if you really want to execute them). I would totally understand if HTTP(not s) was used by default at any point, but by writing a URI starting with ` http://` into the file, the programmer is actively telling the progr…

Let me tell it another way: browsers have been benefiting from decades of innovation to mitigate the security issues of execution of JavaScript. CORS headers is the latest of theses innovations. Deno allow you to fetch code as a browser would without providing you with any of the safety browsers can have. Mostly because it would not make sense to have a runtime doing that. Deno is not a browser but takes the risks of…

> Should you review the code of all imported modules? This is virtually impossible.

I wouldn't be surprised if this was exactly the direction that Deno was trying to move towards. Fewer direct dependencies with some amount of transitive trust.

I.e. "[Deno] has a set of reviewed (audited) standard modules"

> Windows CP without SP 2 and Internet explorer bellow 6

I get the point you're trying to make with this hyperbole but browsers still let you view http pages (by default).

> Deno must disable http by defaulkt and provide a flag to re-enable it. This is factually a security issue in Deno.

Again I agree with your idea about disabling by default but there is another perspective (and I think Ryan deserves some empathy).

Re: Deno 1.0

#527
post #519

Earlier quoted context omitted.

Root certificate not trusted for https://denoweekly.com/ on both chrome and firefox.

Maybe they fixed this in the last 2 hours, but it works for me (firefox, linux).

Same. FF/macOS

Re: Deno 1.0

#528
post #526
post #505

Earlier quoted context omitted.

Let me tell it another way: browsers have been benefiting from decades of innovation to mitigate the security issues of execution of JavaScript. CORS headers is the latest of theses innovations. Deno allow you to fetch code as a browser would without providing you with any of the safety browsers can have. Mostly because it would not make sense to have a runtime doing that. Deno is not a browser but takes the risks of…

> Should you review the code of all imported modules? This is virtually impossible. I wouldn't be surprised if this was exactly the direction that Deno was trying to move towards. Fewer direct dependencies with some amount of transitive trust. I.e. "[Deno] has a set of reviewed (audited) standard modules" > Windows CP without SP 2 and Internet explorer bellow 6 I get the point you're trying to make with this hyperbol…

[deleted]

Re: Deno 1.0

#529
post #398

Earlier quoted context omitted.

espacially since https is not enforced! https://github.com/denoland/deno/issues/1063

CMIIW, wouldn't enforced https means you can't use intranet or localhost url?

you could use a flag to re-enable http :)

Re: Deno 1.0

#530
Main thing that would prevent me investing in this stack is that the runtime has been designed with typescript in mind. In a few years if the typescript thing blows over, you're left with a runtime and conventions skewed toward statically-typed programming patterns.
Post reply on HN