Live data from Hacker News

The Deno Company

deno.com

431–440 of 446 posts

Re: The Deno Company

#431
post #181

>>> Our investors are Dan Scholnick from Four Rivers Ventures, Guillermo from Rauch Capital, Lee Jacobs from Long Journey Ventures, the Mozilla Corporation, Shasta Ventures, and our long-time collaborator Ben Noordhuis. Why is the Mozilla Corporation an investor in a Chrome based technology startup ?

Deno poses itself partially as node with web standards, Mozilla likes when things are webby

Re: The Deno Company

#432
post #309

Earlier quoted context omitted.

Heck yeah

Was does a TS runtime means anyway? Doesn't checking types at run time rather than at compile time a pure loss?

No, because TS hints should also be able to translate to runtime savings.

I do find the messaging to be confusing, because what would you think I meant if I talked about the runtime of Elixir or Scala?

This is the marketing line on the front page of the Deno project:

> A secure runtime for JavaScript and TypeScript.

They are using the same term "runtime" to describe JS as well as TS. All replies here by Deno team members use the language "Typescript support" but nobody here is saying TypeScript runtime.

Re: The Deno Company

#433

Earlier quoted context omitted.

Wasn't a TypeScript runtime the original Deno selling point? Didn't the project have to pivot away from that?

I don’t remember “TS runtime” as you’re meaning it ever being pitched. I don’t think Ryan would consider that in scope for Deno unless MS wanted to collaborate on it.

I do find the messaging to be confusing, because what would you think I meant if I talked about the runtime of Elixir or Scala?

This is the marketing line on the front page of the Deno project:

> A secure runtime for JavaScript and TypeScript.

They are using the same term "runtime" to describe JS as well as TS. All replies here by Deno team members use the language "Typescript support" but nobody here is saying TypeScript runtime.

Re: The Deno Company

#434

Earlier quoted context omitted.

No we didn't?! Where did you get this info from? Deno is made to work with TypeScript out of the box. The Deno Standard Library is written in TypeScript: https://deno.land/std . Most userland modules are TypeScript too.

If it helps, I think this is the main source of misinformation: https://startfunction.com/deno-will-stop-using-typescript/ It featured on HN some time back: https://news.ycombinator.com/item?id=23592483

I do find the messaging to be confusing, because what would you think I meant if I talked about the runtime of Elixir or Scala?

This is the marketing line on the front page of the Deno project:

> A secure runtime for JavaScript and TypeScript.

They are using the same term "runtime" to describe JS as well as TS. All replies here by Deno team members use the language "Typescript support" but nobody here is saying TypeScript runtime.

Re: The Deno Company

#435
post #367

Earlier quoted context omitted.

Lambda uses containers vs. cloudflare workers use v8 isolates. v8 Isolates are much much faster and more secure for serverless functions. Deno seems to be targeting cloudflare as a competitor for their service... But it's probable that AWS will release a cloudflare worker competitor themselves if deno continues with the MIT license.

> Lambda uses containers vs. cloudflare workers use v8 isolates. v8 Isolates are much much faster and more secure for serverless functions. You're right that v8 Isolates are blazing fast, but Lambda runs functions in a microvm spawn by Firecracker [0], which is likely to be more, not less, secure than Isolates [1]. [0] https://github.com/firecracker-microvm/firecracker/ [1] https://fly.io/blog/sandboxing-and-workload…

> Firecracker [0], likely to be more, not less, secure than Isolates [1]

This is debatable. It's true that V8 is a much larger attack surface than Firecracker, therefore likely to have more security bugs than Firecracker itself. However, Firecracker runs attacker-provided native code directly on hardware, which means that hardware itself becomes an attack surface, one that is quite wide, not fully documented, and very hard to patch if problems arise. It's much easier to work around hardware bugs when you're working from JS / Wasm and can control the code generation.

Ultimately I don't think you can really say one or the other model is more or less secure.

(Disclosure: I'm the tech lead for Cloudflare Workers so I am obviously biased here.)

Re: The Deno Company

#436

Earlier quoted context omitted.

Yes. Every Lodash function is available in its own npm package too. I use it like this, I rather have 4 lodash packages than the big whole lodash library in one package with almost everything left unused.

These will go away in v5 (if a v5 is ever released) and is not recommended if using a bundler as it'll end up wasting space rather than saving as it'll include duplicate code that each individual function could share. https://lodash.com/per-method-packages

Thanks for the information. I think it will be about time to completely remove lodash from my code bases.

Re: The Deno Company

#437
> Many developers, we think, prefer web-first abstraction layers.

Many developers, I think, don’t look past web-first abstraction layers.

I can’t tell you how many times I’ve seen CLI tools which are huge chunks of node wrapping a thin bash command. They are multiple files, orders of magnitude larger than they need to be, and require external dependencies because these developers are fixated on their proverbial hammer.

Re: The Deno Company

#438

Earlier quoted context omitted.

How does this business model survive Amazon AWS making a blog post, "Here's a template to run your deno code on Lambda!"? They'll never beat AWS on costs in the long term. They can burn VC cash to stay afloat and try I guess.

Lambda has a ton of caveats and limitations... but it seems their platform is full of limits as well: https://deno.com/deploy/docs/pricing-and-limits AWS sucks hairy balls at providing things that are simple for developers to use, so that could be their competitive advantage, but I'm just guessing here.

And deno will also have a lot of limitations

Re: The Deno Company

#439

Earlier quoted context omitted.

If it helps, I think this is the main source of misinformation: https://startfunction.com/deno-will-stop-using-typescript/ It featured on HN some time back: https://news.ycombinator.com/item?id=23592483

I do find the messaging to be confusing, because what would you think I meant if I talked about the runtime of Elixir or Scala? This is the marketing line on the front page of the Deno project: > A secure runtime for JavaScript and TypeScript. They are using the same term "runtime" to describe JS as well as TS. All replies here by Deno team members use the language "Typescript support" but nobody here is saying TypeS…

I can understand where the confusion comes from, but I think it's a matter of context. I would never have thought that they would want to build a runtime that runs TS directly. The effort would just be insane.

Hence the implied step that TS needs to first be transpiled to JS before getting executed in the runtime was always in the back of my head and I'm guessing this is the way most people think as well.

And from a black-box perspective, whether TS first gets transpiled to JS or run directly doesn't make a difference. In that sense one could argue that it is a "TS runtime". This is a petty semantics-fight I don't want to get into though and I've probably already said too much :).

If you are interested in something that gets close to a TS runtime though, have a look at AssemblyScript [0]. It compiles to WASM and tries to keep most of the syntax of TS. Very interesting project imo.

Re: The Deno Company

#440
post #104

Earlier quoted context omitted.

util.promisify() seems to work for many of the node stuff I use a lot, like pipeline(), readFile(), etc. Perhaps require('xyz/promises') is a newer development.

do you really want to keep util.promisifying everything? I know I don't. Streams (and event emitters, and the ecosystem bits that rely on them) still haven't fully caught up with promises either, e.g. async iterators and generators are still quite awkward

late reply. I've sort of experimented with async iterators and using pipeline() to pipe them together and it seems to work out for the most part; not sure what is awkward about them, I mean consume with an async iter on the source passed as an arg and you can throw at any time to kill it with an error. In fact I find the new async generator transforms easier and more ergonomic. in terms of event emitters. I can just use `await once(emiter, 'event');` now. Not sure how .on would be expected to work outside of it being some kind of async iterator.

I mean, I don't mind using util.promisify or just importing the "to be" xyz/promises paths. The code exists clearly, either behind a symbol or otherwise.

Post reply on HN