Actually it's very controversial if we should spend marginal resources on deworming. It may have very large economic benefits, but the evidence isn't clear (https://unherd.com/2020/08/what-worms-can-teach-us-about-the... has some details).
HN user
sweeneyrod
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...
I believe Ruby and OCaml have both anonymous positional arguments and keyword arguments with punning (i.e. `f ~arg` expands to `f ~arg:arg` in OCaml).
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.
It is quite possible that an Erlang dev billing 3x more than a PHP dev will be more than 3x as productive.
There is an interesting take on command-line code review from Jane Street here https://blog.janestreet.com/putting-the-i-back-in-ide-toward...
Unit tests and "type systems" have very little in common with Kubernetes and GraphQL.
It's interesting that they have a much higher valuation (and from some cursory research, moderately more users) than Depop, despite (AFAIK) being completely obscure in the US/UK.
There are various universities that teach Haskell or similar languages in first year.
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!
Would you consider using a non-GC language that isn't Rust outside the various domains where C/C++ is the only realistic (non-Rust) choice?
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 don't think memory safety bugs are the most widespread kind at all, unless you add the qualification "in languages with manual memory management".
As well as the Amodei siblings in charge, various other ex-OpenAI people are involved (Chris Olah, Amanda Askell, Jack Clark).
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.
I think many mercurial users would disagree with you about git.
"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.
Also, if no multicore blocks you from using OCaml, you also have to stay away from Python/Ruby/JavaScript which also lack it.
What is a program where `--help` is dangerous?
If you care about having nice self-contained commits, what is your process for sending rough work-in-progress to colleagues, or to continuous integration?
"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.
In which country?
"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.
C++ is about 17 languages
"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.