[ANN] nmap-1.1.0

Discussion in 'Ruby' started by ara.t.howard, Jul 25, 2010.

  1. ara.t.howard

    ara.t.howard Guest

    NAME

    nmap (reference ruby class which combines narray and mmap)
    na_str (c extension)

    REQUIREMENTS

    mmap : http://moulon.inra.fr/ruby/mmap.html
    narray : http://narray.rubyforge.org/

    URIS

    http://codeforpeople.com/lib/ruby/nmap/


    SYNOPSIS

    na_str is designed to allow data sharing between narray object and other ruby
    objects. the shared data is that returned by the objects to_s or
    to_str method
    and rb_string_new4. using this technique memory mapped (using guy's mmap
    extensions) data can be altered with no explicit io on the users part and
    partial changed to numerical grids can occur very quickly and persistently.

    the nmap.rb reference impl is a concrete example of this usage and is
    included in the distribution.


    EXAMPLE USAGE

    jib:~/eg/ruby/na_str > cat a.rb
    #
    # the nmap extension is installed along with na_str
    #
    require 'nmap'
    #
    # the NMap ctor interface is similar to NArray's, but a backing
    file must also
    # be specified
    #
    path, x, y = 'int.data', 3, 4
    nmap = NMap.int path, x, y
    #
    # copy the last row to the first
    #
    nmap.na[true, 0] = nmap.na[true, 3]
    #
    # set the last row to be the current time. if you run this a few
    times you'll
    # notice that changes to the narray are automatically written to the to
    # backing file via the magic of mmap
    #
    nmap.na[true, 3] = Time.now.to_i
    #
    # show the narray
    #
    p nmap.na


    jib:~/eg/ruby/na_str > ruby a.rb
    NArray(ref).int(3,4):
    [ [ 0, 0, 0 ],
    [ 0, 0, 0 ],
    [ 0, 0, 0 ],
    [ 1151439012, 1151439012, 1151439012 ] ]

    jib:~/eg/ruby/na_str > ruby a.rb
    NArray(ref).int(3,4):
    [ [ 1151439012, 1151439012, 1151439012 ],
    [ 0, 0, 0 ],
    [ 0, 0, 0 ],
    [ 1151439014, 1151439014, 1151439014 ] ]


    SPEED

    jib:~/eg/ruby/na_str > cat a.rb
    #
    # reference impl installed with na_str
    #
    require 'nmap'
    #
    # setup a narray grid containing 1 gb of ints
    #
    gb = 2 ** 30
    mb = 2 ** 20
    sizeof_int = [42].pack('i').size
    gig_of_ints = gb / sizeof_int
    nmap = NMap.int '1GB', gig_of_ints
    #
    # set about 1 million of the ints to 42
    #
    nmap.na[0 .. mb] = 42
    #
    # show that the data was written
    #
    p nmap.na[mb - 1]


    jib:~/eg/ruby/na_str > time ruby a.rb
    42

    real 0m0.078s
    user 0m0.020s
    sys 0m0.020s


    jib:~/eg/ruby/na_str > ls -ltar 1GB
    -rw-rw-r-- 1 ahoward ahoward 1073741824 Jun 27 14:28 1GB




    --
    -a
     
    ara.t.howard, Jul 25, 2010
    #1
    1. Advertising

  2. ara.t.howard

    botp Guest

    On Sun, Jul 25, 2010 at 11:24 PM, ara.t.howard <> wro=
    te:
    > =A0nmap (reference ruby class which combines narray and mmap)


    this uver cool, but i am lost. is that v 1.1.0 or 0.1.0?
    do you have gem for this?
    best regards -botp
     
    botp, Jul 25, 2010
    #2
    1. Advertising

  3. ara.t.howard

    ara.t.howard Guest

    Re: nmap-1.1.0

    eeks. it's 1.1.0

    http://github.com/ahoward/nmap

    the gem is here (search for 'nmap' on the page)

    http://rubyforge.org/frs/?group_id=3D1024&release_id=3D44198


    ps. as i've mentioned to nick/tom/eric - gem syncing is, and has
    been, broken ever since the move to gemcutter. i think i'm the only
    one who seems to notice/care - but it's never worked and many, many
    gems, including this one, have been orphaned since then or, worse,
    stale versions are being served.



    cfp:~ > gem list|grep nmap
    nmap (1.1.0, 1.0.0)


    cfp:~ > gem list --remote|grep nmap
    nmap (0.1.0)
    ...


    fyi.



    On Jul 25, 10:17=A0am, botp <> wrote:
    > On Sun, Jul 25, 2010 at 11:24 PM, ara.t.howard <> w=

    rote:
    > > =A0nmap (reference ruby class which combines narray and mmap)

    >
    > this uver cool, but i am lost. is that v 1.1.0 or 0.1.0?
    > do you have gem for this?
    > best regards -botp
     
    ara.t.howard, Jul 27, 2010
    #3
  4. Re: nmap-1.1.0

    ara.t.howard wrote:
    > eeks. it's 1.1.0
    >
    > http://github.com/ahoward/nmap
    >
    > the gem is here (search for 'nmap' on the page)
    >
    > http://rubyforge.org/frs/?group_id=1024&release_id=44198


    Any idea why narray.h doesn't get found (or more to the point, why the
    narray header dir doesn't get put on the include path)?

    This is via "gem install na_str-0.1.0.gem", with the gem downloaded from
    the above link:

    Makefile:134: warning: overriding commands for target
    `/usr/local/lib/ruby/gems/1.8/gems/na_str-0.1.0/lib'
    Makefile:132: warning: ignoring old commands for target
    `/usr/local/lib/ruby/gems/1.8/gems/na_str-0.1.0/lib'
    gcc -I. -I/usr/local/lib/ruby/1.8/x86_64-linux
    -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -fPIC -g -O2 -I
    /usr/local/lib/ruby/site_ruby/1.8/x86_64-linux -c na_str.c
    na_str.c:3:20: error: narray.h: No such file or directory
    na_str.c:4:27: error: narray_config.h: No such file or directory


    The extconf.rb assumes that narray is in sitearchdir, but
    my narray is installed as a gem and its headers are at:

    /usr/local/lib/ruby/gems/1.8/gems/narray-0.5.9.7/narray.h
    /usr/local/lib/ruby/gems/1.8/gems/narray-0.5.9.7/src/narray.h

    Does anyone know how to tell extconf to look for headers in the gem dirs?
     
    Joel VanderWerf, Jul 27, 2010
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. lasek

    Nmap Malloc etc...

    lasek, Nov 4, 2004, in forum: C Programming
    Replies:
    5
    Views:
    435
    dandelion
    Nov 4, 2004
  2. Daniel Folkes

    Python Nmap Scour sP script for linux

    Daniel Folkes, Nov 28, 2007, in forum: Python
    Replies:
    0
    Views:
    713
    Daniel Folkes
    Nov 28, 2007
  3. Daniel Folkes

    Python Nmap script linux version

    Daniel Folkes, Nov 28, 2007, in forum: Python
    Replies:
    0
    Views:
    444
    Daniel Folkes
    Nov 28, 2007
  4. Ara.T.Howard
    Replies:
    19
    Views:
    177
    Chad Perrin
    Mar 2, 2007
  5. bala

    ftp nmap support in Net::FTP

    bala, Mar 25, 2005, in forum: Perl Misc
    Replies:
    6
    Views:
    117
    Matija Papec
    Mar 29, 2005
Loading...

Share This Page