Live data from Hacker News

Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

docs.google.com

31–40 of 40 posts

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#31
post #28

This kind of practical research work is so intriguing! Is there a roadmap or a career path for beginners to join and work in this field?

Step 1: Get a PhD.

I'm not joking. While there are exceptional situations where you might get to work on interesting projects, by far the most reliable way to do it is through an academic degree.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#32
post #24
post #8

Earlier quoted context omitted.

A long time ago, Yann LeCun wrote Lush, which was a numerically-focused Lisp dialect, with a focus on C interop. It might be one of Julia's closest sibling. > Lush is an object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications. Lush is designed to be used in situations where one would want to combine the flexibility of a h…

A Lisp with expressive macro support is at least what is needed. Nothing I know of nothing else that has the affordances to support internal DSLs and creative control flow.

Julia as hygienic macros. From their documentation [1]: "The strongest legacy of Lisp in the Julia language is its metaprogramming support. Like Lisp, Julia represents its own code as a data structure of the language itself."

Parts of Julia are even implemented in Lisp [2], although they tend to be ported to Julia now IIUC. But it's clear the Julia developers are well aware of Lisp and its strong points.

[1] https://docs.julialang.org/en/v1/manual/metaprogramming/ [2] https://discourse.julialang.org/t/the-role-of-femtolisp-in-j...

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#33
post #32
post #24

Earlier quoted context omitted.

A Lisp with expressive macro support is at least what is needed. Nothing I know of nothing else that has the affordances to support internal DSLs and creative control flow.

Julia as hygienic macros. From their documentation [1]: "The strongest legacy of Lisp in the Julia language is its metaprogramming support. Like Lisp, Julia represents its own code as a data structure of the language itself." Parts of Julia are even implemented in Lisp [2], although they tend to be ported to Julia now IIUC. But it's clear the Julia developers are well aware of Lisp and its strong points. [1] https://…

Julia also feels a bit like Dylan, another Lisp offspring with Algol-like syntax.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#34
post #31
post #28

This kind of practical research work is so intriguing! Is there a roadmap or a career path for beginners to join and work in this field?

Step 1: Get a PhD. I'm not joking. While there are exceptional situations where you might get to work on interesting projects, by far the most reliable way to do it is through an academic degree.

Not at all. Only a small number of the people involved in this actually have PhDs (often in unrelated fields) and many of the most prolific contributors are undergrads who get involved via summer projects. If you're interested in internals, probably the best way to learn is to just join our slack (see julialang.org) and chat with all the developers.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#35

Earlier quoted context omitted.

Shadow IT. A client asks: if we cancel our subscription tomorrow and our competitor acquires your company next year, will our data have been deleted by then ? And if you have employees sharing customer data with each other over unsanctioned channels, you can't really answer "yes". Blocking Google Docs is by far the cheapest way to prevent its use, even considering the downsides of a complete block.

Does that mean they block every single website where you can upload data? Dropbox, Gmail, etc? What's even the point given how easy it would be to find some way to send stuff over the Internet?

How easy is it? Except for email and our approved file sharing service, there is practically no way to share files outside of our network.

Dropbox, drive, icloud, you can easily firewall all of that.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#36

Earlier quoted context omitted.

Shadow IT. A client asks: if we cancel our subscription tomorrow and our competitor acquires your company next year, will our data have been deleted by then ? And if you have employees sharing customer data with each other over unsanctioned channels, you can't really answer "yes". Blocking Google Docs is by far the cheapest way to prevent its use, even considering the downsides of a complete block.

Does that mean they block every single website where you can upload data? Dropbox, Gmail, etc? What's even the point given how easy it would be to find some way to send stuff over the Internet?

Yes. It's trivial to block everything you can think of easily, and for everything other than that there's network monitoring and legal recourse.

Why would you bother to look for some awkward way to work with customer's sensitive data over the internet, if you're going to get fired for finding that way? The main goal is to prevent random people from storing data in unapproved locations "because it was easier that way". You can easily make it not be easier, that cuts 95% of the sharing, and then the only practical reasons to do so are clearly malicious.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#37
post #32
post #24

Earlier quoted context omitted.

A Lisp with expressive macro support is at least what is needed. Nothing I know of nothing else that has the affordances to support internal DSLs and creative control flow.

Julia as hygienic macros. From their documentation [1]: "The strongest legacy of Lisp in the Julia language is its metaprogramming support. Like Lisp, Julia represents its own code as a data structure of the language itself." Parts of Julia are even implemented in Lisp [2], although they tend to be ported to Julia now IIUC. But it's clear the Julia developers are well aware of Lisp and its strong points. [1] https://…

That is super cool, I didn't know that.

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#38
post #31

Earlier quoted context omitted.

Step 1: Get a PhD. I'm not joking. While there are exceptional situations where you might get to work on interesting projects, by far the most reliable way to do it is through an academic degree.

Not at all. Only a small number of the people involved in this actually have PhDs (often in unrelated fields) and many of the most prolific contributors are undergrads who get involved via summer projects. If you're interested in internals, probably the best way to learn is to just join our slack (see julialang.org) and chat with all the developers.

Both are true. A PhD program is a great way to find a chunk of time to dedicate to a problem for a few years. At the same time, we've had contributors who were in high school when they started, through GSoC, and just generally interested folks in the community. On the other end, we've had tenured professors and even retired professors contributing to Julia.

Eventually, it boils down to two things. Find a problem that you want to work on and engage in the community as one-more-minute points out. Second, find a way to support that - PhD, an interested employer, a university, a grant, or perhaps you have are just well off and can do whatever you want!

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#39
post #31

Earlier quoted context omitted.

Step 1: Get a PhD. I'm not joking. While there are exceptional situations where you might get to work on interesting projects, by far the most reliable way to do it is through an academic degree.

Not at all. Only a small number of the people involved in this actually have PhDs (often in unrelated fields) and many of the most prolific contributors are undergrads who get involved via summer projects. If you're interested in internals, probably the best way to learn is to just join our slack (see julialang.org) and chat with all the developers.

Sure.

How many of these prolific undergrad contributors end up working full time on interesting aspects of the project though?

Re: Growing a Compiler: Getting to Machine Learning from a General Purpose Compiler

#40

Earlier quoted context omitted.

Not at all. Only a small number of the people involved in this actually have PhDs (often in unrelated fields) and many of the most prolific contributors are undergrads who get involved via summer projects. If you're interested in internals, probably the best way to learn is to just join our slack (see julialang.org) and chat with all the developers.

Both are true. A PhD program is a great way to find a chunk of time to dedicate to a problem for a few years. At the same time, we've had contributors who were in high school when they started, through GSoC, and just generally interested folks in the community. On the other end, we've had tenured professors and even retired professors contributing to Julia. Eventually, it boils down to two things. Find a problem that…

I want a full time Julia role so bad. Unfortunately i have a family to support and a mortgage to pay sp i cant quit my job unless i find something. But i have been contributing to Julia despite having a hectic baking career schedule. The fast `StatsBase.countmap(::UInt16)` for example was my first contribution!

Don't mind a pay cut but I failed at my first attempt to land a (rare) Julia job in Sydney. Willing to relocate!

Post reply on HN