Live data from Hacker News

Jane Street and the OCaml Compiler (2018) [video]

janestreet.com

71–80 of 119 posts

Re: Jane Street and the OCaml Compiler (2018) [video]

#71
post #6
post #2

i asked this question at my Jane Street interview, but never got a real answer: how does a market making latency arb firm handle GC pauses that are inherent with any GC language? OCaml is better in this regard than, say, the JVM, but it still seems problematic. I know they wrote some FPGA compiler stuff with OCaml, but I can't imagine that all of their execution is running through FPGAs. Even if it's possible, it see…

Things to consider: The company is >20 years old. OCaml is a general purpose language that provides an equilibrium between the avoidance of bugs introduced by state (like all functional languages), speed, and polymorphic type inference. At the time of adoption, the other choices were Haskell (too academic, not practical), Erlang (no type inference, not suited for large code bases with complex business logic), and lis…

There are many prop shops using plain old java with zero gc code.

Re: Jane Street and the OCaml Compiler (2018) [video]

#72

Seems to me that firms like two sigma and jane street form some sense of "mystique" about them with regards to how elite their developers are. But once you get inside, most people are writing run of the mill software. Google has the same tactic, even paying below market rates to people willing to work their for the brand. Jane Street does pay very well, but still, most of their hiring is based off of prestigious coll…

The people who work at jane street are generally super talented, but they also mostly work on generic not-especially-interesting software problems.

Source: Former jane street employee, also worked at two FAANGs before that, so I think I have some basis for comparison

Re: Jane Street and the OCaml Compiler (2018) [video]

#73
post #6
post #2

i asked this question at my Jane Street interview, but never got a real answer: how does a market making latency arb firm handle GC pauses that are inherent with any GC language? OCaml is better in this regard than, say, the JVM, but it still seems problematic. I know they wrote some FPGA compiler stuff with OCaml, but I can't imagine that all of their execution is running through FPGAs. Even if it's possible, it see…

Things to consider: The company is >20 years old. OCaml is a general purpose language that provides an equilibrium between the avoidance of bugs introduced by state (like all functional languages), speed, and polymorphic type inference. At the time of adoption, the other choices were Haskell (too academic, not practical), Erlang (no type inference, not suited for large code bases with complex business logic), and lis…

I think you are ascribing too much thought to Jane Street's decision to use OCaml. I think it was a good choice, on balance, but from what I heard/read when I worked there it was mostly just circumstantial.

Re: Jane Street and the OCaml Compiler (2018) [video]

#74
post #43

Earlier quoted context omitted.

Higher taxes are not the only economics implications of a Sanders presidency, especially when you look at some of the governments Sanders has praised over his career. A better tax structure is necessary and the easiest thing to do, but I don't trust Sanders to figure that out. Even Warren comes up with a wealth tax instead of just fixing the income and capital gains tax brackets. Hint: add three more brackets with 4m…

> especially when you look at some of the governments Sanders has praised over his career. Can you be more specific here? I mean, there can be praise for some governments without saying we advocate for everything they do. It's possible for instance to praise Cuba for health care outcomes without wanting to become Fidel Castro. There are also some ridiculous insinuations that Sanders is some kind of Chavista, which to…

From Wikipedia (prior to elected office): advocated for nationalization of major industries, including those in the manufacturing, energy and banking sectors. In 1974, he advocated for a marginal tax rate of 100% on income over one million dollars, saying that "Nobody should earn more than a million dollars"

https://en.wikipedia.org/wiki/Political_positions_of_Bernie_...

I doubt Sanders still advocates for most of these positions, and he is of course a millionaire now.

Re: Jane Street and the OCaml Compiler (2018) [video]

#75
post #4
post #2

i asked this question at my Jane Street interview, but never got a real answer: how does a market making latency arb firm handle GC pauses that are inherent with any GC language? OCaml is better in this regard than, say, the JVM, but it still seems problematic. I know they wrote some FPGA compiler stuff with OCaml, but I can't imagine that all of their execution is running through FPGAs. Even if it's possible, it see…

This is a really fascinating question. When I chatted with some of the Jane Street crew at NeurIPS they were adamant in the benefits of OCaml's Hindley-Milner type system. I didn't ask, but am curious, how that compares to the type guarantees of Rust? Would moving to Rust cause them to lose that advantage of compile time error catching? I've never written a line of Rust (hopefully that changes soon) so I don't know,…

Rust type's system has a similar power level to OCaml's but without modules (which are used heavily at JS) and with linear types/lifetimes. Rust would probably be a good fit for JS, but of course it takes a lot to overcome the momentum of 20 years of using primarily one language.

Re: Jane Street and the OCaml Compiler (2018) [video]

#76
post #69

Earlier quoted context omitted.

Ive worked a couple java based hft platforms at major firms. You write code that never gcs after startup. That means not using certain language constructs and rewriting almost every library along with using off heap memory. I have personally worked on systems that would run an entire week between deployments and never gced.

Could you maybe elaborate more on how to achieve this with Java, i.e., run an entire week and never get GCed? I would imagine that using immutable types is one of the tricks used in such a scenario.

You would (among other techniques) use something like Stormpot to maintain Object pools to release and acquire instances from.

Object pools typically can't match the GC on latency and throughput, however they do provide a lot more predictable and stable performance.

Re: Jane Street and the OCaml Compiler (2018) [video]

#77
post #66
post #55

Earlier quoted context omitted.

Sanders proposes a wealth tax as well. Not knowing that, coupled with ludicrous fears about him “seizing the means of production”, strongly indicates a questionable origin for your impression of Sanders. The same thing goes for governments that he’s praised, a completely manufactured controversy. It is not condoning authoritarianism to say, for example, that China outperforms the US in infrastructure. People get hyst…

> Sanders proposes a wealth tax as well. Not knowing that This is my point. They propose a radical new tax that requires measuring people's entire net worth, instead of fixing what's broken using our existing infrastructure which measures forms of income and money flow, because they are clueless, and it's good politics right now. The guy is a self proclaimed socialist, and that means socializing things [0]. I'm not i…

If measuring wealth is a problem, I'd look into inflation, and Land Value Tax. Inflation would depreciate money, and land value tax would erode physical possession. Then we can redistribute.

Land value tax in particular seems particularly interesting: if generalised to comprise (almost) all of tax, we can expect a drastic simplification of tax collection, and much less paperwork for everyone when doing all kinds of exchanges, paying an employee, selling goods… at least for unregulated activities. And of course, it would make accumulation of wealth more difficult.

Another route, that several countries have partially and successfully taken, is devoting part of salaries to the common good (tax salaries, at it were): a bit to pay for retirement, a bit to pay for hospitals, a bit to pay for unemployment… this could possibly be generalised to outright communism, where the means of productions are no longer owned by capitalists. (I would avoid a command economy however. We most probably want local stuff to be managed locally. For instance, only people living within 1Km of a bakery should have a say about what the bakery should do, and the people working there should probably decide how they want to work.)

The more pressing problem however is handling the coming recession: as energy (oil, coal & stuff) decreases, so will the GDP (it has already started). I don't know how an "ideal" should look like, but it's certainly not a system that assumes growth that isn't there. I'll just note that without growth, inequalities tend to be much less tolerable.

Re: Jane Street and the OCaml Compiler (2018) [video]

#78
post #70

Earlier quoted context omitted.

Ive worked a couple java based hft platforms at major firms. You write code that never gcs after startup. That means not using certain language constructs and rewriting almost every library along with using off heap memory. I have personally worked on systems that would run an entire week between deployments and never gced.

Why would you do that? Why not use C++? Especially, as you say, when memory management is ignored...

You can use a language like OCaml without allocating and still capture huge benefits over C++, like a decent type system, ADTs, and better abstractions than templates (modules in OCaml's case).

Re: Jane Street and the OCaml Compiler (2018) [video]

#79
post #70

Earlier quoted context omitted.

Why would you do that? Why not use C++? Especially, as you say, when memory management is ignored...

You can use a language like OCaml without allocating and still capture huge benefits over C++, like a decent type system, ADTs, and better abstractions than templates (modules in OCaml's case).

What about multicore? :)

Nowadays Rust seems to cover all those features with zero-cost abstractions.

Re: Jane Street and the OCaml Compiler (2018) [video]

#80

Interesting fact about the presenter (who is also my former boss) that I learned a few days ago: he recently gave $1,000,000 to an anti-Bernie Sanders super PAC. [redacted]

the sheer amount of money in American politics amazes me. Here in Germany, which is no small country, the largest parties maybe spend 20 million over an entire election cycle. And the discrepancy to the small parties is maybe 10x or so. And I find that obscene already The Bloomberg numbers shocked me too. 400 million or something before the general election has even started, you could probably feed tens of thousands…

Corruption is mainstream in the US. People don't appreciate how bad the situation is when money can buy politicians and subvert the majorities interests. It seems dramatic to say, but it's like a waking nightmare to me, seeing this in what I used to think was a country of high principles.
Post reply on HN