Live data from Hacker News

Julia Computing raises $24M Series A

hpcwire.com

201–210 of 246 posts

Re: Julia Computing raises $24M Series A

#201
post #86

Earlier quoted context omitted.

> As soon as you take Julia out of notebooks and try to build moderately complex apps with it, you realize how much you miss Python Why's that? What features or lack thereof of Julia contribute to that experience?

There is too much to talk about and I’d want to give an objective impression with examples in a blog post, but one of the major grips I have is how little information Julia provides you with stack traces. Debugging production problems with absolutely zero clue of what/where the problem might be is one of the most frustrating aspects. I’ve spent so many hours debugging Julia using print statements. Debugger is janky,…

> one of the major grips I have is how little information Julia provides you with stack traces

as opposed to Python and JVM traces? LOL

Also, python has been around for alot longer. So perhaps that Python has "everything" is a feature of time and user base.

Maybe Julia will grow to have a large enough user-base to have those things.

Re: Julia Computing raises $24M Series A

#202
post #154

Earlier quoted context omitted.

How is "model.fit(X,Y)" better than "fit!(model,X,Y)"? Julia is object oriented in a broad sense, it just uses multiple dispatch which is strictly more expressive than single dispatch, so doesn't make sense to have dot notation for calling methods because types don't own methods. For giving up some facility in function discover, you get speed, composability, generic code...and a net gain in usability because you can…

I'll give you my two cents, recognizing that I very well might just be ignorant about Julia and multiple dispatch, and if so please continue to educate me. Consider if we want to run many different types of models. Logistic regression, gradient boosting, NNs, etc. We want the ability to easily plug in any type of model into our existing code base. That's why model.fit(X,Y) is attractive. I just need to change "model…

Hmm, reading your comments. I think you have understood how `fit!` works.

Each develop will develop their model in their own package. But they just define this fix function. E.g.

``` # in PkgA function fit!(model::ModelTypeA, X, y) # some code ... end ```

``` # in PkgB function fit!(model::ModelTypeB, X, y) # some code ... end ```

Each `fit!` function is distinct. It's the same as `model.fit` where the `model` is controlled by the individual developers.

Re: Julia Computing raises $24M Series A

#203
post #41

it's not obvious to me what's their revenue model?

Nothing complicated. Stream 1: Build amazing products for particular domains, charge license fees Stream 2: Build a great SaaS platform for running Julia, charge for compute Since all of our domain products are built in Julia and often involve significant compute cost for their intended application, hopefully both at the same time :).

lol doesn't this create perverse incentives - i.e. you're incentivized to actually make Julia slower sine it'll lead to being able to charge more for compute :p

Re: Julia Computing raises $24M Series A

#204
post #59

Earlier quoted context omitted.

These kind of concerns are not unreasonable in general of course, but in this case let me point out that Julia Computing has been a commercial enterprise for more than six years. Also, our commerical product is deliberately not Julia, but rather we're building our products on top of Julia, just like anyone else might. In fact there are several startups unrelated to us that have built multimillion dollar businesses en…

You're not just one among them given how much control you have over the language itself. Those other companies aren't founded by the co-creators of and main contributors to the language.

JetBrains is doing pretty well. They created Kotlin. Kotlin is quite popular.

Re: Julia Computing raises $24M Series A

#205
post #63

Earlier quoted context omitted.

thanks for the answer Keno. i guess an example Stream 1 product is Pumas. i didn't realize it's a separate product from Julia. my background is in finance and i am curious if you have any plans to break into that domain (examples on your website include julia language use)

Finance was a focus area early on and we have a fair number of consulting clients there and JuliaHub is available of course, but we were never able to figure out a dedicated domain-specific, non-niche product to sell into the space. Maybe in the future.

Lots of finance companies shell out a lot of money for KDB+, a fast real-time database. Other than performance, the main selling point is that it comes with its own imperative language (K/Q). You can build entire API's and trading systems in Q: persistence, load balancing, streaming analytics, &tc. In that way, Q solves a different "two-language problem". There are not many serious competitors.

If Julia had its own lean realtime database implementation, then I can see it becomming a killer language for finance. JuliaDB/OnlineStats is probably 60% of the way there.

Re: Julia Computing raises $24M Series A

#207

Can someone please explain to me, a mere mortal, what is the big deal with Julia. Why use it, when there are so many other good languages out there with more community/support? Honest question.

We had three big data pipelines written in numpy that we'd spent a lot of time optimizing. Rewriting them in Julia, we were able to get an 8x (serial -> serial), 14x (parallel -> serial), and 28x (parallel -> parallel) speedups respectively – and with clearer, more concise code. The difference is huge.

did you end up using package compiler as well?

Re: Julia Computing raises $24M Series A

#208

Earlier quoted context omitted.

I won't hear of it. Matlab is great. Superb at manipulating matrices, great for getting started with differential equations, world-class plotting library, and massively forgiving. All the things a computational engineer like me needs. I would never use it for producing software meant for distribution, but people mainly hate on it because it's 'cool', without realising that it excels at what it does. I fucking love ma…

https://diffeq.sciml.ai/stable/tutorials/ode_example/ Diffeq are one of those things that Julia is a particularly good choice for that benefits strongly from its types and what not. Give it a shot if you do a lot of this. Julia syntax resembles matlab more than python or R.

Chris Rackauckas' work on it was truly brilliant. I believe he also posts on HN sometimes. Anyway, I've had tonnes of fun playing around with differential equations in Julia!

Re: Julia Computing raises $24M Series A

#209
post #169

Earlier quoted context omitted.

Thanks, I see where you are coming from. >It should be the responsibility of the developer of "model" to select the "fit" algorithm appropriate for "model." (They don't have to implement it, but they do have to import the right one.) The developer of "fit" should not be responsible for handling every possible "model" type. You could have the developer of "model" override / extend the definition of "fit" but that open…

I agree you can achieve same benefits with Macros. Indeed, I see that MLJ, Julia's attempt at a SciKit type project, makes extensive use of Macros. But I personally think macros are an antipattern. In large projects, they can introduce subtle bugs. Especially if you're using multiple modules that are each editing your code before compile time and that don't know about each other. I know others in Julia community agre…

None of these require macros.

If (and only if, I have not looked at our hypothetical model and fit GF, but for the sake of argument, I will assume that it does) "fit" specialises on "model" will a "mode = AnOtherModel" cause "fit(model, x, y)" to be exquivalet to Python's "model.fit(x, y)". If you need to provide a custom "fit" method, you do so by providing a method specialised on AnOtherModel to the "fit" GF.

At no point is there a macro involved.

As for the "module a, model nn" and "module b, model nn", I would naively assume that they actually are different models, and therefore something specialising on "a.nn" will not get dispatched to when you pass a "b.nn".

Disclaimer: I don't actually know Julia, at all. But I have written substantial amounts of CLOS code (and Python, but I like CL and CLOS better).

Re: Julia Computing raises $24M Series A

#210
post #198

Earlier quoted context omitted.

https://diffeq.sciml.ai/stable/tutorials/ode_example/ Diffeq are one of those things that Julia is a particularly good choice for that benefits strongly from its types and what not. Give it a shot if you do a lot of this. Julia syntax resembles matlab more than python or R.

Thanks, I'll give it a shot. Matlab's syntax for matrices is, naturally, great.

If you will do a lot of matrix stuff you might want to listen to https://youtu.be/C2RO34b_oPM taking Vector Transpose Seriously
Post reply on HN