HNHacker News
TopNewBestAskShowJobs

sweeneyrod

558 karma · joined June 9, 2015

submissionscomments
sweeneyrod··on The Reluctant Prophet of Effective Altruism
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).
sweeneyrod··on Real World OCaml – 2nd Edition (2021)
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).
sweeneyrod··on I analyzed 20k recommendations made by Jim Cramer during the last 5 years
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...
sweeneyrod··on Features of a dream programming language
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).
sweeneyrod··on Why asynchronous Rust doesn't work
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.
sweeneyrod··on What's the best SaaS starter kit?
It is quite possible that an Erlang dev billing 3x more than a PHP dev will be more than 3x as productive.
sweeneyrod··on Code Review from the Command Line
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...
sweeneyrod··on Kubernetes is our generation's Multics
Unit tests and "type systems" have very little in common with Kubernetes and GraphQL.
sweeneyrod··on Etsy to buy fashion reseller Depop for $1.63B
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.
sweeneyrod··on Drunk Post: Things I've Learned as a Sr Engineer
There are various universities that teach Haskell or similar languages in first year.
sweeneyrod··on Replacements for existing software written in Rust
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!

sweeneyrod··on Replacements for existing software written in Rust
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?
sweeneyrod··on Replacements for existing software written in Rust
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.

sweeneyrod··on Replacements for existing software written in Rust
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".
sweeneyrod··on Anthropic raises $124M to build more reliable, general AI systems
As well as the Amodei siblings in charge, various other ex-OpenAI people are involved (Chris Olah, Amanda Askell, Jack Clark).
sweeneyrod··on Counterexamples in Type Systems
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.
sweeneyrod··on An early look at Postgres 14: Performance and monitoring Improvements
I think many mercurial users would disagree with you about git.
sweeneyrod··on Half a million lines of Go
"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.

sweeneyrod··on Multicore OCaml: April 2021
Also, if no multicore blocks you from using OCaml, you also have to stay away from Python/Ruby/JavaScript which also lack it.
sweeneyrod··on How to Learn Unix Tools
What is a program where `--help` is dangerous?
sweeneyrod··on Stacked Diffs versus Pull Requests (2018)
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?
sweeneyrod··on Unusual Stock Trading by Whales in US Congress
"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.

sweeneyrod··on Launch HN: Kanda (YC W21) – Let tradespeople offer finance to their customers
In which country?
sweeneyrod··on Young Goldman Sachs bankers ask for 80-hour week cap
"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.
sweeneyrod··on Young Goldman Sachs bankers ask for 80-hour week cap
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?

sweeneyrod··on Fire declared in OVH SBG2 datacentre building
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.
sweeneyrod··on Some Were Meant For C (2017) [pdf]
C++ is about 17 languages
sweeneyrod··on Launch HN: Enombic (YC S20) – Create your own stock indexes
"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.

sweeneyrod··on Rust for web development: 2 years later
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++).

sweeneyrod··on Running Nomad for a Home Server
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.
Page 1 of 11Next →