Groups 133 of 99+ julia-users › What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists? 5 posts by 4 authors Job van der Zwan Jul 25 TLDR: I'd like to show Julia to my colleagues, but don't have a clue which cool packages and features I should show off to them, because I don't do any scientific work myself. Hi, I'm an interaction designer working for a research group at Karolinska Institute 0 . Basically, I'm a glorified front-end webdev. I don't do any scientific work myself, I'm just building a web-based interface for browsing and visualizing single-cell data for them. So my use-cases don't seem to align with Julia's strengths, but I like the design of the language, the ideas behind the project and have been following its development great pleasure. Last week while watching a bunch of JuliaCon videos during a lunch break, one of my colleagues asked what the video was about. I tried to explain the Julia project to him, as well as the language's strengths and weaknesses. Sadly, I didn't really do a good job of it, since I don't actually program in it myself. He said it looked a lot like Matlab his language of choice and was interested in the free-and-open-source aspect. But he expected there to not be enough packages yet for him to work with it and was sceptical about whether switching to it would be worth it. I tried to explain that Julia can call out to Matlab code with practically no overhead, but he didn't really look convinced and I didn't have a working Julia environment to show it off to him either . While Jupyter was also a turn-off, since he doesn't like notebooks, but the Juno video compensated for that a lot. Basically, I'd like to show Julia to my colleagues, give them some pointers on where it might be fun to start playing with it, what are some of its amazing features that matter to them, but I don't have a clue of what I should focus on to do so. The researchers I work for are molecular neurobiologists. They're doing pretty well, having published in Science last year and this year, see here 1 for a list of publicatiosn. Currently Anaconda is the lingua franca platform, but some in the group prefer Matlab or Rlang over Python. Of course, one of Julia's selling points is that it's a very inclusive language, so I definitely could show that, but I don't know what else to demonstrate. I'm hoping there are researchers here with similar enough use-cases for Julia who could give me some suggestions about what kind of things they might really like over their existing solutions. Cheers, Job 0 http: linnarssonlab.org 1 http: linnarssonlab.org publications Chris Rackauckas Jul 25 It seems like most of what they do is biostatistics bioinformatics. I would show them PyCall and RCall. Knowing that you easily have all of those libraries and your previous libraries is great. Also show them the JuliaStats stuff. In fact, ask them what they'd want to add to Julia if they had the time. You'll run the gambit and show them a package which already does it. This happens all the time on the Gitter: someone new comes saying hey I want to learn Julia. It's new so it doesn't have many packages... does it have something for this? Oh it does... this? Oh it does... this? Oh..., its package system is actually pretty complete. This combined with the Rlang Python MATLAB glue really makes one confident that Julia at least has enough to try on a real project and get hooked . I'd also show them Plots-jl. It is also much nicer than other plotting libraries I've used before. The fact that you can switch backends with the same code means that you get all the new updates for free when backends come out I'm looking at GLVisualize! Definitely show them the BioJulia group. Show them parallel and pmap. If they have HPCs, show them how to just give Julia the machinefile and together you already have multinode parallelism for embarassingly parallel problems. Last but not least, show them the community: julia-users, the Gitter channels for chatting with the devs, etc. Knowing that there's always help right there is really wonderful. Tamas Papp Jul 25 Re: julia-users Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists? Hate to sound like a curmudgeon, but language evangelism frequently backfires, and if it is coming from a person not working in a particular problem domain, the best you can expect is a shrug. Which is fair I guess, I don't know what you are doing but I am sure you would find language X a good match for it doesn't sound too convincing. On the bright side, Julia is spreading fast in many communites, so if it is useful for those scientists, I am sure they will find it on their own quickly. When they are ready; and when the language is ready. TLDR: I'd like to show Julia to my colleagues, but don't have a clue which cool packages and features I should show off to them, because I don't do any scientific work myself. Hi, I'm an interaction designer working for a research group at Karolinska Institute 0 . Basically, I'm a glorified front-end webdev. I don't do any scientific work myself, I'm just building a web-based interface for browsing and visualizing single-cell data for them. So my use-cases don't seem to align with Julia's strengths, but I like the design of the language, the ideas behind the project and have been following its development great pleasure. Last week while watching a bunch of JuliaCon videos during a lunch break, one of my colleagues asked what the video was about. I tried to explain the Julia project to him, as well as the language's strengths and weaknesses. Sadly, I didn't really do a good job of it, since I don't actually program in it myself. He said it looked a lot like Matlab his language of choice and was interested in the free-and-open-source aspect. But he expected there to not be enough packages yet for him to work with it and was sceptical about whether switching to it would be worth it. I tried to explain that Julia can call out to Matlab code with practically no overhead, but he didn't really look convinced and I didn't have a working Julia environment to show it off to him either . While Jupyter was also a turn-off, since he doesn't like notebooks, but the Juno video compensated for that a lot. Basically, I'd like to show Julia to my colleagues, give them some pointers on where it might be fun to start playing with it, what are some of its amazing features that matter to them , but I don't have a clue of Stefan Karpinski Jul 25 Re: julia-users Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists? I think that the key is to take an informative approach rather than a forceful one. If people are happy using whatever they're currently using, don't try to force them to change. There are, however, usually people who are in a great deal of pain trying to solve the problems they're tackling with the tools they have – those people are often extremely relieved to find something that can make their lives easier. People are themselves in the best position to know this, so if you show them something like Julia and what it can do, they'll know if they have a use for it or not. That said, showing examples that connect with them and allow them to imagine how to apply it in their work is key. Job van der Zwan Jul 26 Re: julia-users Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists? Chris: thanks for the tips! Tamas: oh I know what you mean, and don't worry, I'm definitely not planning on telling these people how they should do their research! But as a counterpoint: they also are so focused and busy dealing with their research problems that they don't really have the time to leisurely explore what Julia has to offer them like in that cartoon with square wheels 0 , although I find that one a bit condescending . Surely it wont hurt doing some prep-work for them by finding relevant examples, like Stefan suggests, and let them evaluate if it's worth their time. Stefan: one example of programming-related struggle within the group is that one of them works best in matlab, and he created new clustering algorithm called BackSPIN. Then another member of the group ported it to Python to make it more widely accessible 1 . But now the first guy has come up with an improvement for his algorithm, but the resulting matlab code is so complex that the second guy is struggling with porting it. Meanwhile, my sole contribution to the whole thing is making sure NumPy's in-place methods are used everywhere, and replacing a scalar matrix division with a one-over-scalar multiplication in the innermost loop, speeding it up by 40 . All of which required no understanding of the algorithm. Anyway, the professor pushed for the whole group to switch to Python to prevent exactly this this problem. So now a new member of the team has to learn Python because his main language so far is Rlang. I was thinking that perhaps Julia as a language plus PyCall, RCall and MATLAB-jl would provide a more appealing compromise for them. What's appealing about it to me is that would be easier for me to contribute dumb-but-effective low-level optimisations while they work out better high-level algorithms. 0 https: hakanforss.files.wordpress.com 2014 03 are-you-too-busy-to-improve2.png 1 https: github.com linnarsson-lab BackSPIN