HN user

sweeneyrod

558 karma
Posts1
Comments308
View on HN

I agree that dune is worse in many important ways than the build systems of languages like Rust and Go (where they were developed at the same time as the language, rather than 20 years later). But dune config files aren't lisp. They're s-expressions, which have the same syntax as lisp but are just static data like json/yaml/toml (and once you get used to them, I think most people prefer them to those).

It's fine to trade when you know something that the general public doesn't. Indeed that's really the only time you should trade: you presumably want to make a profit, and society wants relevant information to be incorporated into prices. The thing that's not fine is trading on secret information that belongs to someone else. Insider trading is about theft, not fairness. https://www.bloomberg.com/opinion/articles/2015-04-01/anothe...

You can get those cool features in languages such as OCaml/F#/Scala/Haskell, and then you don't have to worry about managing memory because you have a GC.

Yes, I think everyone would agree that OCaml has gone from competing with the predominant high-level language of 1996 (C) to the predominant languages of today (definitely not C).

Another factor is that creating a language (Rust, Go etc.) from scratch lets you have nice unified tooling to an extent that is probably just not possible with languages with baggage. So I doubt OCaml will ever manage to be quite as seamless as those, but IMO it's already gone from significantly worse tooling than e.g. Python/Java to significantly better, and is still improving all the time!

I think you are definitely pointing at something that has been a weakness of OCaml for a long time (but as you say is happily changing). But I wouldn't characterise it as elitism; IME the OCaml community is very friendly.

Instead, I think it comes from the fact that when it was first developed in the 90s, it was viewed in the context of C (and this attitude has carried over somewhat to the modern day where it makes much less sense). For example, building non-trivial projects with just the compiler is very painful from most modern perspectives, but it's very similar to what you have to do for C.

I am pretty sure anyone for whom the notation in `\forall n \in \mathbb{N}` presents a barrier to learning meaningful amounts of type theory will have greater problems from lack of mathematical background.

"But the argument thrives because there's a kernel of truth to it, in that if you wanted to pick a programming language based purely on expressive shininess, you'd write in OCaml."

Eh, I think OCaml is actually the least shiny language in its reference class: Haskell, Scala and Rust are all shinier.

I think that taste for languages varies a lot, and certainly plenty of excellent programmers find Go is to their taste and statically typed functional languages are not. But I think it's also true that there are lot of people who like Go with Java/Python/JavaScript as their only points of comparison, and who would actually prefer OCaml or F# if they tried them.

"it's hard to make a cogent argument that Paul Pelosi, who is by all measures a private citizen, should be restricted from trading specific stocks"

No it's not. If you grant that Nancy Pelosi should be treated similarly to a corporate insider, then it is pretty obvious that her spouse should be treated like an insider's would be.

"analyst" covers all entry-level roles. The analysts with total compensation close to the base salary of 50k (e.g. developers) won't work crazy hours. The bankers who do have crazy hours also get bonuses with order of magnitude equal to the base salary.

You absolutely can find a 1-bed in super-central London for well under £2000/month, e.g. it took 2 minutes searching to find this one https://ww2.zoopla.co.uk/to-rent/details/57988484/?search_id...

But furthermore, you can find 2-beds in the same location for around £2000/month (I live in one). Suggestions that an analyst at GS or an E3 at FB earning 70-100k isn't actually that well off because rents are high are silly, if they're struggling how is someone on a more normal grad salary of 35k supposed to be coping?

I don't know about OVH but Hetzner beats DO at the lower end: for $5/month you get 2 CPUs vs 1, 2 GB RAM vs 1, 40 GB disk vs 25 and 20 TB traffic vs 1. They have an even lower-end package for 2.96 Euro/month as well.

"Obviously a huge part of an index is maintaining desired weightings" Actually it's not. Suppose I have an index that should contain AAPL and TSLA weighted by market cap, with total value $100,000. Say they both have 1000 shares in existence, and on Monday their prices are $100 and $300 respectively. Then my index will consist of $25,000 = 250 shares in AAPL and $75,000 = 250 shares in TSLA.

Now suppose on Tuesday the price of TSLA has increased to $700, so my index should be 1/8 AAPL and 7/8 TSLA. It's tempting to think this means I have to rebalance by selling AAPL/buying TLSA. But that's not right! I have 250 AAPL shares which are still worth $25,000, and 250 TSLA shares which are now worth $175,000. So I'm already at the desired 1:8 ratio.

The question shouldn't be "why does web development require the use of garbage collection" but "why would you not use a language with a GC when you have the opportunity". Before Rust (and after the 90s or whenever hardware became sufficiently cheap) it would've been very odd to consider a non-GCed language for something like webdev. Even for things like high-frequency trading where reliable low latency is very important, some companies think using GCed languages like Java and inventing hacks to avoid GC pauses when necessary is a worthwhile tradeoff because of the productivity gain from having a GC.

Certainly Rust has done lots of cool stuff to make living without a GC easier. And maybe it has sufficient compensating advantages to make it worth using for things like webdev (although I wish more of its proponents would try different statically typed functional languages that share some of those advantages but don't make you manage memory manually). But lacking a GC is still pretty clearly a disadvantage outside of a few areas (namely, those where people often use C++).

Cool! It looks like those are in beta/not very widely used though. And my impression is that I'd probably have to understand k8s/nomad pretty well to use them; really I'd like something with an experience closer to Heroku where that layer is as abstracted as possible.