Live data from Hacker News

Julia 1.9

julialang.org

171–180 of 216 posts

Re: Julia 1.9

#171
post #111

Earlier quoted context omitted.

Are you referring to Plots.jl? All Julia libraries end with a .jl in their name; sort of like how many Python libraries start with `py`, and Rust libraries have `rs` as a suffix. Having it be universal makes it more consistent, and leaves the rest of the name to be completely about the content of the package. In my experience/opinion, that has lead to better package names (though Julia's package naming policies also…

the `.jl` was in effect dropped. Tbh, I landed on the page and started to skim it and it was highly confusing.. Just try to read the landing page without realizing "Plots" is a proper name :)) "juliaplots.org" - looks like a website about plotting in Julia "Plots - powerful convenience for visualization in Julia" I guess they are... "Almost everything in Plots is done by specifying plot attributes." I guess you could…

It’s pretty typical for the conventions of Julia package naming… Plots, Statistics, DifferentialEquations, …

Re: Julia 1.9

#172
post #37

Earlier quoted context omitted.

I don't know if you genuinely want feedback... But I'll share my very short experience. I tried Julia one time a few years back. I'll be honest, I didn't put in a lot of effort into (but nor will most potential Matlab converts - bc people are busy and have stuff to do) It's got a frustrating "not fun" on-boarding. ie. the number of minutes from downloading "Julia" to getting cool satisfying results 1. It not a calcul…

> Tbh, from the subsequent manual listing it's not even clear it's a math-focused programming language It’s true that the majority of the Julia community comes from a scientific or engineering background, and this is reflected in the package ecosystem and some of the “embedded” language features for technical computing. However I feel like stressing Julia as a “technical language” any more than it currently is may sc…

I’m a heavy Julia user, and I love the language, but I really wouldn’t recommend it as a “general purpose scripting language”. Pushing the idea that it is will only lead to disappointment in new users. Julia is very much a language for scientific computing, in the broadest sense.

Re: Julia 1.9

#173
post #36
post #6

Matlab users should switch to Julia. It’s a real programming language, and better in many ways. I provide the option of Julia in my tutorials. Students are lazy, and don’t want to explore something new. Most of them stick with matlab. What prevents matlab users from switching? The syntax is similar.

>Matlab users should switch to Julia. [...] What prevents matlab users from switching? The syntax is similar. Choosing a programming language based on just comparing the language syntax only works for academic settings or toy projects for self-curiosity and learning. Once you consider adopting a language for complicated real-world industry usage , you have to look beyond the syntax and compare ecosystem to ecosystem…

I would be cautious saying Simulink has no Julia equivalent. This NASA engineer switched from Simulink to SciML and obtained a 15,000x speed up while his code went from 1000 lines to 50 lines long: https://www.youtube.com/watch?v=tQpqsmwlfY0

Re: Julia 1.9

#174

Earlier quoted context omitted.

>In PyTorch you have a graph that is created on runtime by connecting the operations together in a transparent manner. You've jumped the shark here mate because autodiff in PyTorch is implemented using compile-time generated code in libtorch - it's not only the very definition of opaque but also pretty close in spirit to a macro.

Transparent in this case means the average user does not need to interact with the underlying system, it is there, it does stuff, but the user does not see it or interact directly. What is opaque is jax's tracer objects in the sense that the system exists, is there, the user is aware that it is there, and you can't peek inside it without actively going out of your way. With PyTorch you can implement your own function…

well i mean if we redefine all the words so they mean whatever we want them to mean then sure blob code that isn't visible even in the source tree can be considered transparent and conversely, perfectly accessible script code (jax's interpreters) can be considered opaque what do i know i'm just a contrib on both projects shrug

lots of your other claims are just complete misunderstandings e.g. whether the graph is created at runtime - it's not and you can read adam's original paper to find that out if you don't believe me - and the idea that libtorch is just a backend - it's not - it is, for all intents and purposes, pytorch.

Re: Julia 1.9

#175

Earlier quoted context omitted.

It isn't. That said, it's not as bad as it sounds at first because there are tools like Revise.jl which let you change code without recompiling.

I see. It’s a separate library, right? :) I hope this information is part of Julia tutorial.

See https://docs.julialang.org/en/v1/manual/workflow-tips/#Revis...

Re: Julia 1.9

#176

I like to explore alternatives to Python and Julia has been one of the tools I am waiting to become mature enough to actually invest some time in. But every time I start reading threads, I see the comments from actual users reporting about half an hour minutes and “coffee time” project compilation. Then the dreaded ecosystem problem. Then I think to myself, well, it’s not the time yet. Also, I wish Julia was as popul…

There seems to be significant activity around ASML in the Netherlands: https://info.juliahub.com/sciml-asml-lounge-eindhoven-meetup

Re: Julia 1.9

#177

I like to explore alternatives to Python and Julia has been one of the tools I am waiting to become mature enough to actually invest some time in. But every time I start reading threads, I see the comments from actual users reporting about half an hour minutes and “coffee time” project compilation. Then the dreaded ecosystem problem. Then I think to myself, well, it’s not the time yet. Also, I wish Julia was as popul…

There seems to be significant activity around ASML in the Netherlands: https://info.juliahub.com/sciml-asml-lounge-eindhoven-meetup

yeah. they have about 700 Julia users and are in the early phases of trying to switch all their code to Julia.

Re: Julia 1.9

#178
post #94

we had a big julia push this month after 2 years of just messing around. It's better than APL to read ( so is Sanskrit) but we hit a SCREECHING halt when we realized that it wasn't going to happen that we could our streaming data with Pluto notebooks on the web. Pluto Notebooks are wonderful and can handle streaming data just not on a hosted web page with multiple people using it. We tried to use Stipple.jl ( part of…

Can I ask what you would "easily" do after you "send the data to Python"? What Python framework would you use to easily build interactive real-time streaming data apps?

I'm asking because I work on Shiny, a reactive web framework for Python (and R) that aims to solve this problem well, and I'm having trouble figuring out how Python people have been doing this sort of thing. It's straightforward with a lower-level web framework like Flask/FastAPI but then you lose the nice reactive properties of something like Stipple.jl (and Shiny).

Re: Julia 1.9

#179

Earlier quoted context omitted.

Transparent in this case means the average user does not need to interact with the underlying system, it is there, it does stuff, but the user does not see it or interact directly. What is opaque is jax's tracer objects in the sense that the system exists, is there, the user is aware that it is there, and you can't peek inside it without actively going out of your way. With PyTorch you can implement your own function…

well i mean if we redefine all the words so they mean whatever we want them to mean then sure blob code that isn't visible even in the source tree can be considered transparent and conversely, perfectly accessible script code (jax's interpreters) can be considered opaque what do i know i'm just a contrib on both projects shrug lots of your other claims are just complete misunderstandings e.g. whether the graph is cre…

> we redefine all the words

I work for AWS; these are the definitions we use, more or less.

https://stackoverflow.com/questions/17384020/what-do-transpa...

> whether the graph is created at runtime

I was specifically referring to the computation graph of the model that is used by autograd.

Taken from [1,2]:

> Instead, PyTorch uses the operator overloading approach, which builds up a representation of the computed function every time it is executed.

> Internally, a Variable is simply a wrapper around a Tensor that also holds a reference to a graph of Function objects. This graph is an immutable, purely functional representation of the derivative of computed function; Variables are simply mutable pointers to this graph.

> A Function can be thought of as a closure that has all context necessary to compute vector-Jacobian products. They accept the gradients of the outputs, and return the gradients of the inputs (formally, the left product including the term for their respective operation.) A graph of Functions is a single argument closure that takes in a left product and multiplies it by the derivatives of all operations it contains. The left products passed around are themselves Variables, making the evaluation of the graph differentiable.

But what do I know?

> libtorch is just a backend - it's not - it is, for all intents and purposes, pytorch.

Sure, libtorch is PyTorch; that doesn't mean one can't take the semantics of PyTorch and implement them in just numpy backed python. Doesn't mean it will be fast.

[1] PyTorch: An Imperative Style, High-Performance Deep Learning Library

[2] Automatic differentiation in PyTorch

Re: Julia 1.9

#180

Earlier quoted context omitted.

They are orthogonal issues. The connection was that if Python can be counterintuitive because of slice syntax, the same can be claimed of Julia and 1-indexed. It is not a good argument IMO. I see your point, but personally find it a matter of preference, not of objective truth. `range(end+1)` is consistent with that slice notation that you disapprove of. At the same time, on 0-indexed vs 1-indexed you seem to have no…

But why should the slice notation be consistent with the range() syntax, which is itself weird? They could have added, in parallel to range(start,end+1), some interval() function that would adopt the more sensible syntax interval(start,end), and then design the slice syntax on this new interval() one. And to begin with, why on Earth is range() using the syntax range(start,end+1)? I honestly can't understand why it wa…

Python's slice/range semantics never occured to be really weird to me because half-open intervals [x,y) are widely used in measure theory textbooks.
Post reply on HN