VHaravy | 21 May 2013 12:22
Picon

Calling Julia Callback from a Different Thread

Is it safe to call Julia callback obtained via cfunction from a different thread? For example, I obtain a pointer to a Julia function via cfunction, then pass this pointer to some C functions (via ccall). This C function is then creates a thread from and calls Julia callback by pointer from this thread. There is no race here, all calls are made from exactly one thread that happens to be different from Julia's main thread. I keep getting some random crashes in similar scenario and wondering whether it is safe at all (MATLAB, for example, does not thi s).

Martin DeMello | 21 May 2013 01:54
Picon

request for documentation: contributing to a package before it goes into METADATA

The workflow for contributing to an existing package is
underdocumented, in the case of wanting to collaborate on a package
that the author has put on github but not yet added to METADATA.

martin

Viral Shah | 20 May 2013 20:48
Gravatar

Pre-release Mac build for 0.2

I have packaged the latest master and uploaded a mac build. OpenBLAS crashes when used multi-threaded in the mac build configuration (issue yet to be filed), and Winston is buggy, due to what seems like a Tk issue (filed issue in Winston.jl for now).


-viral

Douglas Bates | 20 May 2013 19:04
Picon

Recommended procedure for syncing a branch with master before creating a pull request?

I'm still having difficulty wrapping my head around recommended git procedures.  I am working on some sparse matrix capabilities patterned on code in the CSparse library of C functions and I have created a branch db/jsparse on JuliaLang/julia.  The problem is that I created it last week and it now is behind master.  If I want to bring it up-to-date with master before making modifications it seems I should either rebase to the current master HEAD or merge the changes in master from last week until now.  However, it seems that both of those are the wrong thing to do.  You are not supposed to rebase and push the changes to a public repository because it will foul up everyone else who has a copy of that branch.  And merging changes means that when you later try to create a pull request it has a peculiar history that plays back all the changes that were made to master.


I find this very frustrating in that I know what I am not supposed to do using git but I don't know what I am supposed to do.
Amit Murthy | 20 May 2013 09:10
Picon
Gravatar

RFC : AWSLib - a Julia interface to AWS (work in progress)

Please checkout https://github.com/amitmurthy/AWSLib.jl - a Julia interface to AWS.


Approach

Much of the boilerplate code is generated from the corresponding WSDL. For example, for the EC2 API, the Julia types and functions are based on http://s3.amazonaws.com/ec2-downloads/ec2.wsdl

Exported functions are in ec2_operations.jl

Types are defined in ec2_types.jl

Names and usage are similar to the AWS documentation http://awsdocs.s3.amazonaws.com/EC2/latest/ec2-api.pdf

Current status

Greg Zuro | 20 May 2013 07:56
Gravatar

DataFrames (at least) broken?

On OSX:


gz21:julia gregz$ sudo rm -r ~/.julia
gz21:julia gregz$ ./julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.2.0-1610.rc5304551
 _/ |\__'_|_|_|\__'_|  |  Commit c53045510f 2013-05-19 15:49:44
|__/                   |

julia> Pkg.add("DataFrames")
MESSAGE: Auto-initializing default package repository /Users/gregz/.julia.
 in add at pkg.jl:143
Initialized empty Git repository in /Users/gregz/.julia/.git/
[master (root-commit) de4ed0a] Initial empty commit
Cloning into 'METADATA'...
remote: Counting objects: 6118, done.
remote: Compressing objects: 100% (3063/3063), done.
remote: Total 6118 (delta 969), reused 6040 (delta 897)
Receiving objects: 100% (6118/6118), 532.49 KiB | 319 KiB/s, done.
Resolving deltas: 100% (969/969), done.
[master b8b63d5] Empty package repo
 2 files changed, 4 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 METADATA
 create mode 100644 REQUIRE
MESSAGE: Installing DataFrames v0.2.3
 in anonymous at no file:163
Cloning into 'DataFrames'...
remote: Counting objects: 3625, done.
remote: Compressing objects: 100% (1431/1431), done.
remote: Total 3625 (delta 2099), reused 3546 (delta 2023)
Receiving objects: 100% (3625/3625), 3.95 MiB | 874 KiB/s, done.
Resolving deltas: 100% (2099/2099), done.
MESSAGE: Installing GZip v0.2.0
 in anonymous at no file:163
Cloning into 'GZip'...
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 43 (delta 11), reused 39 (delta 8)
Receiving objects: 100% (43/43), 19.11 KiB, done.
Resolving deltas: 100% (11/11), done.
MESSAGE: Installing Stats v0.2.0
 in anonymous at no file:163
Cloning into 'Stats'...
remote: Counting objects: 59, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 59 (delta 22), reused 45 (delta 8)
Receiving objects: 100% (59/59), 11.83 KiB, done.
Resolving deltas: 100% (22/22), done.

julia> using DataFrames
ERROR: invalid type for argument #s33 in method definition for sortperm at /Users/gregz/.julia/DataFrames/src/pooleddataarray.jl:708
 in include_from_node1 at loading.jl:91 (repeats 2 times)
 in reload_path at loading.jl:114
 in require at loading.jl:48
at /Users/gregz/.julia/DataFrames/src/pooleddataarray.jl:708
at /Users/gregz/.julia/DataFrames/src/DataFrames.jl:233

julia>
titus tienaah | 20 May 2013 04:29
Picon

windows binaries (0.2.x) ?


Hi,
Please when will new windows binaries (0.2.x) be available for download.
Julia is rapidly changing and these binaries (windows on : http://code.google.com/p/julialang/downloads/list ) are already old.
Any new links ?

Thanks !
Milktrader | 17 May 2013 18:29
Picon
Gravatar

New blog for using Julia with quantitative finance

I just started quantkitchen.com (still quantkitchen.wordpress.com for now) to highlight using financial related packages in Julia.


Should be fun!
Westley Hennigh | 16 May 2013 00:05
Picon
Gravatar

julialang.org down?

I can't get a response...

Gunnar Farnebäck | 14 May 2013 23:12
Picon
Picon
Picon
Favicon

Floating point range intersection

I'm preparing a pull request with improvements for the range intersect function but I need some clarifications. As defined intersect(Range1, Range1) and intersect(Range, Range1) apply to both integer and floating point ranges. Are the latter intentional? I can't really make sense of things like


julia> intersect(2.5:2:6.5, 3.2:7.2)
3.2:2.0:5.2

Unless there's some useful semantics I'm missing I'd rather leave floating point ranges to the catchall intersect function in array.jl.

Similarly the findin(Range, Range1) function also allows floating point ranges but there the Range1 is interpreted as an interval rather than a 1-step range. Is this established convention? It seems rather shaky now that Range 1 is represented with starting value and number of elements, opening for traps like

julia> findin(2.5:2:6.5, 3.4:6.6)
2:2

Kristopher Micinski | 14 May 2013 17:02
Picon
Gravatar

Parametric types invariant: what should I do?

All,

A group member of mine was working on a project and started hacking up
an interval tree.

abstract Interval
abstract IntervalTree{T <: Interval}

type EmptyNode{T <: Interval} <: IntervalTree{T}
end

type IntervalNode{T <: Interval} <: IntervalTree{T}
        # ...

        function IntervalNode{T}(intervals :: Vector{T})
              # ...
              new(...)
         end
end

Unfortunately (as everyone is aware) parametric types are invariant in
Julia for performance reasons.  What we really *want* is a tree that
holds intervals (and anything that is a subtype of interval, such as
genomic ranges), but the only thing the tree needs to know is the
abstract interface consisting of (e.g.,) start and end (needed to
efficiently construct an interval tree).

One option is to instantiate this definition for all concrete subtypes
of Interval that we wish to use. This seems bad, however, since it
doesn't really feel parameteric at all..  Does anyone have any better
suggestions for us?

Kris


Gmane