Re: [julia-users] Proposal: NoveltyColors.jl

2015-11-25 Thread Timothée Poisot
I would support this as a package on its own. Having all of these
palettes in a single place would be better than having to install
multiple packages, imho.

Randy Zwitch (11/24):
> Since the Julia ecosystem is getting bigger, I figured I'd propose this 
> here first and see what people think is the right way forward (instead of 
> wasting people's time at METADATA)
> 
> In the R community, they've created two packages of novelty color schemes: 
> Wes 
> Anderson <https://github.com/karthik/wesanderson> and Beyonce 
> <https://github.com/dill/beyonce>. While humorous, these color palettes are 
> interesting to me and I'd like to make them available in Vega.jl (and Julia 
> more broadly). Should I:
> 
> 1) Not do it at allbecause this is a serious, scientific community!
> 2) Do two separate packages, mimicking R
> 3) Create a single NoveltyColors.jl package, in case there are other 
> palettes that come up in the future
> 4) Make a feature request at Colors.jl (really not my favorite choice, 
> since there is so much cited research behind the palettes)
> 
> I neglected to mention ColorBrewer.jl (which Vega.jl uses), since 
> ColorBrewer is a known entity in the plotting community.
> 
> What do people think? Note, I'm not looking for anyone to do the work (I'll 
> do it), just looking for packaging input.


-- 
Timothée Poisot
Professeur adjoint
Quantitative and Computational Ecology
Department of Biological Sciences
Université de Montréal

WEB  http://poisotlab.io/
TWITTER  @PoisotLab



[julia-users] Sundials question

2015-11-02 Thread Timothée Poisot
Hi list 

I have a question related to SunDials.jl

We are building a model for which we currently have a function that
takes in two objects of custom types (c::Community and p::Parameters).
We'd like to move the code to Sundials, but we're not sure about the
best way to do it. 

Currently, we have a function dNdt(c::Community, p::Parameters),
returning an array of Float64 with the derivative, for every population
size (stored in c.N[1], c.N[2], ...).

Is there a way to pass additional arguments to the functions used in
Sundial? 

t

-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



Re: [julia-users] Re: Julia T-shirt and Sticker

2015-10-14 Thread Timothée Poisot
Hex stickers would be cool http://hexb.in/ -- and stickermule prints
them quite well, or so I've heard.

I'd be willing to chip in as well if the proceeds went to
supporting julia in any way.

On Wed, 14 Oct 2015 16:55:26 -0700 (PDT)
Ben Arthur <bjarthu...@gmail.com> wrote:

> we really really need a t-shirt to celebrate the release of 0.4.
> stickers would be great too.  i'd even be willing to pay an
> exorbitant amount for these things if the proceeds went to
> juliaComputing.



-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



Re: [julia-users] Re: The Julia Community Standards

2015-10-12 Thread Timothée Poisot
I don't really agree.

I mean, it would be nice to know where the name came from, as it is an
interesting bit of trivia. But as a community of mature adults, maybe
we can agree that we won't sexualize a name because (i) this is part of
the community standards we (implicitly) agreed to and (ii) maybe not
everything female-sounding needs be related to sex.

So knowing the origins of the name could be interesting, but it has
nothing to do with the issue discussed in this thread, I think.

Le lundi 12 octobre 2015 à 08:37 -0700, Christian Peel a écrit :
> I don't see a mention in the docs as to where the name Julia came
> from; did
> I miss it?  This was one of the first things I looked for when I
> learned
> about Julia.  As humans, we like a good origin story, and often we
> invent
> stories if there is not one present.  My guess is that even during
> the
> selection of the name, Julia as the name of a woman [1] and as the
> French
> mathematician [2] came up in discussion.  This came up during
> discussion of
> the language with my co-workers.  This ambiguity would be resolved if
> one
> of the founders wrote a paragraph or more on the origin of the name
> in the
> docs.  I recall that Jeff said something at a meetup about the origin
> of
> the name that meshes with the community standards.
> 
> [1] http://www.urbandictionary.com/define.php?term=Julia
> [2] https://en.wikipedia.org/wiki/Gaston_Julia
> 
> On Mon, Oct 12, 2015 at 6:47 AM, Sisyphuss <zhengwend...@gmail.com>
> wrote:
> 
> > I am not particular interested in this issue. I just like to know:
> > 
> > 1. If someone makes a moe female cartoon image of Julia language,
> > is it a
> > sexualization (in the second sense of Oxford dictionary)?
> > 
> > 2. I happened to say "understand her (Julia)" (that was a pun)
> > nearly one
> > year ago, was I sexualize it (in the second sense of Oxford
> > dictionary)?
> > 
> 
> 
> 
-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



[julia-users] Bets strategy for using Julia on a grid

2015-10-12 Thread Timothée Poisot
Hi List,

I am starting to deploy a small cluster of machines, and I'd like to
take advantage of Julia's ability for distributed computing. I have one
"big" machine purely for computing (48 Xeon cores, 256 GB RAM), and a
few workstations (12 i7 cores, 64 GB RAM). This is all connected on a
"head" machine, which also routes our local traffic onto the university
network. 

All of this runs Fedora 22 (server or workstation), all machines have
the same versions of the same libraries, and everyone has accounts on
all machines.

On a typical day, students use their workstations, but there are most
likely a few available cores. I know I can add workers over ssh, but
I'm wondering what the best strategy is.

1. Should I use a job manager on our head machine?
2. Should I spawn workers on the other workstations directly?
3. Some other solution?

In short, I'd be really interested in discussing how you handled
similar situations.

t

-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



Re: [julia-users] Re: Reviewing a Julia programming book for Packt

2015-10-12 Thread Timothée Poisot
tl;dr: meh.

I bought it, and one of my grad students is using it as an intro to
Julia.

Packt is aggresively spammy - it has nothing to do with the quality of
the book, but it does not convey a very good image.

Other than that -- the book is good, but not outstanding. A good
introduction, but nothing more complete than what you can find online.
And because Julia is still evolving vast, it will not remain relevant
for long.

It's not required reading, is what I'm saying. But it's not awful
either.

t

Le lundi 12 octobre 2015 à 10:23 -0700, Umberto a écrit :
> now that the book has been published, has anyone read it? 
> Comments?
> 
> On Friday, December 5, 2014 at 12:31:13 AM UTC+1, Wilfred Hughes
> wrote:
> > 
> > I received an email today about being a technical reviewer for a
> > book on 
> > Julia!
> > 
> > We're currently developing a book titled *Mastering Julia* aiming
> > at 
> > > building statistical models with linear regressions and analysis
> > > of 
> > > variance (ANOVA) and will be working on probability, probability 
> > > distributions, and random variables covering  data structures
> > > such as 
> > > matrices, lists, factors, and data frames. This book is targeted
> > > at Intermediate 
> > > level developer in statistical languages and one who will be
> > > having 
> > > understanding of Core elements and applications.
> > > 
> > > Would you be interested in acting as reviewer for this book?
> > > 
> > Now, I enjoy Julia, and I'm happy to help promote the language, but
> > I 
> > don't think I'm particularly qualified to be a technical reviewer
> > of a book 
> > on Julia programming. I found this thread on julia-dev: 
> > https://groups.google.com/forum/#!msg/julia-dev/HrdpknFgdfk/SAVMyya
> > cT_sJ 
> > where Packt contacted a large number of folks seeking an author.
> > 
> > Has anyone else received something like this? In principle, I'm all
> > in 
> > favour of producing promotional or teaching materials, but I'm
> > surprised it 
> > lead to me being contacted.
> > 
-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



Re: [julia-users] Creating a new version of a package

2015-08-23 Thread Timothée Poisot
If you use 2-factors authentication, it seems that you have to push
METADATA manually. https://github.com/JuliaLang/julia/issues/8228 seems
to say it's possible, but I never managed to get it to work.

Le samedi 22 août 2015 à 22:26 -0700, Tony Kelman a écrit :
 Most likely your github ssh keys were not set up? Or needed to be
 reset?
 
 
 On Saturday, August 22, 2015 at 11:02:53 AM UTC-7, Uwe Fechner wrote:
  
  Ok, publishing METADATA manually worked:
  
  Publishing METADATA manually 
  
  If Pkg.publish() 
  
  http://julia.readthedocs.org/en/latest/stdlib/pkg/#Base.Pkg.publish
   
  fails you can follow these instructions to manually publish your
  package.
  
  By “forking” the main METADATA repository, you can create a
  personal copy 
  (of METADATA.jl) under your GitHub account. Once that copy exists,
  you can 
  push your local changes to your copy (just like any other GitHub
  project).
  
  1. go to https://github.com/JuliaLang/METADATA.jl/fork and create
  your 
  own fork.
  
  2. add your fork as a remote repository for the METADATA repository
  on 
  your local computer (in the terminal where USERNAME is your github 
  username):
  
  cd ~/.julia/v0.4/METADATAgit remote add USERNAME 
  https://github.com/USERNAME/METADATA.jl.git
  
  
 1. 
 
 push your changes to your fork:
 
 git push USERNAME metadata-v2
 
 
  4. If all of that works, then go back to the GitHub page for your
  fork, 
  and click the “pull request” link.
  
  
  But I still would like to understand why Pkg.publish() fails.
  
  
  Uwe
  
  
  Am Samstag, 22. August 2015 19:42:25 UTC+2 schrieb Uwe Fechner:
   
   Well, it is not that easy.
   
   I did: 
   Pkg.tag(NaNMath,:minor)
   
   which worked well.
   
   Pkg.pubish() did not work.
   
   First I had to do:
   git config --global github.user ufechner7
   
   which worked fine.
   
   Than I had to do:
   Pkg.add(JSON)
   
   It would be nice if the error message of the missing JSON package
   would 
   come earlier, but OK.
   
   But Pkg.publish() still fails:
   
   julia Pkg.publish()
   INFO: Validating METADATA
   INFO: Pushing NaNMath permanent tags: v0.1.0
   Username for 'https://github.com': ufechner7
   Password for 'https://ufechn...@github.com': 
   INFO: Submitting METADATA changes
   INFO: Forking JuliaLang/METADATA.jl to ufechner7
   INFO: Recompiling stale cache file 
   /home/ufechner/.julia/lib/v0.4/Compat.ji for module Compat.
   Enter host password for user 'ufechner7':
   INFO: Pushing changes as branch pull-request/d2ff6d30
   Permission denied (publickey).
   fatal: Could not read from remote repository.
   
   Please make sure you have the correct access rights
   and the repository exists.
   ERROR: failed process: Process(`git 
   --work-tree=/home/ufechner/.julia/v0.4/METADATA 
   --git-dir=/home/ufechner/.julia/v0.4/METADATA/.git push -q 
   g...@github.com:ufechner7/METADATA.jl.git 
   d2ff6d308410429da335674b372a763978d65bad:refs/heads/pull
   -request/d2ff6d30`, 
   ProcessExited(128)) [128]
in pipeline_error at process.jl:517
in run at process.jl:493
in pull_request at pkg/entry.jl:324
in publish at pkg/entry.jl:387
in anonymous at pkg/dir.jl:31
in cd at file.jl:22
in cd at pkg/dir.jl:31
in publish at pkg.jl:61
   
   Any idea how to fix this?
   
   Uwe
   
   
   Am Samstag, 22. August 2015 19:04:30 UTC+2 schrieb Miles Lubin:

Pkg.tag(NaNMath)
Pkg.publish()

is all you should have to do.

-- 
Timothée Poisot, PhD

Professeur adjoint
Département des sciences biologiques
Université de Montréal

phone  : 514 343-7691
web: http://poisotlab.io
twitter: @PoisotLab
meeting: https://tpoisot.youcanbook.me/



[julia-users] Correct way to define function and function!

2015-08-22 Thread Timothée Poisot
Hi,

I caught myself wondering about the correct way to use function and
function! -- or rather, how other people deal with this.

Let's say I have a simple function that operates on an array, and I
want a version to modify the original object, and one that doesn't.

Is this the correct way of doing it?

~~~
function baz!(x)
# Do things on x
end

function baz(x)
y = copy(x)
baz!(y)
end
~~~

This allows to reuse the code of baz!, but copying the object IS
inefficient. How do you usually deal with this situation?

t


Re: [julia-users] Re: Correct way to define function and function!

2015-08-22 Thread Timothée Poisot
Thanks for these infos. I will definitely pre-allocate memory (in fact
I do in the real code).

t

Le samedi 22 août 2015 à 14:24 -0700, Sisyphuss a écrit :
 I don't think it's much less efficient to copy` in your second
 example. In 
 the second function., you should allocate memory for `y` anyway. So
 why not 
 give them a initial value especially when the input and the output of
 the 
 function are very alike.
 
 By the way, in some case, you may want to use `deepcopy()`
 
 On Saturday, August 22, 2015 at 9:51:48 PM UTC+2, Timothée Poisot
 wrote:
  
  Hi, 
  
  I caught myself wondering about the correct way to use function
  and 
  function! -- or rather, how other people deal with this. 
  
  Let's say I have a simple function that operates on an array, and I
  want a version to modify the original object, and one that doesn't.
  
  Is this the correct way of doing it? 
  
  ~~~ 
  function baz!(x) 
  # Do things on x 
  end 
  
  function baz(x) 
  y = copy(x) 
  baz!(y) 
  end 
  ~~~ 
  
  This allows to reuse the code of baz!, but copying the object IS 
  inefficient. How do you usually deal with this situation? 
  
  t 
  




Re: [julia-users] Creating a new version of a package

2015-08-22 Thread Timothée Poisot
Yes! There is a good documentation here:
http://julia.readthedocs.org/en/latest/manual/packages/

It works for 0.3 as well as 0.4.

t
Le 2015-08-22 12:20, Uwe Fechner uwe.fechner@gmail.com a écrit :

 Hello,

 I was invited to tag a new version of the package NaNMath.jl .
 https://github.com/mlubin/NaNMath.jl

 Does anyone know, how to do this?

 Best regards:

 Uwe Fechner




[julia-users] Strategy for large data frames using DataFrames.jl

2014-07-28 Thread Timothée Poisot
Hi,

I'm analyzing a dataset that is relatively large -- basically, I'm reading JSON 
files, extracting whatever information I want into a DataFrame (usually around 
500 lines), and repeating the process 25000 times.

At the moment, my strategy is to loop through the JSON files, read them, create 
the relevant DataFrame, and rbind it to the global DataFrame. Obviously this 
results in each new dataset taking longer and longer to be added. It's 
instantaneous at the beginning, but each rbind operation takes up to a few 
seconds by the end.

I am about to try using streaming data analysis 
(http://juliastats.github.io/DataFrames.jl/datastreams.html) -- basically 
writing each small DataFrame to disk, and having a function that returns the 
rows one after the other. But I'm really curious about how people managed 
similar problems before -- the final dataset is likely to be 10x larger, so 
I'm going to need all the improvements I can.

Thnaks!
t


Re: [julia-users] Strategy for large data frames using DataFrames.jl

2014-07-28 Thread Timothée Poisot
OK, I had a look at the source, and I will definitely pre-allocate the memory. 
Thanks!