What do you work on? Why is it important?

I make this Baduk Go Weiqi ratings for professional Go players

https://daizj.net/baduk-go-weiqi-ratings/

It’s almost entirely in Julia except for the GLM which I fit in R.

The scraping’s done in Julia and all the data manipulation

see GitHub - xiaodaigh/baduk-go-weiqi-ratings

I just run the code that makes the ratings everyday using my Windows Scheduler

2 Likes

I’m glad you are fond of Julia, but I hope this sort of language bashing doesn’t become accepted in our community. Python is a very popular language, and it can do a lot of things Julia can’t. Just to give a typing example, Python 3’s has a static type system that can define a function type like Callable[[A], B] (what Haskell would call a -> b), which Julia can’t do. (If you want a compiled version, there’s mypyc (static) and PyPy (jit).) Both languages are very capable and serve their communities well. Criticizing other people’s tools will only give our community a bad name.

7 Likes

I’m curious: why not use GLM.jl?

1 Like

didn’t fit the model and complained about some matrix decomposition was not doable

Have you opened an issue on GLM.jl? Seems like worth investigating. Also I seem to remember from a previous thread on this that it was a logistic regression, have you tried GLFixedEffectModels?

No. Kinda gave up on it. Like, it seems hard to figure out how to fit without an intercept. GLM.jl seems like an afterthought. I just use whatever’s already available.

ERROR: No fixed effects detected, exiting. Please use GLM.jl for GLM's without fixed effects.

With fitting simple models like this. I want to exert 0 effort. But I feel like I have to jump thru hoops to get this simple thing done. So I think I will skip and stick with RCall.jl for now.

thank you so much for making this point; my original comment was made in the spirit of a joke, but you are absolutely right that criticism and negativity can be highly destructive. i apologize if i’ve come across this way.

i would much prefer a community of positivity; thank you for upholding that value!

11 Likes

I’m a biologist and I work on making models of biological processes/pathways to better understand how our bodies work.

I switched to Julia from Python/Matlab. I first tried Julia a year ago because I heard it’s as easy to write code as Python/Matlab yet it’s as fast as C/Fortran. For the ODE model of a biological pathway that I currently work on Python+Numba+SciPy code took ~300ms to run after lots of optimization (note that it’s not regular Python already as Numba is LLVM compiled and SciPy is Fortran) and Julia took ~5ms to run right away and code looked cleaner. It might seem like it doesn’t matter whether model runs 5ms vs 300ms but I have to rerun the model 10^6 time routinely to estimate parameter errors and study why model works so I can do whole new types of analysis with Julia code.

So I now use Julia exclusively for my modeling as it’s faster than Python/Matlab and DifferentialEquations.jl package seems to be the most comprehensive package for solving ODEs in any language and is still actively developed.

11 Likes

I work on a biotech startup developing methods trying to predict when an epilepsy patient will have a crisis, in order to warn them beforehand. We are developing a wearable EEG to collect the data for the prediction.

I use julia because I was getting annoyed of waiting for the programs to run in python and writing it in C took way too much time and effort to achieve what I am now able to with julia.

The final product when released might not use julia, but the hard part of the problem is developing the algorithm, and fast, readable code goes a long way in helping the development

7 Likes
  1. I’m a researcher developing sensing and control solutions for the aerospace and marine industries. Research involves real-time hardware and software development.
  2. In fixed-wing applications improving performance often entails aerodynamic and structural optimization of the lifting structures. Even after designing such structures, you have to make it work safely and according to design. Delays in your system whether due to hardware or processing decreases the margin for safety and performance. So, spending time on the hardware and software architecture pays dividends in terms of aircraft stability and performance.
  3. My workflow involved Matlab & C/C++ for prototyping & simulations, and reducing the Matlab code to fast C/C++ code for real-time embedded systems to validate simulations. I’m replacing Matlab in this workflow with Julia.

Julia is ideal for researchers like myself because my productivity increases multifold from the fast libraries, especially DifferentialEquations, enabling me to rapidly iterate new algorithms using a wide range of numerically efficient, open libraries. The open source (BSD license) approach of Julia is important, because I need to know the underlying mathematics to determine if it’s suitable for my applications, i.e., no black-boxing.

I see lots of room for growth, e.g.,

  • code validation: see how my algorithms change in accuracy and performance with different numerical types
  • autogeneration of validated, targeted C-code using the AST and metaprogramming
  • Symbolic code manipulation for exploiting mathematical structure in the problem for both simulations and algorithm development

There’s so much potential since a rich, self-sustaining ecosystem of generic, efficient mathematical & programming tools could emerge from scientists from so many different fields with unique challenges. I’m obviously very excited by the language and I’ll eventually contribute more significantly once I complete my immediate work.

6 Likes