Re: [julia-users] Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists?

2016-07-26 Thread Job van der Zwan
@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 R.

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


Re: [julia-users] Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists?

2016-07-25 Thread Stefan Karpinski
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.

On Mon, Jul 25, 2016 at 7:18 AM, Tamas Papp  wrote:

> 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.
>
> On Mon, Jul 25 2016, Chris Rackauckas wrote:
>
> > 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
> > R/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.
> >
> > On Monday, July 25, 2016 at 2:44:16 AM UTC-7, Job van der Zwan wrote:
> >>
> >> *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.
> >>

Re: [julia-users] Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists?

2016-07-25 Thread Tamas Papp
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.

On Mon, Jul 25 2016, Chris Rackauckas wrote:

> 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 
> R/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. 
>
> On Monday, July 25, 2016 at 2:44:16 AM UTC-7, Job van der Zwan wrote:
>>
>> *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 R 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/
>>



[julia-users] Re: What packages, features, other strengths would you recommend when showing Julia to molecular neurobiologists?

2016-07-25 Thread Chris Rackauckas
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 
R/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. 

On Monday, July 25, 2016 at 2:44:16 AM UTC-7, Job van der Zwan wrote:
>
> *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 R 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/
>