Re: [julia-users] Module documentation not formatting properly
Just a follow up from further discussion between NotSoRecentConvert and myself about this off-list: Turns out the differences in behaviour between the two files was that they had different line endings... namely `\r\n` and `\n`. Related: https://github.com/JuliaLang/julia/issues/11988. - Mike On Thursday, 19 November 2015 11:03:06 UTC+2, NotSoRecentConvert wrote: > > Turns out it was a problem with the file. I still have no idea why but I > just renamed the original as a backup and then renamed my test module to > what I wanted. It worked! > > Before I did that I moved ~/.julia/v0.4 to check for caching issues. After > it was done reloading everything it still didn't work so I moved on to the > renaming test I mentioned above. >
[julia-users] Versioning for unregistered Packages
Hi all, I've created a local package (with Pkg.generate() ), I've modified source and I've committed it with git, also tagging package source with git -a , but Pkg.status() show version "0.0.0-". Anyone know why, and how can I change version shown by Julia? Many thanks in advance Leonardo
[julia-users] Re: Passing types in @parallel
Figured it out. For some reason doing the following works, using LDPC @everywhere using LDPC On Thursday, November 19, 2015 at 10:33:26 AM UTC-10, Jason Castiglione wrote: > I constructed my own type to store LDPC codes. > The module is at > https://github.com/jasontuna/LDPC > > It is stored in a Julia module and I load it with > @everywhere using LDPC > > I would like to run several simulations in parallel calculating bit error > rates for passing codewords through a particular channel. I am getting > errors where functions defined in my notebook won't "notice" the LDPC type. > > I cut and paste the code for the type in a notebook, and then load the > type with @everywhere and it works then. > What should I do to get the type to load correctly by just using > @everywhere for the module? > > Here is cut and paste of two simplified examples that have the same error: > 1) I write the following in the IJulia notebook > > addprocs(6) > @everywhere using Distributions > @everywhere using LDPC > > LH = ldpcH(ones(UInt8,1000)*3,ones(UInt8,500)*6,true); > > @everywhere function llh(LH::ldpcH) > return LH.n > end > > @parallel (+) for j=1:100 > llh(LH) > end > > ### > and the error I get for each worker looks like > > MethodError: `llh` has no method matching llh(::LDPC.ldpcH) > Closest candidates are: > llh(::LDPC.ldpcH) > [inlined code] from In[10]:3 > in anonymous at no file:1500 > in anonymous at multi.jl:892 > in run_work_thunk at multi.jl:645 > [inlined code] from multi.jl:892 > in anonymous at task.jl:63 > while loading In[10], in expression starting on line 2 > > > > 2) on the other hand if I write > > addprocs(6) > @everywhere using Distributions > > @everywhere type ldpcH > #for readability I did not cut and paste the contents > end > > @everywhere function llh(LH::ldpcH) > return LH.n > end > LH = ldpcH(ones(UInt8,1000)*3,ones(UInt8,500)*6,true); > @parallel (+) for j=1:100 > llh(LH) > end > > everything works. > >
[julia-users] Re: problem running jl files
Okay, the problem was that Ubuntu julia was version 4.1, properly installed, while Debian was 4.0 with directories in nonestandard places. Downloading & extracting the 4.1 binary to my home directory, running it from there as: julia-cbe1bee3a8/bin/julia newbox.jl works fine. On Wed, Nov 18, 2015 at 6:14 AM, Forrest Curo wrote: > Following an example on another site, I see that staying with the REPL > and typing: > include("newbox.jl") > > would work (aside from needing to change a package name or two -- and > possibly finding some way to put in '--depwarnings=no' -- I can't be sure > whether that's still needed(?)) > > What's gone wrong with simply running a script from the command line? > > On Tue, Nov 17, 2015 at 9:57 PM, Forrest Curo > wrote: > >> I have the latest julia version installed on ubuntu and debian partitions >> on my hard drive. >> >> On the ubuntu, I can type [for example]: >> julia --depwarning=no newbox.jl >> >> and that file loads, runs, exits. >> >> On the debian, julia comes up in REPL mode and my file seems >> unrecognized. (Likewise if I stay in the REPL & try >> run(`newbox.jl') >> >> Something wrong with my path on the debian? I'm just bewildered! >> > >
Re: [julia-users] Looking for ideas and topics to include in an introductory workshop in Julia
Thanks Mauro. This is excellent. Arin On Wednesday, 9 September 2015 22:12:27 UTC+12, Mauro wrote: > > Probably, the current state-of-the-art in introduction tutorials is > David Sander's: > > https://www.youtube.com/watch?v=gQ1y5NUD_RI&index=2&list=PLP8iPy9hna6Sdx4soiGrSefrmOPdUWixM > > > On Wed, 2015-09-09 at 11:55, Arin Basu > > wrote: > > Hi All, > > > > I am planning to offer a workshop (about 3 hours length, but can be > longer, > > up to five hours) introducing Julia language to a group of statisticians > > and advanced students (biostatistics and epidemiology focus). My > audience > > is statisticians who may be familiar with Python, C, R, SAS, SPSS. Some > may > > or may not be, I do not know at this stage, but assume they are not > > familiar with Julia. I'd greatly appreciate if you can kindly suggest a > > list of topics that I shall I include. This is going to be an > introductory > > workshop. Can you please share a few sample introductory workshop topic > > lists? > > > > Best, > > Arin Basu > >
Re: [julia-users] Looking for ideas and topics to include in an introductory workshop in Julia
Thanks a million Tamas. These are very helpful pointers indeed. Arin On Wednesday, 9 September 2015 22:27:16 UTC+12, Tamas Papp wrote: > > Hi Arin, > > I am planning something similar in the near future and have been > thinking about this too. Maybe you could organize your discussion around > the following three topics: > > 1. "things that work as expected" > > Language constructs like numbers, arrays, control flow etc, that are > very similar to other languages. No surprises there, emphasize that > transitioning to Julia is easy from Algol-like languages. > > 2. "things that improve on other languages" > > Multimethods, the type system; with concrete examples. Probably macros > are too much when people first see the language. > > 3. "work in progress" > > Your audience will probably care about dataframes and > plotting. Emphasize that things are in flux, but more or less usable. > > Probably coding through a small but self-contained example (an > epidemiology simulation, with plots at the end?) could be useful. > > IMO 4 hours is the maximum that most people can bear with a meaningful > level of attention, 3 is better. > > Best, > > Tamas > > > On Wed, Sep 09 2015, Arin Basu > wrote: > > > Hi All, > > > > I am planning to offer a workshop (about 3 hours length, but can be > longer, > > up to five hours) introducing Julia language to a group of statisticians > > and advanced students (biostatistics and epidemiology focus). My > audience > > is statisticians who may be familiar with Python, C, R, SAS, SPSS. Some > may > > or may not be, I do not know at this stage, but assume they are not > > familiar with Julia. I'd greatly appreciate if you can kindly suggest a > > list of topics that I shall I include. This is going to be an > introductory > > workshop. Can you please share a few sample introductory workshop topic > > lists? > > > > Best, > > Arin Basu >
[julia-users] Trees in Julia
Hi, I want to create a tree of nodes where each node will have only one parent and arbitrary number of children. Also each branch can go to arbitrary depth. Now, if I want to define julia type for such a node, how it should be like? In C++, I can use struct trieNode { // hold data unsigned id; float value; // to hold number of children of this node unsigned noOfChildren; // link to first child of this node, NULL is no child trieNode *firstChild; // pointer to next sibling(NULL if this is last child). Parent can access other children through their first child only trieNode *nextSibling; }; What is the equivalent of above in Julia? Is there a better/alternate way to solve this problem in Julia? Thanks ahead, vish
[julia-users] Re: Are print, warn, etc. "preemptible"?
Thanks, Jonathan. On Friday, 20 November 2015 00:18:02 UTC+5:30, Jonathan Malmaud wrote: > > Yes, all IO functions yield.
Re: [julia-users] Re: Better alternative to find all permutations?
I sense pull requests :P On Thu, Nov 19, 2015, 18:57 Dan wrote: > Knuth's lexicographic permutations version is best (in terms of speed, > memory. perhaps less readable). > The function name in the code snippet even has a little permutation by > itself ;) >
Re: [julia-users] Re: Access Bloomberg data with Julia
Wow! Great initiative!! I am watching it. Thanks for being so proactive! Although it is the very first time I am trying to do something related to finances I hope I can help somehow. Cheers, Charles On 20 November 2015 at 00:38, milktrader wrote: > I'll start on this package but not promising I have time to devote right > now. https://github.com/milktrader/Bloomberg.jl > > Stop by and check the progress though and feel free to contribute. > > Cheers, > > Dan > > On Thursday, November 19, 2015 at 4:46:42 PM UTC-5, Charles Santana wrote: >> >> Hi, >> >> Thanks for the tips! I am taking a look at their python api and my first >> idea was to use PyCall.jl to call their functions. But I will also consider >> the option to adapt Quandl.jl functions. >> >> I forgot to send the link for the bloomberg open source initiative: >> http://www.bloomberglabs.com/api/libraries/ >> >> Thanks! >> >> >> On 19 November 2015 at 22:12, milktrader wrote: >> >>> Hmm, looking at the Bloomberg API it appears you'll need to wrap their C >>> API, so a bit more involved than what Quandl.jl does. >>> >>> I didn't realize Bloomberg had an open source initiative. >>> >>> >>> On Thursday, November 19, 2015 at 3:21:31 PM UTC-5, milktrader wrote: It wouldn't take much to make a Julia package for this. Bloomberg data is subscription-based, no? You could copy how Quandl.jl does this and simply replace the Quandl api with the Bloomberg api. Good luck On Wednesday, November 18, 2015 at 5:58:56 PM UTC-5, Charles Santana wrote: > > Hi, > > Does anyone know a way to access Bloomberg data with Julia? > > I know there is a library in R ( > http://ftp.auckland.ac.nz/software/CRAN/src/contrib/Descriptions/RBloomberg.html) > but I think it is no longer updated. > > There is also an API for Python, available here: > https://github.com/filmackay/blpapi-py I might try to use PyCall.jl > > However, I would prefer to use some library in Julia, if it exists. I > found some packages to work with finances, but I didn't see any mention to > Bloomberg database. > > Thanks for any tip! > > Charles > > -- > Um axé! :) > > -- > Charles Novaes de Santana, PhD > http://www.imedea.uib-csic.es/~charles > >> >> >> -- >> Um axé! :) >> >> -- >> Charles Novaes de Santana, PhD >> http://www.imedea.uib-csic.es/~charles >> > -- Um axé! :) -- Charles Novaes de Santana, PhD http://www.imedea.uib-csic.es/~charles
[julia-users] Re: Better alternative to find all permutations?
Knuth's lexicographic permutations version is best (in terms of speed, memory. perhaps less readable). The function name in the code snippet even has a little permutation by itself ;)
[julia-users] Re: Better alternative to find all permutations?
sorry for typo error in *permutations*.
[julia-users] Re: Better alternative to find all permutations?
Well, the previous listing worked only for Int vectors. Following is a more properly typed version. Various optimizations are possible: @inbounds, reducing allocations, etc. function uniquepermutations(base) zpos = Vector{Vector{Vector{Int}}}() zval = Vector{eltype(base)}() left = length(base) for (v,c) in countmap(base) push!(zpos,collect(subsets(collect(1:left),c))) push!(zval,v) left -= c end res = Vector{Vector{eltype(base)}}() for a in product(zpos...) slots = collect(1:length(base)) perm = similar(base) for (val,b) in zip(zval,a) perm[slots[b]] = val slots[b] = 0 slots = filter(x->x>0,slots) end push!(res,perm) end res end
Re: [julia-users] Re: Access Bloomberg data with Julia
I'll start on this package but not promising I have time to devote right now. https://github.com/milktrader/Bloomberg.jl Stop by and check the progress though and feel free to contribute. Cheers, Dan On Thursday, November 19, 2015 at 4:46:42 PM UTC-5, Charles Santana wrote: > > Hi, > > Thanks for the tips! I am taking a look at their python api and my first > idea was to use PyCall.jl to call their functions. But I will also consider > the option to adapt Quandl.jl functions. > > I forgot to send the link for the bloomberg open source initiative: > http://www.bloomberglabs.com/api/libraries/ > > Thanks! > > > On 19 November 2015 at 22:12, milktrader > > wrote: > >> Hmm, looking at the Bloomberg API it appears you'll need to wrap their C >> API, so a bit more involved than what Quandl.jl does. >> >> I didn't realize Bloomberg had an open source initiative. >> >> >> On Thursday, November 19, 2015 at 3:21:31 PM UTC-5, milktrader wrote: >>> >>> It wouldn't take much to make a Julia package for this. Bloomberg data >>> is subscription-based, no? You could copy how Quandl.jl does this and >>> simply replace the Quandl api with the Bloomberg api. >>> >>> Good luck >>> >>> >>> >>> On Wednesday, November 18, 2015 at 5:58:56 PM UTC-5, Charles Santana >>> wrote: Hi, Does anyone know a way to access Bloomberg data with Julia? I know there is a library in R ( http://ftp.auckland.ac.nz/software/CRAN/src/contrib/Descriptions/RBloomberg.html) but I think it is no longer updated. There is also an API for Python, available here: https://github.com/filmackay/blpapi-py I might try to use PyCall.jl However, I would prefer to use some library in Julia, if it exists. I found some packages to work with finances, but I didn't see any mention to Bloomberg database. Thanks for any tip! Charles -- Um axé! :) -- Charles Novaes de Santana, PhD http://www.imedea.uib-csic.es/~charles >>> > > > -- > Um axé! :) > > -- > Charles Novaes de Santana, PhD > http://www.imedea.uib-csic.es/~charles >
[julia-users] Re: Better alternative to find all permutations?
How about this: using StatsBase using Iterators function uniquepermutations(base) zpos = Vector{Vector{Vector{Int}}}() zval = Vector{Int}() left = length(base) for (v,c) in countmap(base) push!(zpos,collect(subsets(collect(1:left),c))) push!(zval,v) left -= c end res = Vector{Vector{Int}}() for a in product(zpos...) slots = collect(1:length(base)) perm = zeros(length(base)) for (val,b) in zip(zval,a) perm[slots[b]] = val slots[b] = 0 slots = filter(x->x>0,slots) end push!(res,perm) end res end Familiarity with `countmap`,`subsets`,`product`,`zip` from StatsBase and Iterators helps. The logic is straight-forward.
[julia-users] Re: Better alternative to find all permutations?
Hi, I already implemented *lexicographic premutations generation* algorithm based on a *Donald Knuth* work. #lexicographic premutations generation, By Donald Knuth function lpremutations{T}(a::T) b=Vector{T}() sort!(a) n=length(a) while(true) push!(b,copy(a)) j=n-1 while(a[j]>=a[j+1]) j-=1 j==0 && return(b) end l=n while(a[j]>=a[l]) l-=1 end tmp=a[l] a[l]=a[j] a[j]=tmp k=j+1 l=n while(k >
Re: [julia-users] Re: Better alternative to find all permutations?
I agree, permutations() should give the distinguishable permutations; allpermutations() should give each and every one. On Thursday, November 19, 2015 at 4:30:54 PM UTC-5, Stefan Karpinski wrote: > > It is the same code. However, I do think that there's a strong case to be > made that when the elements of an array are non-unique, you want the > distinguishable permutations of it, not all of the permutations. > > On Thu, Nov 19, 2015 at 4:16 PM, Ratan Sur > wrote: > >> I saw a comment in combinatorics.jl that this stuff is being moved over >> there so I'll check out if that's the same implementation. I think my use >> of the function is more likely what people want when thinking: "oh, I want >> all the permutations of this array" >> >> On Thursday, November 19, 2015 at 4:12:35 PM UTC-5, Stefan Karpinski >> wrote: >>> >>> That's definitely more memory efficient, but not much more >>> computationally efficient. There's probably a much cleverer way to compute >>> the unique permutations of a set of values that contain repetitions. It's >>> arguable that this is what permutations ought to do in the first place. >>> >>> On Thu, Nov 19, 2015 at 4:06 PM, David P. Sanders >>> wrote: >>> El jueves, 19 de noviembre de 2015, 14:45:41 (UTC-6), Ratan Sur escribió: > > I want to get all the unique permutations of an array of a certain > length and this is the only way I currently know how to do it in one > line. > Is there a builtin function for this? > > julia> unique(collect(permutations([1;0;0;0;1]))) > 10-element Array{Array{Int64,1},1}: > [1,0,0,0,1] > [1,0,0,1,0] > [1,0,1,0,0] > [1,1,0,0,0] > [0,1,0,0,1] > [0,1,0,1,0] > [0,1,1,0,0] > [0,0,1,0,1] > [0,0,1,1,0] > [0,0,0,1,1] > > It turns out that the following works: unique(permutations([1, 0, 0, 0, 1])) >>> >>> >
[julia-users] Re: More conda troubles
Nope. The trouble is that after installing 295 MB of Condas (I mean a full python when I already had one and did not ask for another), there was some problem and libnetcdf was not installed. quinta-feira, 19 de Novembro de 2015 às 21:12:15 UTC, Tony Kelman escreveu: > > Looks like that's probably a dlopen failure? Or check the libnetcdf in > dependency walker? > > > On Thursday, November 19, 2015 at 12:35:10 PM UTC-8, J Luis wrote: >> >> oops, I obviously meant 'cache' not 'cash' >> >> quinta-feira, 19 de Novembro de 2015 às 20:33:28 UTC, J Luis escreveu: >>> >>> It's so annoying that Pkg.rm() does not rm. So I manually cleaned the >>> cash and .trash after Pkg.rm("Conda") but it still doesn't install netCDF. >>> I wish I could use what I already have in my computer (netcdf and all of >>> its dependencies) and not duplicating them (if it worked). >>> >>> julia> Pkg.build("NetCDF") >>> INFO: Building NetCDF >>> Fetching package metadata: >>> Solving package specifications: >>> # All requested packages already installed. >>> # packages in environment at C:\j\.julia\v0.4\Conda\deps\usr: >>> # >>> libnetcdf 4.3.3.1 vc9_4 [vc9] >>> ===[ ERROR: NetCDF >>> ] >>> >>> LoadError: Provider BinDeps.PackageManager failed to satisfy dependency >>> libnetcdf >>> while loading C:\j\.julia\v0.4\NetCDF\deps\build.jl, in expression >>> starting on line 12 >>> >>> >>> quinta-feira, 19 de Novembro de 2015 às 20:18:47 UTC, J Luis escreveu: In fact I had. I always call julia from a bat file that I use to set paths of interest and calls my WinPython portable installation. Now changed that but I'm again in a broken state julia> Pkg.rm("NetCDF") INFO: Installing Conda v0.1.8 INFO: Removing Formatting v0.1.4 INFO: Removing NetCDF v0.3.0 INFO: Package database updated julia> Pkg.add("NetCDF") INFO: Installing Formatting v0.1.4 INFO: Installing NetCDF v0.3.0 INFO: Building NetCDF Error: This installation of conda is not initialized. Use 'conda create -n envname' to create a conda environment and 'source activate envname' to activate it. # Note that pip installing conda is not the recommended way for setting up your # system. The recommended way for setting up a conda system is by installing # Miniconda, see: http://repo.continuum.io/miniconda/index.html ===[ ERROR: NetCDF ]== quinta-feira, 19 de Novembro de 2015 às 19:53:39 UTC, Steven G. Johnson escreveu: > > Have you set up some environment variables that could affect Python? > e.g. is PYTHONPATH or similar set in your environment? Maybe Conda > should > unset these before running the conda scripts. >
[julia-users] Get pid of subprocess?
How do I get the pid of a subprocess in Julia? I want to create a subprocess that lives for a long time, potentially longer than the Julia interpreter. I thus want to know its pid (process id) so that I can control it later (e.g. via ps or kill). The Process type doesn't seem to have a "pid" field, and I don't see a respective function either. I'm happy with a solution that works on Unix only. My first idea for a work-around was to output $!, but Julia doesn't use a shell to run subprocesses... -erik -- Erik Schnetter http://www.perimeterinstitute.ca/personal/eschnetter/
[julia-users] Re: Memory corruption with GrammaticalEvolution
Update: Here is an even simpler example, no GrammaticalEvolution: ```julia function to_function(code::Expr) @eval f() = $code return f end function get_code() r1 = rand() r2 = rand() Expr(:comparison, r1, :<, r2) end using Debug @debug function script1() srand(0) for i = 1:10 code = "nothing" try code = get_code() f = to_function(code) f() catch e @bp println(e) end println("$i: code=$(string(code))") end end ``` Something overflowed? Thanks, Ritchie
Re: [julia-users] Re: Access Bloomberg data with Julia
Hi, Thanks for the tips! I am taking a look at their python api and my first idea was to use PyCall.jl to call their functions. But I will also consider the option to adapt Quandl.jl functions. I forgot to send the link for the bloomberg open source initiative: http://www.bloomberglabs.com/api/libraries/ Thanks! On 19 November 2015 at 22:12, milktrader wrote: > Hmm, looking at the Bloomberg API it appears you'll need to wrap their C > API, so a bit more involved than what Quandl.jl does. > > I didn't realize Bloomberg had an open source initiative. > > > On Thursday, November 19, 2015 at 3:21:31 PM UTC-5, milktrader wrote: >> >> It wouldn't take much to make a Julia package for this. Bloomberg data is >> subscription-based, no? You could copy how Quandl.jl does this and simply >> replace the Quandl api with the Bloomberg api. >> >> Good luck >> >> >> >> On Wednesday, November 18, 2015 at 5:58:56 PM UTC-5, Charles Santana >> wrote: >>> >>> Hi, >>> >>> Does anyone know a way to access Bloomberg data with Julia? >>> >>> I know there is a library in R ( >>> http://ftp.auckland.ac.nz/software/CRAN/src/contrib/Descriptions/RBloomberg.html) >>> but I think it is no longer updated. >>> >>> There is also an API for Python, available here: >>> https://github.com/filmackay/blpapi-py I might try to use PyCall.jl >>> >>> However, I would prefer to use some library in Julia, if it exists. I >>> found some packages to work with finances, but I didn't see any mention to >>> Bloomberg database. >>> >>> Thanks for any tip! >>> >>> Charles >>> >>> -- >>> Um axé! :) >>> >>> -- >>> Charles Novaes de Santana, PhD >>> http://www.imedea.uib-csic.es/~charles >>> >> -- Um axé! :) -- Charles Novaes de Santana, PhD http://www.imedea.uib-csic.es/~charles
Re: [julia-users] Re: Better alternative to find all permutations?
It is the same code. However, I do think that there's a strong case to be made that when the elements of an array are non-unique, you want the distinguishable permutations of it, not all of the permutations. On Thu, Nov 19, 2015 at 4:16 PM, Ratan Sur wrote: > I saw a comment in combinatorics.jl that this stuff is being moved over > there so I'll check out if that's the same implementation. I think my use > of the function is more likely what people want when thinking: "oh, I want > all the permutations of this array" > > On Thursday, November 19, 2015 at 4:12:35 PM UTC-5, Stefan Karpinski wrote: >> >> That's definitely more memory efficient, but not much more >> computationally efficient. There's probably a much cleverer way to compute >> the unique permutations of a set of values that contain repetitions. It's >> arguable that this is what permutations ought to do in the first place. >> >> On Thu, Nov 19, 2015 at 4:06 PM, David P. Sanders >> wrote: >> >>> >>> >>> El jueves, 19 de noviembre de 2015, 14:45:41 (UTC-6), Ratan Sur escribió: I want to get all the unique permutations of an array of a certain length and this is the only way I currently know how to do it in one line. Is there a builtin function for this? julia> unique(collect(permutations([1;0;0;0;1]))) 10-element Array{Array{Int64,1},1}: [1,0,0,0,1] [1,0,0,1,0] [1,0,1,0,0] [1,1,0,0,0] [0,1,0,0,1] [0,1,0,1,0] [0,1,1,0,0] [0,0,1,0,1] [0,0,1,1,0] [0,0,0,1,1] >>> It turns out that the following works: >>> >>> unique(permutations([1, 0, 0, 0, 1])) >>> >>> >>> >> >>
Re: [julia-users] Re: Better alternative to find all permutations?
I saw a comment in combinatorics.jl that this stuff is being moved over there so I'll check out if that's the same implementation. I think my use of the function is more likely what people want when thinking: "oh, I want all the permutations of this array" On Thursday, November 19, 2015 at 4:12:35 PM UTC-5, Stefan Karpinski wrote: > > That's definitely more memory efficient, but not much more computationally > efficient. There's probably a much cleverer way to compute the unique > permutations of a set of values that contain repetitions. It's arguable > that this is what permutations ought to do in the first place. > > On Thu, Nov 19, 2015 at 4:06 PM, David P. Sanders > wrote: > >> >> >> El jueves, 19 de noviembre de 2015, 14:45:41 (UTC-6), Ratan Sur escribió: >>> >>> I want to get all the unique permutations of an array of a certain >>> length and this is the only way I currently know how to do it in one line. >>> Is there a builtin function for this? >>> >>> julia> unique(collect(permutations([1;0;0;0;1]))) >>> 10-element Array{Array{Int64,1},1}: >>> [1,0,0,0,1] >>> [1,0,0,1,0] >>> [1,0,1,0,0] >>> [1,1,0,0,0] >>> [0,1,0,0,1] >>> [0,1,0,1,0] >>> [0,1,1,0,0] >>> [0,0,1,0,1] >>> [0,0,1,1,0] >>> [0,0,0,1,1] >>> >>> >> It turns out that the following works: >> >> unique(permutations([1, 0, 0, 0, 1])) >> >> >> > >
[julia-users] Re: Access Bloomberg data with Julia
Hmm, looking at the Bloomberg API it appears you'll need to wrap their C API, so a bit more involved than what Quandl.jl does. I didn't realize Bloomberg had an open source initiative. On Thursday, November 19, 2015 at 3:21:31 PM UTC-5, milktrader wrote: > > It wouldn't take much to make a Julia package for this. Bloomberg data is > subscription-based, no? You could copy how Quandl.jl does this and simply > replace the Quandl api with the Bloomberg api. > > Good luck > > > > On Wednesday, November 18, 2015 at 5:58:56 PM UTC-5, Charles Santana wrote: >> >> Hi, >> >> Does anyone know a way to access Bloomberg data with Julia? >> >> I know there is a library in R ( >> http://ftp.auckland.ac.nz/software/CRAN/src/contrib/Descriptions/RBloomberg.html) >> >> but I think it is no longer updated. >> >> There is also an API for Python, available here: >> https://github.com/filmackay/blpapi-py I might try to use PyCall.jl >> >> However, I would prefer to use some library in Julia, if it exists. I >> found some packages to work with finances, but I didn't see any mention to >> Bloomberg database. >> >> Thanks for any tip! >> >> Charles >> >> -- >> Um axé! :) >> >> -- >> Charles Novaes de Santana, PhD >> http://www.imedea.uib-csic.es/~charles >> >
Re: [julia-users] Re: Better alternative to find all permutations?
That's definitely more memory efficient, but not much more computationally efficient. There's probably a much cleverer way to compute the unique permutations of a set of values that contain repetitions. It's arguable that this is what permutations ought to do in the first place. On Thu, Nov 19, 2015 at 4:06 PM, David P. Sanders wrote: > > > El jueves, 19 de noviembre de 2015, 14:45:41 (UTC-6), Ratan Sur escribió: >> >> I want to get all the unique permutations of an array of a certain length >> and this is the only way I currently know how to do it in one line. Is >> there a builtin function for this? >> >> julia> unique(collect(permutations([1;0;0;0;1]))) >> 10-element Array{Array{Int64,1},1}: >> [1,0,0,0,1] >> [1,0,0,1,0] >> [1,0,1,0,0] >> [1,1,0,0,0] >> [0,1,0,0,1] >> [0,1,0,1,0] >> [0,1,1,0,0] >> [0,0,1,0,1] >> [0,0,1,1,0] >> [0,0,0,1,1] >> >> > It turns out that the following works: > > unique(permutations([1, 0, 0, 0, 1])) > > >
[julia-users] Re: More conda troubles
Looks like that's probably a dlopen failure? Or check the libnetcdf in dependency walker? On Thursday, November 19, 2015 at 12:35:10 PM UTC-8, J Luis wrote: > > oops, I obviously meant 'cache' not 'cash' > > quinta-feira, 19 de Novembro de 2015 às 20:33:28 UTC, J Luis escreveu: >> >> It's so annoying that Pkg.rm() does not rm. So I manually cleaned the >> cash and .trash after Pkg.rm("Conda") but it still doesn't install netCDF. >> I wish I could use what I already have in my computer (netcdf and all of >> its dependencies) and not duplicating them (if it worked). >> >> julia> Pkg.build("NetCDF") >> INFO: Building NetCDF >> Fetching package metadata: >> Solving package specifications: >> # All requested packages already installed. >> # packages in environment at C:\j\.julia\v0.4\Conda\deps\usr: >> # >> libnetcdf 4.3.3.1 vc9_4 [vc9] >> ===[ ERROR: NetCDF >> ] >> >> LoadError: Provider BinDeps.PackageManager failed to satisfy dependency >> libnetcdf >> while loading C:\j\.julia\v0.4\NetCDF\deps\build.jl, in expression >> starting on line 12 >> >> >> quinta-feira, 19 de Novembro de 2015 às 20:18:47 UTC, J Luis escreveu: >>> >>> In fact I had. I always call julia from a bat file that I use to set >>> paths of interest and calls my WinPython portable installation. Now changed >>> that but I'm again in a broken state >>> >>> julia> Pkg.rm("NetCDF") >>> INFO: Installing Conda v0.1.8 >>> INFO: Removing Formatting v0.1.4 >>> INFO: Removing NetCDF v0.3.0 >>> INFO: Package database updated >>> >>> julia> Pkg.add("NetCDF") >>> INFO: Installing Formatting v0.1.4 >>> INFO: Installing NetCDF v0.3.0 >>> INFO: Building NetCDF >>> Error: This installation of conda is not initialized. Use 'conda create >>> -n >>> envname' to create a conda environment and 'source activate envname' to >>> activate it. >>> >>> # Note that pip installing conda is not the recommended way for setting >>> up your >>> # system. The recommended way for setting up a conda system is by >>> installing >>> # Miniconda, see: http://repo.continuum.io/miniconda/index.html >>> ===[ ERROR: NetCDF ]== >>> >>> quinta-feira, 19 de Novembro de 2015 às 19:53:39 UTC, Steven G. Johnson >>> escreveu: Have you set up some environment variables that could affect Python? e.g. is PYTHONPATH or similar set in your environment? Maybe Conda should unset these before running the conda scripts. >>>
[julia-users] passing data by remotecall_fetch slower than writing & loading from disk
I have an array (lets call it "data") containing composite types. something like type MyType x::Float64 y::Float64 end (basically just a collection of Floats and Ints..) Now sending this data to a worker by remotecall_fetch(iProc, someFunc, data) is about 100 times slower than the following 3-step procedure: a) decompose all composite types in "data" to arrays of Floats or Ints (all MyType.x go into one array of Floats, etc.) b) saving those arrays to disk with h5write() c) loading the variables from disk again with h5read(), re-build all the composite types and put it back into an array of MyTypes. I dont quite understand why this is the case / what I am missing here. I expected that writing and reading from disk would be orders of magnitudes slower. I am aware of shared arrays. If it turns out that it is not possible to send custom type data "fast" between procs, I ll implement shared arrays instead of my composite types. I attached an example script with timings for those who care. sending a RemoteRef to the worker and fetch it from there gives me the same timings as for the remotecall_fetch() attempt. Cheers, Andre parallel_send_test.jl Description: Binary data
Re: [julia-users] Re: indexing with non Integer Reals is deprecated
MatlabCompat.jl already exists: https://github.com/MatlabCompat/MatlabCompat.jl On Tuesday, November 17, 2015 at 2:52:30 PM UTC-8, Sheehan Olver wrote: > > > For both non-integer indexing and linrange, it seems that complaints about > "hard for newcomers" really mean "hard for newcomers from Matlab". Maybe > there should be a MatlabCompat.jl package that restores Matlab behaviour. > For some things, this can be done without overloading base: > > *julia> **module MatlabCompat* > > *linspace(a,b,c)=collect(Base.linspace(a,b,c))* > >*end* > > *julia> **using MatlabCompat* > > *julia> **linspace=MatlabCompat.linspace* > > *julia> **linspace(1,2,3)* > > *3-element Array{Float64,1}:* > > * 1.0* > > * 1.5* > > * 2.0* > > *julia> **Base.linspace(1,2,3)* > > *linspace(1.0,2.0,3)* > > > > As long as no package depends on MatlabCompat, then the issue of > non-standard code will be localized. > > > > > On Wednesday, November 18, 2015 at 7:32:17 AM UTC+11, Milan Bouchet-Valat > wrote: >> >> Le mardi 17 novembre 2015 à 02:46 -0800, Peter Kovesi a écrit : >> > Thanks Eric. Yes I appreciate that the language is highly flexible >> > and one can do lots of things. I don't want to get hung up on using >> > indexing with integer valued floats in particular, my concern is more >> > philosophical >> I'm sympathetic to the idea of allowing indexing with reals, but so far >> I haven't found very compelling examples to support my position. Could >> you provide concrete use cases where this makes life easier, at least >> for newcomers? Julia's development is often driven by actual >> experiences of what is really useful and what isn't. >> >> >> Regards >> >> > For much of what I do I am wanting to solve some technical problem >> > within an environment that involves a minimal overhead in solving the >> > coding problem. If, as I am developing my solution, I end up writing >> > some code that happens to use indexing with integer valued floats, or >> > would find a meshgid() function handy, then I do not want the >> > language to 'get in my way'.(Hands up everyone who has their own >> > implementation of meshgrid() !) Yes I know these things are not >> > required and are not efficient but I may find them handy and I don't >> > want to be distracted from solving my technical problem while I >> > attend to any finicky language issues. I want to develop my >> > initial solution with the minimal amount of code and the minimal >> > number of special data types. Later, when I have things solved, I >> > can return to the code and re-engineer it for efficiency >> > >> > It is extremely attractive that you can engineer your Julia code to >> > be highly efficient but I am hoping the language can develop in a >> > way that does not compromise simplicity and convenience. >> > >> > Cheers >> > Peter >> >
[julia-users] Re: Better alternative to find all permutations?
El jueves, 19 de noviembre de 2015, 14:45:41 (UTC-6), Ratan Sur escribió: > > I want to get all the unique permutations of an array of a certain length > and this is the only way I currently know how to do it in one line. Is > there a builtin function for this? > > julia> unique(collect(permutations([1;0;0;0;1]))) > 10-element Array{Array{Int64,1},1}: > [1,0,0,0,1] > [1,0,0,1,0] > [1,0,1,0,0] > [1,1,0,0,0] > [0,1,0,0,1] > [0,1,0,1,0] > [0,1,1,0,0] > [0,0,1,0,1] > [0,0,1,1,0] > [0,0,0,1,1] > > It turns out that the following works: unique(permutations([1, 0, 0, 0, 1]))
[julia-users] Better alternative to find all permutations?
Hi Ratan, I don't know of a builtin function, but it looks like your code will first construct an array with all permutations and then reduce that to just the unique ones. I haven't used it yet, so hope I don't send you in the wrong direction, but you might have a look at Lazy.jl. That might help you avoid the initial step of constructing the full array.
[julia-users] Better alternative to find all permutations?
I want to get all the unique permutations of an array of a certain length and this is the only way I currently know how to do it in one line. Is there a builtin function for this? julia> unique(collect(permutations([1;0;0;0;1]))) 10-element Array{Array{Int64,1},1}: [1,0,0,0,1] [1,0,0,1,0] [1,0,1,0,0] [1,1,0,0,0] [0,1,0,0,1] [0,1,0,1,0] [0,1,1,0,0] [0,0,1,0,1] [0,0,1,1,0] [0,0,0,1,1]
[julia-users] Memory corruption with GrammaticalEvolution
Hello, I am encountering some memory corruption problems when using GrammaticalEvolution.jl. I don't think the problem is in GrammaticalEvolution though, so I am posting here to see if I can get some feedback. Here is a minimal example that will reproduce the problem: ```julia using GrammaticalEvolution convert_number(lst) = float(join(lst))::Float64 function create_grammar() @grammar grammar begin start = Expr(:comparison, real_number, :<, real_number) #random numbers real_number = rand_pos | rand_neg rand_pos[convert_number] = digit + '.' + digit + digit + digit + digit + 'e' + expdigit rand_neg[convert_number] = '-' + digit + '.' + digit + digit + digit + digit + 'e' + expdigit digit = 0:9 expdigit = -4:4 end return grammar end function to_function(code::Expr) @eval f() = $code return f end using Debug @debug function script1() srand(0) grammar = create_grammar() for i = 1:10 ind = ExampleIndividual(400, 1000) try ind.code = transform(grammar, ind) f = to_function(ind.code) f() catch e if !isa(e, MaxWrapException) @bp println(e) end end println("$i: code=$(string(ind.code))") end end ``` At iteration 33494, I get an exception ```julia MethodError(isless,(GrammaticalEvolution,nothing)) ``` but the generated code looks fine: ```julia debug:40> ind.code :(378.99 < -82263.0) ``` I am using my fork of GrammaticalEvolution: https://github.com/rcnlee/GrammaticalEvolution.git and Julia v0.3.11 Any ideas what this may be? Thanks, Ritchie
[julia-users] Re: More conda troubles
oops, I obviously meant 'cache' not 'cash' quinta-feira, 19 de Novembro de 2015 às 20:33:28 UTC, J Luis escreveu: > > It's so annoying that Pkg.rm() does not rm. So I manually cleaned the cash > and .trash after Pkg.rm("Conda") but it still doesn't install netCDF. > I wish I could use what I already have in my computer (netcdf and all of > its dependencies) and not duplicating them (if it worked). > > julia> Pkg.build("NetCDF") > INFO: Building NetCDF > Fetching package metadata: > Solving package specifications: > # All requested packages already installed. > # packages in environment at C:\j\.julia\v0.4\Conda\deps\usr: > # > libnetcdf 4.3.3.1 vc9_4 [vc9] > ===[ ERROR: NetCDF > ] > > LoadError: Provider BinDeps.PackageManager failed to satisfy dependency > libnetcdf > while loading C:\j\.julia\v0.4\NetCDF\deps\build.jl, in expression > starting on line 12 > > > quinta-feira, 19 de Novembro de 2015 às 20:18:47 UTC, J Luis escreveu: >> >> In fact I had. I always call julia from a bat file that I use to set >> paths of interest and calls my WinPython portable installation. Now changed >> that but I'm again in a broken state >> >> julia> Pkg.rm("NetCDF") >> INFO: Installing Conda v0.1.8 >> INFO: Removing Formatting v0.1.4 >> INFO: Removing NetCDF v0.3.0 >> INFO: Package database updated >> >> julia> Pkg.add("NetCDF") >> INFO: Installing Formatting v0.1.4 >> INFO: Installing NetCDF v0.3.0 >> INFO: Building NetCDF >> Error: This installation of conda is not initialized. Use 'conda create -n >> envname' to create a conda environment and 'source activate envname' to >> activate it. >> >> # Note that pip installing conda is not the recommended way for setting >> up your >> # system. The recommended way for setting up a conda system is by >> installing >> # Miniconda, see: http://repo.continuum.io/miniconda/index.html >> ===[ ERROR: NetCDF ]== >> >> quinta-feira, 19 de Novembro de 2015 às 19:53:39 UTC, Steven G. Johnson >> escreveu: >>> >>> Have you set up some environment variables that could affect Python? >>> e.g. is PYTHONPATH or similar set in your environment? Maybe Conda should >>> unset these before running the conda scripts. >>> >>
[julia-users] Passing types in @parallel
I constructed my own type to store LDPC codes. The module is at https://github.com/jasontuna/LDPC It is stored in a Julia module and I load it with @everywhere using LDPC I would like to run several simulations in parallel calculating bit error rates for passing codewords through a particular channel. I am getting errors where functions defined in my notebook won't "notice" the LDPC type. I cut and paste the code for the type in a notebook, and then load the type with @everywhere and it works then. What should I do to get the type to load correctly by just using @everywhere for the module? Here is cut and paste of two simplified examples that have the same error: 1) I write the following in the IJulia notebook addprocs(6) @everywhere using Distributions @everywhere using LDPC LH = ldpcH(ones(UInt8,1000)*3,ones(UInt8,500)*6,true); @everywhere function llh(LH::ldpcH) return LH.n end @parallel (+) for j=1:100 llh(LH) end ### and the error I get for each worker looks like MethodError: `llh` has no method matching llh(::LDPC.ldpcH) Closest candidates are: llh(::LDPC.ldpcH) [inlined code] from In[10]:3 in anonymous at no file:1500 in anonymous at multi.jl:892 in run_work_thunk at multi.jl:645 [inlined code] from multi.jl:892 in anonymous at task.jl:63 while loading In[10], in expression starting on line 2 2) on the other hand if I write addprocs(6) @everywhere using Distributions @everywhere type ldpcH #for readability I did not cut and paste the contents end @everywhere function llh(LH::ldpcH) return LH.n end LH = ldpcH(ones(UInt8,1000)*3,ones(UInt8,500)*6,true); @parallel (+) for j=1:100 llh(LH) end everything works.
[julia-users] Re: More conda troubles
It's so annoying that Pkg.rm() does not rm. So I manually cleaned the cash and .trash after Pkg.rm("Conda") but it still doesn't install netCDF. I wish I could use what I already have in my computer (netcdf and all of its dependencies) and not duplicating them (if it worked). julia> Pkg.build("NetCDF") INFO: Building NetCDF Fetching package metadata: Solving package specifications: # All requested packages already installed. # packages in environment at C:\j\.julia\v0.4\Conda\deps\usr: # libnetcdf 4.3.3.1 vc9_4 [vc9] ===[ ERROR: NetCDF ] LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libnetcdf while loading C:\j\.julia\v0.4\NetCDF\deps\build.jl, in expression starting on line 12 quinta-feira, 19 de Novembro de 2015 às 20:18:47 UTC, J Luis escreveu: > > In fact I had. I always call julia from a bat file that I use to set paths > of interest and calls my WinPython portable installation. Now changed that > but I'm again in a broken state > > julia> Pkg.rm("NetCDF") > INFO: Installing Conda v0.1.8 > INFO: Removing Formatting v0.1.4 > INFO: Removing NetCDF v0.3.0 > INFO: Package database updated > > julia> Pkg.add("NetCDF") > INFO: Installing Formatting v0.1.4 > INFO: Installing NetCDF v0.3.0 > INFO: Building NetCDF > Error: This installation of conda is not initialized. Use 'conda create -n > envname' to create a conda environment and 'source activate envname' to > activate it. > > # Note that pip installing conda is not the recommended way for setting up > your > # system. The recommended way for setting up a conda system is by > installing > # Miniconda, see: http://repo.continuum.io/miniconda/index.html > ===[ ERROR: NetCDF ]== > > quinta-feira, 19 de Novembro de 2015 às 19:53:39 UTC, Steven G. Johnson > escreveu: >> >> Have you set up some environment variables that could affect Python? >> e.g. is PYTHONPATH or similar set in your environment? Maybe Conda should >> unset these before running the conda scripts. >> >
[julia-users] Re: Access Bloomberg data with Julia
It wouldn't take much to make a Julia package for this. Bloomberg data is subscription-based, no? You could copy how Quandl.jl does this and simply replace the Quandl api with the Bloomberg api. Good luck On Wednesday, November 18, 2015 at 5:58:56 PM UTC-5, Charles Santana wrote: > > Hi, > > Does anyone know a way to access Bloomberg data with Julia? > > I know there is a library in R ( > http://ftp.auckland.ac.nz/software/CRAN/src/contrib/Descriptions/RBloomberg.html) > > but I think it is no longer updated. > > There is also an API for Python, available here: > https://github.com/filmackay/blpapi-py I might try to use PyCall.jl > > However, I would prefer to use some library in Julia, if it exists. I > found some packages to work with finances, but I didn't see any mention to > Bloomberg database. > > Thanks for any tip! > > Charles > > -- > Um axé! :) > > -- > Charles Novaes de Santana, PhD > http://www.imedea.uib-csic.es/~charles >
[julia-users] Re: More conda troubles
In fact I had. I always call julia from a bat file that I use to set paths of interest and calls my WinPython portable installation. Now changed that but I'm again in a broken state julia> Pkg.rm("NetCDF") INFO: Installing Conda v0.1.8 INFO: Removing Formatting v0.1.4 INFO: Removing NetCDF v0.3.0 INFO: Package database updated julia> Pkg.add("NetCDF") INFO: Installing Formatting v0.1.4 INFO: Installing NetCDF v0.3.0 INFO: Building NetCDF Error: This installation of conda is not initialized. Use 'conda create -n envname' to create a conda environment and 'source activate envname' to activate it. # Note that pip installing conda is not the recommended way for setting up your # system. The recommended way for setting up a conda system is by installing # Miniconda, see: http://repo.continuum.io/miniconda/index.html ===[ ERROR: NetCDF ]== quinta-feira, 19 de Novembro de 2015 às 19:53:39 UTC, Steven G. Johnson escreveu: > > Have you set up some environment variables that could affect Python? e.g. > is PYTHONPATH or similar set in your environment? Maybe Conda should unset > these before running the conda scripts. >
Re: [julia-users] Formatting function definition to accept ASCIIString AND UTF8String
On Wednesday, November 18, 2015 at 7:56:13 AM UTC-5, NotSoRecentConvert wrote: > > It works now. > > @bernhard, my problem wasn't with joinpath but with the changes to the > string types. My code used String so it didn't care if it was ASCIIString > or UTF8String and swapping String with AbstractString didn't work > initially. I was also using the joinpath code as an example to figure out > of the devs do it. > > @Milan Bouchet-Valat, there must have been a change in the way parametric > variables are parsed. You can see the before and after below. I also had > some strange inconsistencies. For a while I was using *reload* to update > changes but it wasn't updating the function definitions so I had to keep > restarting Julia to properly test everything. > > > *Before* > > > > > > *function dirlist(directory::ASCIIString;args...)function > dirlist(directories::Array{ASCIIString,1};recur=typemax(Int64),regex=r"")After* > function dirlist(directory::AbstractString;args...) > > function dirlist{T <: AbstractString}(directories::Array{T,1};recur= > typemax(Int64),regex=r"") > These definitions are more general than the old definitions, so if you call them with ASCIIString arguments then it will still call the old definitions. If you reload a file and change a function while keeping the same argument types, it will *replace* the old method. But if you reload a file with a changed function signature (changed types), then it will *supplement* the old method.
Re: [julia-users] parse #
On Thursday, November 19, 2015 at 9:48:40 AM UTC-5, Stefan Karpinski wrote: > > parse is for parsing Julia code, which this isn't. You should use regular > expressions to pull out substrings and then parse them with specific > parse(Int, str) methods. > If it is just "param#val" on each line I would just use split(line, '#') instead of regular expressions.
[julia-users] Re: More conda troubles
Have you set up some environment variables that could affect Python? e.g. is PYTHONPATH or similar set in your environment? Maybe Conda should unset these before running the conda scripts.
[julia-users] Re: PyPlot behavior change in 0.4? (plt[:show] required?)
On Thursday, November 19, 2015 at 10:52:24 AM UTC-5, NotSoRecentConvert wrote: > > Has PyPlot's default behavior changed in 0.4? When I plot nothing shows up > with 0.3 code but there are also no errors. I'm able to save it and > everything looks fine but I can't see or interact with the plots when my > code is finished. Somebody mentioned plt[:show]() to make all the plots > visible but I haven't seen this until today. > No, the defaults haven't changed. It starts up in interactive mode if it can. It works fine for me, e.g using PyPlot plot(rand(10)) pops up a plot window (in the REPL) or displays it (in IJulia).
[julia-users] More conda troubles
After the troubles with conda that I reported 2 or 3 days ago I ended up nuking my .julia dir. Now I being bitten again julia> Pkg.build("NetCDF") INFO: Building NetCDF Traceback (most recent call last): File "C:\j\.julia\v0.4\Conda\deps\usr\Scripts\conda-script.py", line 2, in from conda.cli import main ImportError: No module named conda.cli
Re: [julia-users] What is the easiest way to create type Sex.Female | No constants or final support in Julia
thanks a lot. Was previously looking for enum, but found old post saying its still in the works. This is what i want Thanks! Am Donnerstag, 19. November 2015 18:51:14 UTC+1 schrieb Milan Bouchet-Valat: > > Le jeudi 19 novembre 2015 à 09:36 -0800, Frank a écrit : > > > > > > Hi, > > > > alllow a newbie question. Trying to create type that has immutable > > const value > > > > What i want to do is assign a value with a constant > > > > person.sex = Sex.MALE > > > > This doesnt work > > > > type SEX > > immutable MALE end > > immutable FEMALE end > > end > > > > there is no CONSTANT, no ATOM, no FINAL and i couldn't find > > documentation on how to overload the setter methods of a type. > It looks like what you want is an enum: > @enum SEX Male Female > > Then you can write : > type Person > sex::SEX > end > > person = Person(Female) > and > person.sex = Male > > You cannot write SEX.Male, but is that a problem for you? > > If that's not what you want, I think you'll have to tell us more about > what you're trying to do. > > > Regards > > > Any help would be highly appreciated. > > Thanks > > Frank >
[julia-users] Are print, warn, etc. "preemptible"?
Yes, all IO functions yield.
Re: [julia-users] Memory leak for animated plots
Sounds like the memory leak is on the browser side? Maybe something is keeping a javascript reference to the plot? Potentially a Jupyter/IJulia bug? On Thu, Nov 19, 2015 at 12:01 PM, Stefan Karpinski wrote: > This should work – if there's a memory leak that's never reclaimed by gc, > that's a bug. > > On Thu, Nov 19, 2015 at 11:55 AM, Andrew Keller < > andrew.keller...@gmail.com> wrote: > >> Maybe generating a new plot every time is not great practice, on account >> of the performance hit. That being said, I think it's perfectly legitimate >> to do what I'm doing for prototyping purposes. I can achieve the frame rate >> I want and the main example shown on >> https://github.com/JuliaLang/Interact.jl does the same thing I do, >> generating a new plot each time. >> >> In fact, I'd encourage anyone reading this to just try that example, and >> repeatedly click between sin and cos. I'm able to make the memory >> consumption of my browser grow without bound. Surely someone besides myself >> has noticed this before! I don't think loading another package is a serious >> solution to the problem I'm describing, although your package certainly >> looks useful for other purposes. >> >> Just to reiterate, this is not a small memory leak; this is like a memory >> dam breach. I'm happy to help debug this but some assistance would be >> appreciated. >> >> >> On Thursday, November 19, 2015 at 7:11:55 AM UTC-8, Tom Breloff wrote: >>> >>> You're creating a new Gadfly.Plot object every update, which is a bad >>> idea even if Gadfly's memory management was perfect. Plots.jl gives you the >>> ability to add to or replace the underlying data like this: >>> >>> using Plots >>> gadfly() >>> getxy() = (1:10, rand(10)) >>> plt = plot(x, y) >>> >>> # overwrite underlying plot data without building a new plot >>> plt[1] = getxy() >>> >>> >>> You can also use familiar push! and append! calls. >>> >>> Let me know if this helps, and please post issues if you find bugs. Of >>> course the memory issue could be while redisplaying in IJulia, in which >>> case this method won't help. >>> >>> On Thursday, November 19, 2015, Andrew Keller >>> wrote: >>> I'd like to use Interact to have a plot that updates frequently in a Jupyter notebook, but it seems like there is a large memory leak somewhere and I am having some trouble tracking down what package is responsible. Within a few minutes of running, the following code will cause the memory used by the web browser to balloon to well over 1 GB with no sign of slowing down. It is almost like the memory allocated for displaying a particular plot is never deallocated: using Reactive, Interact, Gadfly @manipulate for > paused=false, > dt = fpswhen(lift(!, paused), 10) > plot(x=collect(1:10),y=rand(10)) > end I can observe this problem using Julia 0.4.1, together with the most recent releases of all relevant packages, in either Safari on OS X or Chrome on Windows 10. Here's hoping someone has an idea of what's going on or advice for how to track down this problem. It seems like something that many others should be experiencing. Thanks, Andrew >>> >
Re: [julia-users] What is the easiest way to create type Sex.Female | No constants or final support in Julia
Le jeudi 19 novembre 2015 à 09:36 -0800, Frank a écrit : > > > Hi, > > alllow a newbie question. Trying to create type that has immutable > const value > > What i want to do is assign a value with a constant > > person.sex = Sex.MALE > > This doesnt work > > type SEX > immutable MALE end > immutable FEMALE end > end > > there is no CONSTANT, no ATOM, no FINAL and i couldn't find > documentation on how to overload the setter methods of a type. It looks like what you want is an enum: @enum SEX Male Female Then you can write : type Person sex::SEX end person = Person(Female) and person.sex = Male You cannot write SEX.Male, but is that a problem for you? If that's not what you want, I think you'll have to tell us more about what you're trying to do. Regards > Any help would be highly appreciated. > Thanks > Frank
[julia-users] Re: What is the easiest way to create type Sex.Female | No constants or final support in Julia
See http://docs.julialang.org/en/release-0.4/stdlib/base/?highlight=enum#Base.Val{c} On Thursday, 19 November 2015 18:36:48 UTC+1, Frank wrote: > > > > Hi, > > alllow a newbie question. Trying to create type that has immutable const > value > > What i want to do is assign a value with a constant > > person.sex = Sex.MALE > > This doesnt work > > type SEX > immutable MALE end > immutable FEMALE end > end > > there is no CONSTANT, no ATOM, no FINAL and i couldn't find documentation > on how to overload the setter methods of a type. > > Any help would be highly appreciated. > Thanks > Frank >
[julia-users] What is the easiest way to create type Sex.Female | No constants or final support in Julia
Hi, alllow a newbie question. Trying to create type that has immutable const value What i want to do is assign a value with a constant person.sex = Sex.MALE This doesnt work type SEX immutable MALE end immutable FEMALE end end there is no CONSTANT, no ATOM, no FINAL and i couldn't find documentation on how to overload the setter methods of a type. Any help would be highly appreciated. Thanks Frank
Re: [julia-users] Memory leak for animated plots
This should work – if there's a memory leak that's never reclaimed by gc, that's a bug. On Thu, Nov 19, 2015 at 11:55 AM, Andrew Keller wrote: > Maybe generating a new plot every time is not great practice, on account > of the performance hit. That being said, I think it's perfectly legitimate > to do what I'm doing for prototyping purposes. I can achieve the frame rate > I want and the main example shown on > https://github.com/JuliaLang/Interact.jl does the same thing I do, > generating a new plot each time. > > In fact, I'd encourage anyone reading this to just try that example, and > repeatedly click between sin and cos. I'm able to make the memory > consumption of my browser grow without bound. Surely someone besides myself > has noticed this before! I don't think loading another package is a serious > solution to the problem I'm describing, although your package certainly > looks useful for other purposes. > > Just to reiterate, this is not a small memory leak; this is like a memory > dam breach. I'm happy to help debug this but some assistance would be > appreciated. > > > On Thursday, November 19, 2015 at 7:11:55 AM UTC-8, Tom Breloff wrote: >> >> You're creating a new Gadfly.Plot object every update, which is a bad >> idea even if Gadfly's memory management was perfect. Plots.jl gives you the >> ability to add to or replace the underlying data like this: >> >> using Plots >> gadfly() >> getxy() = (1:10, rand(10)) >> plt = plot(x, y) >> >> # overwrite underlying plot data without building a new plot >> plt[1] = getxy() >> >> >> You can also use familiar push! and append! calls. >> >> Let me know if this helps, and please post issues if you find bugs. Of >> course the memory issue could be while redisplaying in IJulia, in which >> case this method won't help. >> >> On Thursday, November 19, 2015, Andrew Keller >> wrote: >> >>> I'd like to use Interact to have a plot that updates frequently in a >>> Jupyter notebook, but it seems like there is a large memory leak somewhere >>> and I am having some trouble tracking down what package is responsible. >>> Within a few minutes of running, the following code will cause the memory >>> used by the web browser to balloon to well over 1 GB with no sign of >>> slowing down. It is almost like the memory allocated for displaying a >>> particular plot is never deallocated: >>> >>> using Reactive, Interact, Gadfly >>> >>> @manipulate for paused=false, dt = fpswhen(lift(!, paused), 10) plot(x=collect(1:10),y=rand(10)) end >>> >>> >>> I can observe this problem using Julia 0.4.1, together with the most >>> recent releases of all relevant packages, in either Safari on OS X or >>> Chrome on Windows 10. >>> >>> Here's hoping someone has an idea of what's going on or advice for how >>> to track down this problem. It seems like something that many others should >>> be experiencing. >>> >>> Thanks, >>> Andrew >>> >>
Re: [julia-users] Memory leak for animated plots
Maybe generating a new plot every time is not great practice, on account of the performance hit. That being said, I think it's perfectly legitimate to do what I'm doing for prototyping purposes. I can achieve the frame rate I want and the main example shown on https://github.com/JuliaLang/Interact.jl does the same thing I do, generating a new plot each time. In fact, I'd encourage anyone reading this to just try that example, and repeatedly click between sin and cos. I'm able to make the memory consumption of my browser grow without bound. Surely someone besides myself has noticed this before! I don't think loading another package is a serious solution to the problem I'm describing, although your package certainly looks useful for other purposes. Just to reiterate, this is not a small memory leak; this is like a memory dam breach. I'm happy to help debug this but some assistance would be appreciated. On Thursday, November 19, 2015 at 7:11:55 AM UTC-8, Tom Breloff wrote: > > You're creating a new Gadfly.Plot object every update, which is a bad idea > even if Gadfly's memory management was perfect. Plots.jl gives you the > ability to add to or replace the underlying data like this: > > using Plots > gadfly() > getxy() = (1:10, rand(10)) > plt = plot(x, y) > > # overwrite underlying plot data without building a new plot > plt[1] = getxy() > > > You can also use familiar push! and append! calls. > > Let me know if this helps, and please post issues if you find bugs. Of > course the memory issue could be while redisplaying in IJulia, in which > case this method won't help. > > On Thursday, November 19, 2015, Andrew Keller > wrote: > >> I'd like to use Interact to have a plot that updates frequently in a >> Jupyter notebook, but it seems like there is a large memory leak somewhere >> and I am having some trouble tracking down what package is responsible. >> Within a few minutes of running, the following code will cause the memory >> used by the web browser to balloon to well over 1 GB with no sign of >> slowing down. It is almost like the memory allocated for displaying a >> particular plot is never deallocated: >> >> using Reactive, Interact, Gadfly >> >> @manipulate for >>> paused=false, >>> dt = fpswhen(lift(!, paused), 10) >>> plot(x=collect(1:10),y=rand(10)) >>> end >> >> >> I can observe this problem using Julia 0.4.1, together with the most >> recent releases of all relevant packages, in either Safari on OS X or >> Chrome on Windows 10. >> >> Here's hoping someone has an idea of what's going on or advice for how to >> track down this problem. It seems like something that many others should be >> experiencing. >> >> Thanks, >> Andrew >> >
[julia-users] Re: PyPlot behavior change in 0.4? (plt[:show] required?)
It's a problem in the REPL as well. I haven't tried it with IJulia.
[julia-users] Re: PyPlot behavior change in 0.4? (plt[:show] required?)
On my machine (0.4 / 0.5-dev) I need to call display(gcf()) for the figure to appear. Maybe we should open an issue for that in IJulia. On Thursday, 19 November 2015 16:52:24 UTC+1, NotSoRecentConvert wrote: > > Has PyPlot's default behavior changed in 0.4? When I plot nothing shows up > with 0.3 code but there are also no errors. I'm able to save it and > everything looks fine but I can't see or interact with the plots when my > code is finished. Somebody mentioned plt[:show]() to make all the plots > visible but I haven't seen this until today. > > Is this a new default behavior or do I have to change a default setting > somewhere? >
[julia-users] PyPlot behavior change in 0.4? (plt[:show] required?)
Has PyPlot's default behavior changed in 0.4? When I plot nothing shows up with 0.3 code but there are also no errors. I'm able to save it and everything looks fine but I can't see or interact with the plots when my code is finished. Somebody mentioned plt[:show]() to make all the plots visible but I haven't seen this until today. Is this a new default behavior or do I have to change a default setting somewhere?
Re: [julia-users] Re: norm() is faster than maxabs()
norm() is even faster than maximum() ! On Wednesday, November 18, 2015 at 8:49:59 PM UTC+1, Tim Holy wrote: > > Note also that: > > function mynorm(x) > s = zero(x[1]^2) > @inbounds @simd for I in eachindex(x) > s += x[I]^2 > end > sqrt(s) > end > > does get SIMDed. So the difference is almost surely vectorization. > > --Tim > > > On Wednesday, November 18, 2015 01:38:38 PM Tim Holy wrote: > > On Wednesday, November 18, 2015 02:30:01 PM Stefan Karpinski wrote: > > > Those numbers don't include any compilation (the allocations are too > low). > > > I'm seeing a similar thing. They're just implemented in really > different > > > ways. maxabs uses mapreduce, which seems to be a chronic source of > > > less-than-optimal performance. > > > > Not the problem: > > > > julia> function mymaxabs(x) > >s = abs(x[1]) > >@inbounds @simd for I in eachindex(x) > >s = max(s, abs(x[I])) > >end > >s > >end > > mymaxabs (generic function with 1 method) > > > > julia> x = randn(10); > > > > # warmup suppressed > > > > julia> @time maxabs(x) > > 0.000425 seconds (5 allocations: 176 bytes) > > 4.513240114499124 > > > > julia> @time mymaxabs(x) > > 0.000642 seconds (5 allocations: 176 bytes) > > 4.513240114499124 > > > > > > (It doesn't actually get SIMDed, though.) > > > > I'm not entirely surprised. Multiplication is fast, and with 10^5 > elements > > the sqrt should not be the bottleneck. > > > > --Tim > > > > > On Wed, Nov 18, 2015 at 2:12 PM, Benjamin Deonovic > > > > > > > wrote: > > > > Does norm use maxabs? If so this could be due to maxabs getting > > > > compiled. > > > > try running both of the timed statements a second time. > > > > > > > > On Wednesday, November 18, 2015 at 10:41:48 AM UTC-6, Sisyphuss > wrote: > > > >> Interesting phenomenon: norm() is faster than maxabs() > > > >> > > > >> x = randn(10) > > > >> @time maxabs(x) > > > >> @time norm(x) > > > >> > > > >> > > > >> 0.000108 seconds (5 allocations: 176 bytes) > > > >> 0.40 seconds (5 allocations: 176 bytes) > > > >> > > > >> I have thought the contrary, for norm() requires N square and 1 > square > > > >> root; maxabs() requires 2N change of sign bit and N comparison. > >
Re: [julia-users] Memory leak for animated plots
You're creating a new Gadfly.Plot object every update, which is a bad idea even if Gadfly's memory management was perfect. Plots.jl gives you the ability to add to or replace the underlying data like this: using Plots gadfly() getxy() = (1:10, rand(10)) plt = plot(x, y) # overwrite underlying plot data without building a new plot plt[1] = getxy() You can also use familiar push! and append! calls. Let me know if this helps, and please post issues if you find bugs. Of course the memory issue could be while redisplaying in IJulia, in which case this method won't help. On Thursday, November 19, 2015, Andrew Keller wrote: > I'd like to use Interact to have a plot that updates frequently in a > Jupyter notebook, but it seems like there is a large memory leak somewhere > and I am having some trouble tracking down what package is responsible. > Within a few minutes of running, the following code will cause the memory > used by the web browser to balloon to well over 1 GB with no sign of > slowing down. It is almost like the memory allocated for displaying a > particular plot is never deallocated: > > using Reactive, Interact, Gadfly > > @manipulate for >> paused=false, >> dt = fpswhen(lift(!, paused), 10) >> plot(x=collect(1:10),y=rand(10)) >> end > > > I can observe this problem using Julia 0.4.1, together with the most > recent releases of all relevant packages, in either Safari on OS X or > Chrome on Windows 10. > > Here's hoping someone has an idea of what's going on or advice for how to > track down this problem. It seems like something that many others should be > experiencing. > > Thanks, > Andrew >
Re: [julia-users] Using Gadfly with sublime-ijulia or vim
Wrap your spy call: "display(spy(...))" On Thursday, November 19, 2015, Ashley Kleinhans wrote: > I was wondering if someone could help me with a very basic question (as a > newbie on so many levels). I finally managed to get spy() working under > Gadfly, thanks to the good people at stack exchange. But I have to type > each line into terminal for it to pop up with a plot and even then I had to > be using Escher. > > I think I am misunderstanding how to plot using an editor, I like vim and > sublime, everything builds - but nothing shows. Am I looking at the wrong > editors? this is an example output: > > using Gadfly > M = sprand(300, 300, 0.1) # generate a sparse matrix with density 0.1 of > non-zeros > M = full(M) > spy(M) > > How do I make fancy plots using an editor? >
Re: [julia-users] parse #
parse is for parsing Julia code, which this isn't. You should use regular expressions to pull out substrings and then parse them with specific parse(Int, str) methods. On Thu, Nov 19, 2015 at 9:46 AM, Ján Adamčák wrote: > Hi guys, > > I tried a parse specific config file with this syntax: > > param#value > > for this case > > parse("R#10") > > but parse returned me only :R > > How I can parse this string(file), when I can parse it like > value, operator, value? :(R # 10) ? > > Thanks for your help. >
[julia-users] parse #
Hi guys, I tried a parse specific config file with this syntax: param#value for this case parse("R#10") but parse returned me only :R How I can parse this string(file), when I can parse it like value, operator, value? :(R # 10) ? Thanks for your help.
[julia-users] Using Gadfly with sublime-ijulia or vim
I was wondering if someone could help me with a very basic question (as a newbie on so many levels). I finally managed to get spy() working under Gadfly, thanks to the good people at stack exchange. But I have to type each line into terminal for it to pop up with a plot and even then I had to be using Escher. I think I am misunderstanding how to plot using an editor, I like vim and sublime, everything builds - but nothing shows. Am I looking at the wrong editors? this is an example output: using Gadfly M = sprand(300, 300, 0.1) # generate a sparse matrix with density 0.1 of non-zeros M = full(M) spy(M) How do I make fancy plots using an editor?
[julia-users] Re: Build of julia with clang on windows. Clang.jl cannot build
@Tony Kelman There already exists the same issue for OSX on ihnorton/Clang.jl, #145. I've added my symptoms to that issue. Removal of -rdynamic does not help. Petr On Thursday, November 19, 2015 at 1:30:03 PM UTC+1, J Luis wrote: > > Just remove the '-rdynamic' from that line of the Makefile. But you'll > find some other problem later that I don't remember anymore (I've tried > this too some time ago) > > Joaquim > > quinta-feira, 19 de Novembro de 2015 às 11:51:14 UTC, Tony Kelman escreveu: >> >> Check if there's already an issue about this at Clang.jl. If not, open a >> new one. > >
[julia-users] Re: Build of julia with clang on windows. Clang.jl cannot build
Just remove the '-rdynamic' from that line of the Makefile. But you'll find some other problem later that I don't remember anymore (I've tried this too some time ago) Joaquim quinta-feira, 19 de Novembro de 2015 às 11:51:14 UTC, Tony Kelman escreveu: > > Check if there's already an issue about this at Clang.jl. If not, open a > new one.
[julia-users] Remote workers on Windows
Hi Can someone tell me how to get remote workers working on Windows (both machines)? Will I require an ssh tunnel for this? I tried freeSSHd which is working fine when I connect with putty. However when I connect with julia addprocs([(string(usr,"\@192.168.1.35:29"))]) the connection is established (I can see the greeting message), but immediately dropped. In the REPL (master) I get the following error: channel 0 protocol error close rcvd twice Any ideas? The server will simply state "SSH user disconnected".
[julia-users] Build of julia with clang on windows. Clang.jl cannot build
Check if there's already an issue about this at Clang.jl. If not, open a new one.
Re: [julia-users] Module documentation not formatting properly
Turns out it was a problem with the file. I still have no idea why but I just renamed the original as a backup and then renamed my test module to what I wanted. It worked! Before I did that I moved ~/.julia/v0.4 to check for caching issues. After it was done reloading everything it still didn't work so I moved on to the renaming test I mentioned above.
[julia-users] Re: Do I have simd?
Try with: x = rand(Float32,n)::Array{Float32,1} y = rand(Float32,n)::Array{Float32,1} s = zero(Float64)::Float64 I believe this fixed a similar issue for me in Julia 0.4. The underlying problem must have been fixed in 0.5-dev. @code_typed is also very useful in diagnosing failure to vectorize. Check for type instability, unexpected type promotion, overflow checks when converting number types, and non-inlined calls. I've been trying to make tests for this but they keep failing on the continuous integration machines: https://github.com/JuliaLang/julia/issues/13686 On Thursday, 5 November 2015 15:12:22 UTC+1, DNF wrote: > > I have been looking through the performance tips section of the manual. > Specifically, I am curious about @simd ( > http://docs.julialang.org/en/release-0.4/manual/performance-tips/#performance-annotations > ). > > When I cut and paste the code demonstrating the @simd macro, I don't get > substantial speedups. Before updating from OSX Yosemite to El Capitan, I > saw no speedup whatsoever. After the update, there is a small speedup (I > ran the example repeatedly): > > julia> timeit(1000,1000) > GFlop= 1.2292170133468385 > GFlop (SIMD) = 1.5351220575547964 > > > This contrasts sharply to the example in the documentation which shows a > speedup from 1.95GFlop to 17.6GFlop. > > Does my computer not have simd? How can I tell? > > This is my versioninfo: > > Julia Version 0.4.0 > Commit 0ff703b* (2015-10-08 06:20 UTC) > Platform Info: > System: Darwin (x86_64-apple-darwin15.0.0) > CPU: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz > WORD_SIZE: 64 > BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell) > LAPACK: libopenblas > LIBM: libopenlibm > LLVM: libLLVM-3.3 > >
[julia-users] Re: Do I have simd?
Try with: x::Array{Float32,1} = rand(Float32,n) y::Array{Float32,1} = rand(Float32,n) s::Float64 = zero(Float64) I believe this fixed a similar issue for me in Julia 0.4. The underlying problem must have been fixed in 0.5-dev. @code_typed is also very useful in diagnosing failure to vectorize. Check for type instability, unexpected type promotion, overflow checks when converting number types, and non-inlined calls. I've been trying to make tests for this but they keep failing on the continuous integration machines: https://github.com/JuliaLang/julia/issues/13686 On Thursday, 5 November 2015 15:12:22 UTC+1, DNF wrote: > > I have been looking through the performance tips section of the manual. > Specifically, I am curious about @simd ( > http://docs.julialang.org/en/release-0.4/manual/performance-tips/#performance-annotations > ). > > When I cut and paste the code demonstrating the @simd macro, I don't get > substantial speedups. Before updating from OSX Yosemite to El Capitan, I > saw no speedup whatsoever. After the update, there is a small speedup (I > ran the example repeatedly): > > julia> timeit(1000,1000) > GFlop= 1.2292170133468385 > GFlop (SIMD) = 1.5351220575547964 > > > This contrasts sharply to the example in the documentation which shows a > speedup from 1.95GFlop to 17.6GFlop. > > Does my computer not have simd? How can I tell? > > This is my versioninfo: > > Julia Version 0.4.0 > Commit 0ff703b* (2015-10-08 06:20 UTC) > Platform Info: > System: Darwin (x86_64-apple-darwin15.0.0) > CPU: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz > WORD_SIZE: 64 > BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell) > LAPACK: libopenblas > LIBM: libopenlibm > LLVM: libLLVM-3.3 > >
[julia-users] Re: Do I have simd?
Try with: x::Array{Float32,1} = rand(Float32,n) y::Array{Float32,1} = rand(Float32,n) s::Array{Float32,1} = zero(Float64) I believe this fixed a similar issue for me in Julia 0.4. The underlying problem must have been fixed in 0.5-dev. @code_typed is also very useful in diagnosing failure to vectorize. Check for type instability, unexpected type promotion, overflow checks when converting number types, and non-inlined calls. I've been trying to make tests for this but they keep failing on the continuous integration machines: https://github.com/JuliaLang/julia/issues/13686 On Thursday, 5 November 2015 15:12:22 UTC+1, DNF wrote: > > I have been looking through the performance tips section of the manual. > Specifically, I am curious about @simd ( > http://docs.julialang.org/en/release-0.4/manual/performance-tips/#performance-annotations > ). > > When I cut and paste the code demonstrating the @simd macro, I don't get > substantial speedups. Before updating from OSX Yosemite to El Capitan, I > saw no speedup whatsoever. After the update, there is a small speedup (I > ran the example repeatedly): > > julia> timeit(1000,1000) > GFlop= 1.2292170133468385 > GFlop (SIMD) = 1.5351220575547964 > > > This contrasts sharply to the example in the documentation which shows a > speedup from 1.95GFlop to 17.6GFlop. > > Does my computer not have simd? How can I tell? > > This is my versioninfo: > > Julia Version 0.4.0 > Commit 0ff703b* (2015-10-08 06:20 UTC) > Platform Info: > System: Darwin (x86_64-apple-darwin15.0.0) > CPU: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz > WORD_SIZE: 64 > BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell) > LAPACK: libopenblas > LIBM: libopenlibm > LLVM: libLLVM-3.3 > >
[julia-users] Memory leak for animated plots
I'd like to use Interact to have a plot that updates frequently in a Jupyter notebook, but it seems like there is a large memory leak somewhere and I am having some trouble tracking down what package is responsible. Within a few minutes of running, the following code will cause the memory used by the web browser to balloon to well over 1 GB with no sign of slowing down. It is almost like the memory allocated for displaying a particular plot is never deallocated: using Reactive, Interact, Gadfly @manipulate for > paused=false, > dt = fpswhen(lift(!, paused), 10) > plot(x=collect(1:10),y=rand(10)) > end I can observe this problem using Julia 0.4.1, together with the most recent releases of all relevant packages, in either Safari on OS X or Chrome on Windows 10. Here's hoping someone has an idea of what's going on or advice for how to track down this problem. It seems like something that many others should be experiencing. Thanks, Andrew