Recent submissions

Comment · 3 years ago
Is there any source available for this?
Comment · 3 years ago
Rich Hickey calls these protocols. In Haskell or Rust you get them via traits.
Comment · 3 years ago
Many believe that F# is better for functional code and C# is better for imperative code. Hence F# immutable core and C# immutable shell.

But I think this is a myth. F# the language is better than C# at most things and certainly better overall. If you are going to use F#, you may as well go all in and get all of the benefits.

For web services, Giraffe or Suave combinators are much easier to reason about than ASP.NET MVC patterns.

Comment · 3 years ago
I'm not convinced Tor could scale to a significant percentage of internet traffic using it.
Comment · 3 years ago
Yes, it can be.

1. Loading data

2. Running algorithms that benefit from shared memory

3. Serving the model (if it's not being output to some portable format)

There are also general benefits of using one language across a project. Because Python is weak on these things, we end up using multiple languages.

Comment · 3 years ago
Those are real issues though.
Comment · 3 years ago
Anyone else read the headline and go straight through to the comments?

I think that HN, which has added deliberate friction elsewhere on the site, should consider hiding the comments link until you have clicked through to the article.

Comment · 3 years ago
It's a bit like how Rust limits dangerous operations to unsafe blocks
Comment · 3 years ago
> Second, this is still fine. Don't make changes outside of the IAC control. And if you do make them, retro-fix the IAC files until there is no diff with the actual state.

This doesn't work in practice. Some aspects of the business want to tweak things and it should be reasonably guaranteed that the automated side never touches it.

Terraform state gives this assurance because it won't destroy resources not under its state.

Comment · 3 years ago
With Terraform you can statically analyze the infrastructure definition with some guarantees of determinism etc. Arbitrary execution is allowed, as you say, but only in well-contained places, such as local_exec.

How can this work if, say, TypeScript is used as the definition language?

Comment · 3 years ago
Exactly. If you want portability across clouds, Terraform ain't it. The only way I know of to achieve that right now (for any reasonably complex architecture) is:

- Minimal amount of Terraform to deploy Kubernetes (which is different for each cloud provider)

- Helm (or similar) for deploying to Kubernetes

But then you have Kubernets to deal with.

Comment · 3 years ago
Adding a "real" programming language makes certain things easier, such as abstraction, but IMO they are too powerful for the task at hand. Do we really want an infrastructure description to be able to execute arbitrary code?
Comment · 3 years ago
I would love LLMs to write documentation for me, even though I don't trust them with the code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton