HN user

kangda123

57 karma
Posts0
Comments41
View on HN
No posts found.

As far as my experience, there's little code in Python that I would like to replace with OCaml. Python stuff is research code and small services that were written hastily.

I would love to replace my Go code with OCaml. It was always kind of on the verge though. On one hand, once you use a proper type system, you cannot look at Go. On the other, Go's multicore is just so much better than Async/Lwt. In terms of programming, in terms of debuggability, surely in terms of performance too. Having proper multithreading in 5.0 suddenly makes OCaml strictly superior in my (rather biased) opinion.

I used to think the same but I'm not convinced anymore.

The issue is, it's really hard to come up with leakproof regulation. Companies have far more resources to look for loopholes than governmental agencies to design the law. An extreme example of this is the financial sector, where regulators have pretty much thrown in the towel. They just write vague law to be able to prosecute whatever after the fact.

BUT if we expect companies to behave ethically and act on that, then the incentives for businesses are effectively altered, and it's much harder to find loopholes in that.

There are model checkers such as nidhugg (C++), dscheck (ocaml). They take a test case and reach all possible terminal states by trying different interleavings.

Crucially, they don’t have to try all interleavings to reach all terminal states, making the enumeration quite fast.

It depends. Sure an obscure crypto or betting exchange does not have many competitors, but that's not because no one cared, but because even with perfect strategy it's going to be hard to make $$ if daily volume is 10k. How much can you reasonably extract?

Conversely, traditional stock markets is where relatively unsophisticated players do multi-million transactions all the time. This is where the money is. You might need to fight for it or it might be handed over on a silver plate by some redditors.

While I don't think that wanting is completely meaningless, the last bit rings very true.

Ultimately you have to reshape your life and environment a little bit.

Just random thoughts:

Be pretty good at what you are doing (absolutely no need to be a genius though, at least for SWE). Classic Google interview stuff, although they do put emphasis on slightly different things.

Knowing maths helps, knowing low latency helps, but its not required - any quant shop needs a ton of normal software.

If you don't have friends in the industry, etc. going through a good recruiter might actually help.

Cold Showers 4 years ago

Can you actually determine things like that with an engine?

A Python function can be called from within or from outside of your codebase with different callsites passing different types.

Cold Showers 4 years ago

It is just a fair bit harder to figure out the types as program grows.