Hacker Newsnew | past | comments | ask | show | jobs | submit | zfnmxt's commentslogin

They aren't that rare. And AI is expanding the niche because making parallel linear algebra go zoom zoom is compiler work. There's also a lot of quantum compiler work.


Ya, I almost got a quantum compiler job at Alibaba (they decided to go in a different direction), and a job with Microsoft working complied ML support for Julia also fell through (I passed the interview, but they couldn’t get the head count) before ultimately joining Google working on developer experiences.


All those LLVM forks need maintainers, too.

Then there are the people building compilers accidentally, like in the <xyz>-as-code space. Infrastructure automation deal with grammars, symbol tables, (hopefully) module systems, IRs, and so forth. Only the output is very different.

And of course the toolchain space is larger than just compilers. Someone needs to maintain the assemblers, linkers, debuggers, core runtime libraries. If you are building a Linux distribution, someone has to figure out how the low-level pieces fit together. It's not strictly a compiler engineering role, but it's quite close. Pure compiler engineering roles (such as maintaining a specific register allocator) might be quite rare.

It's a small field, but probably not that obscure. Despite the efficiency gains from open-source compilers, I don't think it's shrinking.


I also did exactly this and do not receive any spam calls anymore.


Professionalism is not a virtue; measured irreverence is---an uncensored "Fuck" in this scenario falls into that category.

Silliness has an important and necessary place in research.


NOT in professional communication. If you want to run your lab that way, feel free.


Good; censoring profanity (especially self-censoring) is for cowards. Be brave and dish out your fucks liberally in your papers!


Location: US & Europe

Remote: No preference

Willing to relocate: Yes

Technologies: Functional programming, type systems, language design, compilers, parallel programming languages, verification, Haskell.

Résumé/CV: https://rschenck.com/docs/cv.pdf

Email: See CV above.

I recently finished my PhD at the University of Copenhagen, where I worked on the functional array programming language Futhark (https://futhark-lang.org/). My research focused on Futhark’s type system---including sum types and rank polymorphism---and on adding support for parallel automatic differentiation. Right now, I’m a postdoc at VU Amsterdam, working on hardware verification. Specifically, proving leakage properties of functional hardware descriptions (functional in the Haskell sense) in a composable way.

See my CV or https://rschenck.com for a list of publications.

I'm open to both academic and industry positions. I'm broadly interested in all things type systems/functional programming/compilers/language design. I can work in both the US and the EU without a visa.


> But most everything he writes will be right.

I think the the essay is largely about exploring ideas deeply. And in much the same way a chef might stress that you must add the eggs one-by-one or whatever other culinary unfounded superstition they employ, your farm moron will stress always plowing east-to-west or something---both processes may yield a perfectly fine product, but neither has actually understood what's actually going on. They may be expert practitioners, but they are no experts.


> I took a course on massively parallel programming taught by one of the authors of this paper that extensively used Futhark and CUDA.

PMPH? :)


> Notice that all the all the languages mentioned depends on the external BLAS library for example OpenBLAS for performance.

That's incorrect. Futhark doesn't even have linear algebra primitives---everything has to be done in terms of map/reduce/etc: https://github.com/diku-dk/linalg/blob/master/lib/github.com...


The same holds for Accelerate, and I'm fairly sure also SaC and APL. DaCe even gets a special mention in the paper in section 10.5 stating that they specifically _do_ use BLAS bindings.


Futhark, SaC, and Accelerate have purely functional semantics. Futhark has something called "in-place updates" that operationally mutate the given array, but semantically they work as if a new array is created (and are statically guaranteed to work this way by the type system).


> if the baseline chance of delay is 10%, engineering works add 25%, strikes add 35%, and bad weather adds 20%, then when all these problems happen, there's a 90% chance your train will be delayed.

What if signal failures "add" 15%? Then all factors combined would mean that there's a 105% chance your train will be delayed!

Adding up probabilities like this doesn't make sense. If you simplify these things as independent events, the probability of delay is just the 1 minus the product of all the probabilities of each event not happening (i.e., 1 - P(event)).

As for the article---I think you really undervalue your time and the price of inconvenience. I can see how you can romanticize it as a nice way to get things done, but (dealing with) train delays is hardly distraction free and is full of forced setting changes and (very) shit working environments (like waiting on a platform). This is a bad deal, even if it's free. Money is there to to be spent; this is a instance in which to spend it, moral/ethical/fraud concerns aside.

But hey maybe you're a Von Neuman type and thrive in cacophony and chaos.


I think you really undervalue the pleasure of getting one over on our awful train system, and also overestimate how much money the young people of the UK have access to.


> As for the article---I think you really undervalue your time and the price of inconvenience. I can see how you can romanticize it as a nice way to get things done, but (dealing with) train delays is hardly distraction free and is full of forced setting changes and (very) shit working environments (like waiting on a platform).

By delays, I think the author meant that they get on a train, then sit in it for ~5 hours, with the option of paying roughly twice the price for first class [1].

As someone who frequently uses their laptop on public transport too, this sounds like a great way to either get things done or pass time.

[1] https://www.avantiwestcoast.co.uk/travel-information/onboard...


Though the problem is that delayed trains are often overcrowded trains. And overcrowded trains are not conducive for doing work on a laptop, unless you like sitting on the vestibule floor outside the toilet door with your laptop on your knees.


To be fair, in my experience a lot of train operators will not declassify a train unless it is very very full. So if you got a first class ticket, you wouldn't be as stuck.


> Though the problem is that delayed trains are often overcrowded trains.

I've experienced exactly this with Deutsche Bahn trains, but I've been looking at the National Rail Conditions of Travel [1], and there's no requirement that tickets automatically turn into "flexi" tickets, allowing use of alternate routes, unlike German regulations.

I'm guessing a huge number of people being allowed to hop onto the next train instead of just being provided a refund is a huge cause of overcrowding, but I also haven't experienced the UK rail system first-hand in many years.

[1] https://assets.nationalrail.co.uk/e8xgegruud3g/3Y9UXuFziljws...


It is mostly the same in the UK too, at least in principle. Sparpreis fares correspond to Advance tickets, which can vary over time or be sold at a discount. DB's Flexpreis would be called 'walk-up' fares in Britain, which are fixed in price by the Department for Transport (a part of the British government).

If you miss a train due to no fault of your own you can take the next available one, including with an Advance ticket[1].

What complicates the matter greatly in the United Kingdom is the semi-privatized franchising system and the hundreds of 'restriction codes' that limit the validity of the tickets to what is essentially an arbitrary subset of the available services, even in the case of disruption.

I think that German regulations, as well as European industry agreements such as CIV, are better for the passenger because they codify in law how reasonable railway staff would act anyway. However there are equivalent protections in Britain, albeit ones encoded in nebulous contracts and precedent rather than enshrined in law. They can help you but only if you know what they are and are prepared to fight the bueorocracy to invoke them.

[1]: https://www.nationalrail.co.uk/tickets-railcards-and-offers/...


Sir, this is an Englishman writing; he‘s obviously taking the piss.


Your comment made me wonder. 65% chance of delay.

    >>> s = 'if the baseline chance of delay is 10%, engineering works add 25%, strikes add 35%, and bad weather adds 20%'
    >>> pb = 0.1
    >>> pe = 0.25
    >>> ps = 0.35
    >>> pw = 0.2
    >>> p = 1 - (1 - pb)*(1 - pe)*(1 - ps)*(1 - pw)
    >>> p
    0.649


Agreed, but also where did those %'s come from? Seems like thin air so it's really all a gamble at this point.


78 percent of statistics are made up on the spot.


and 42% of the time, they match up with reality.


Most of these trains are one and done things straight from the departure station to London?

The only experience I have was taking them in the other direction though, because I opted for a flight instead of dealing with it again to go back to London.

Was a new experience booking a train ticket and seeing a quote of £250. I thought the machine was broken.


For small probabilities it works :)

1-(1-p1)(1-p2) = p1+p2-p1p2

and a similar formula holds for more terms. so neglecting terms of order p^2 gives the form in the article


For probabilities (much) smaller than 10%, sure.

But adding 10%, 20%, and 35%, is already a pretty bad start. The error rate becomes huge. (in the article example, the 10% estimate of chances of being on time is ~3.5 smaller than the actual 35% correct result).

Being wrong by half an order of magnitude, is being quite wrong :)


I'm not disagreeing with you!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: