[#340543] 64-bit Ruby for OS X ? — Greg Willits <lists@...>

Has anyone built a 64-bit Ruby for Leopard. I've googled my brains out,

15 messages 2009/07/01
[#340599] Re: 64-bit Ruby for OS X ? — Eric Hodel <drbrain@...7.net> 2009/07/01

On Jun 30, 2009, at 18:36, Greg Willits wrote:

[#340699] file.seek and unused bytes — Greg Willits <lists@...>

Ruby 1.8.6

40 messages 2009/07/03
[#340763] Re: file.seek and unused bytes — Gary Wright <gwtmp01@...> 2009/07/05

[#340764] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Gary Wright wrote:

[#340766] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/05

Greg Willits wrote:

[#340767] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Brian Candler wrote:

[#340769] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/05

Greg Willits wrote:

[#340771] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Brian Candler wrote:

[#340787] Re: file.seek and unused bytes — Robert Klemme <shortcutter@...> 2009/07/06

On 06.07.2009 00:13, Greg Willits wrote:

[#340792] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/06

Robert Klemme wrote:

[#340794] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/06

Greg Willits wrote:

[#340803] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/06

Eeek. Opened a can of worms!

[#340743] to_proc and Proc/block conversion with & — Russ McBride <russ@...>

16 messages 2009/07/05

[#340827] Help with rdoc - generate documentation for Ruby 1.9.1 Standard Library? — Bjoern <bjoerngt@...>

Hi,

15 messages 2009/07/06

[#340868] Ruby 1.8 - character encoding — Thomas Thomassen <thomas@...>

I write Ruby plugins for Google Sketchup.

23 messages 2009/07/07
[#340878] Re: Ruby 1.8 - character encoding — Gregory Brown <gregory.t.brown@...> 2009/07/07

On Tue, Jul 7, 2009 at 8:28 AM, Thomas Thomassen<thomas@thomthom.net> wrote=

[#341133] which project should I work on? — Roger Pack <rogerpack2005@...>

I was wondering on any feedback on which of the following pet projects

37 messages 2009/07/10

[#341174] Math cube root — Zangief Ief <z4n9ief@...>

Hi,

22 messages 2009/07/11

[#341177] one line sorting

Hi.

22 messages 2009/07/11

[#341178] Ruby Versions site; shell access to historical and current Rubies — "David A. Black" <dblack@...>

Hi all --

17 messages 2009/07/11
[#341188] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — Caleb Clausen <vikkous@...> 2009/07/11

On 7/11/09, David A. Black <dblack@rubypal.com> wrote:

[#341191] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — James Gray <james@...> 2009/07/11

On Jul 11, 2009, at 11:10 AM, Caleb Clausen wrote:

[#341200] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — Caleb Clausen <vikkous@...> 2009/07/11

On 7/11/09, James Gray <james@grayproductions.net> wrote:

[#341203] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — James Gray <james@...> 2009/07/11

On Jul 11, 2009, at 2:18 PM, Caleb Clausen wrote:

[#341376] a regex that does not contain comma — Sijo Kg <sijo@...>

Hi

21 messages 2009/07/14

[#341379] Twelve rules of Ruby — Panu Kinnari <panu.kinnari@...>

Scott Adams of Dilbert fame talked about learning twelve concepts of

32 messages 2009/07/14
[#341408] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Hi --

[#341412] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Not sure why they wrapped weirdly (at least on my screen), but here's

[#341423] Re: Twelve rules of Ruby — Garry Freemyer <garryfre@...> 2009/07/14

I would think that the twelve rules should be in the form of what things are, not what they are not.

[#341424] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Hi --

[#341427] Re: Twelve rules of Ruby — Marc Heiler <shevegen@...> 2009/07/14

> Objects don't "have" methods

[#341384] can't install ruby-prof 0.7.0 or superior on windows — "DG" <nospam@...>

I found windows users of 0.7.3 here but I still can't instal

10 messages 2009/07/14

[#341553] bluecloth 2.0.5 — ged@...

23 messages 2009/07/16

[#341620] regexp exclusion search - find matches NOT ending with a string? — BrendanC <brencam@...>

I have the following text in a file:

10 messages 2009/07/17

[#341692] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...>

I need to remove duplicates from an array of arrays. I can't use

24 messages 2009/07/17
[#341694] Re: [Q] removing array duplicates where a subset is unique — "David A. Black" <dblack@...> 2009/07/17

Hi --

[#341697] Re: [Q] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...> 2009/07/17

[#341699] Re: [Q] removing array duplicates where a subset is unique — "David A. Black" <dblack@...> 2009/07/18

Hi --

[#341709] Re: [Q] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...> 2009/07/18

[#341784] Re: removing array duplicates where a subset is unique — 7stud -- <bbxx789_05ss@...> 2009/07/19

Chuck Remes wrote:

[#341722] Problems with gems and Ruby 1.8.7 — Henrique Testa <hgtesta@...>

Hi all,

20 messages 2009/07/18

[#341814] Do you program in any other language except for ruby? — Milan Dobrota <elitecoding@...>

And what are they? :)

28 messages 2009/07/20

[#341837] ruby IDE's — Sunil Kumar <sunil.muki@...>

Hi This is sunil..

60 messages 2009/07/20
[#341839] Re: ruby IDE's — Tom Cloyd <tomcloyd@...> 2009/07/20

Sunil Kumar wrote:

[#341841] Re: ruby IDE's — Wesley Chen <cjq.999@...> 2009/07/20

I don't agree the guy Tom.

[#341901] Re: ruby IDE's — marc <gmane@...> 2009/07/20

James Britt wrote:

[#341918] Re: ruby IDE's — Tom Cloyd <tomcloyd@...> 2009/07/20

marc wrote:

[#342011] Re: ruby IDE's — Robert Dober <robert.dober@...> 2009/07/21

On 7/20/09, Tom Cloyd <tomcloyd@comcast.net> wrote:

[#342017] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/21

I have Netbeans 6.7 on the Mac Os X platform and its quite an ordeal to get it to install gems without putting it in the wrong directory because it executes installation that requires installation using sudo and does not prompt for the password, so stuff gets installed in the wrong directory.

[#342097] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 9:09 AM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342109] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

Well, take the last two lines J2SE 5.0 J2SE 1.4.2

[#342114] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 7:35 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342116] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

I am surprised to see sarcasm in this mailing list, or maybe I am just disappointed.

[#342117] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 8:32 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342118] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

I know what ruby is. I don't know what programs are included in the nebulous mass of programs that come under J2SE heading.

[#342119] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 8:50 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#341906] including newlines in a .sub — Alan Munn <amunn@...>

Hi, I'm new to ruby, and am having trouble with the following (\n is

12 messages 2009/07/20

[#341950] Byte窶都tream parsing in Ruby — Elliott Cable <me@...>

So, I’ve a problem. I’m using ncurses (or possibly not, might just

14 messages 2009/07/21
[#341979] Re: Byte窶都tream parsing in Ruby — Brian Candler <b.candler@...> 2009/07/21

Elliott Cable wrote:

[#342062] Re: Byte窶都tream parsing in Ruby — Elliott Cable <me@...> 2009/07/21

Brian Candler wrote:

[#341968] Mean method — "Älphä Blüë" <jdezenzio@...>

I'm working on a lot of math in my projects so I thought I would convert

19 messages 2009/07/21

[#341969] Ruby/Oracle connectivity — Dheeraj Gambhir <checktestingthings@...>

Hi All,

19 messages 2009/07/21

[#342013] String spliting and inclusion — Stuart Clarke <stuart.clarke1986@...>

Hi all,

17 messages 2009/07/21

[#342113] Best gem to parse Ruby with? — Tony Arcieri <tony@...>

I've been considering rewriting my require_all gem:

14 messages 2009/07/22
[#342115] Re: Best gem to parse Ruby with? — Caleb Clausen <vikkous@...> 2009/07/22

On 7/21/09, Tony Arcieri <tony@medioh.com> wrote:

[#342185] Instantiating classes / sharing data between classes — Trevoke <trevoke@...>

I think this is what I want to do (maybe I'm thinking about it wrong):

12 messages 2009/07/22

[#342287] splitting............. — Hunt Hunt <aksn18july@...>

Hi Friends,

14 messages 2009/07/23

[#342347] Watching a website for periodic outages — Glen Holcomb <damnbigman@...>

I'm needing to monitor a web application for periodic outages and log the

14 messages 2009/07/23

[#342453] using until — Lloyd Linklater <lloyd@2live4.com>

I am writing a little thing to find all the prime numbers to a million.

17 messages 2009/07/24

[#342573] What is the power function — Prateek Agarwal <prateek.agwl@...>

I am new to Ruby and am still learning some of the basic stuff.

17 messages 2009/07/27

[#342618] Posting an XML document to a protected API — Maruthy Mentireddi <maruthymukund@...>

I am working on the FrontEnd of a website and need to make a RESTful

10 messages 2009/07/28

[#342646] Good way to not forget to install gems on a server? — Max Williams <toastkid.williams@...>

I just broke my wife's website (my current side project) because i was

12 messages 2009/07/28

[#342725] previous value in array block — Jason Lillywhite <jason.lillywhite@...>

Is this a good way to use a previous value in an array block?

20 messages 2009/07/29
[#342731] Re: previous value in array block — Harry Kakueki <list.push@...> 2009/07/29

>

[#342734] Re: previous value in array block — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/07/29

On Wed, Jul 29, 2009 at 8:18 AM, Harry Kakueki<list.push@gmail.com> wrote:

[#342737] Re: previous value in array block — Xavier Noria <fxn@...> 2009/07/29

each_cons seems natural here:

[#342781] java.text api parallel in Ruby — Venkat Akkineni <venkatram.akkineni@...>

Hi

13 messages 2009/07/29
[#342810] Re: java.text api parallel in Ruby — Robert Klemme <shortcutter@...> 2009/07/30

On 30.07.2009 00:32, Venkat Akkineni wrote:

[#342806] How Come Ruby is Text-Oriented? — Mike Stephens <rubfor@...>

I've just been re-reading Byte August 1981 - an edition dedicated to

46 messages 2009/07/30

[#342865] how to stop the subclass from overriding a method. — Venkat Akkineni <venkatram.akkineni@...>

Hi

12 messages 2009/07/30

[#342952] Ruby-net-ldap fail — Bruno Sousa <brgsousa@...>

Hi,

12 messages 2009/07/31

Re: [QUIZ] Plot the Shape (#211)

From: Chris Howe <chris@...>
Date: 2009-07-01 16:38:19 UTC
List: ruby-talk #340579
Here is my solution. On average, for a 10x10 grid with a 10 sized shape, it
will plot the shape in about 31.7 guesses. If you change the neighbors
definition to exclude diagonals, it does it in around 24 guesses.  Worst
case scenario is of course the size of the grid.

I spent a fair amount of effort trying to collect statistical information
about the shapes I am generating, but experiments have shown that even
though there is a certain amount of non-uniformity in the distribution
across the board, it is not enough to gain a significant advantage in the
total number of guesses (probably less than a half a guess.)

--Chris

# The Shape class accomplishes a couple of things.
# First, it randomly generates shapes and provides some
# accounting, keeping track of how many lookups one does.

# Next, it acts as a kind of geometry manager for the board.
# (each, each_neighbors, get_neighbors. Changing the definition
# of each_neighbors can change the rules for what it means for
# squares to be adjacent.

# Finally, it keeps track of occupancy statistics for the board
# over successive regenerations of the shape.
class Shape
 attr_reader :h,:w,:l,:count
 def initialize(hh = 10, ww = 10, ll = 10)
  @h,@w,@l=hh,ww,ll #height,width, shape size
  @regens = @count = 0 #number of times shape generated, times dereferenced

  @stats = [] #used to count frequency of occupancy

  # seed the stats array with all 1s.
  h.times { |y| @stats[y] = [ 1 ] * w }
  @regens = h*w/(1.0 * l)
  rebuild
 end

 def each_neighbors(xxx,yyy=nil)
  if xxx.kind_of?( Array ) then
   x,y = xxx[0],xxx[1]
  else
   x,y = xxx,yyy
  end
  lowx,hix = [x-1,0].max, [x+1,w-1].min
  lowy,hiy = [y-1,0].max, [y+1,h-1].min
  (lowy..hiy).each do |yy|
   (lowx..hix).each do |xx|
    yield([xx,yy]) unless x==xx and y==yy
   end
  end
 end

 def get_neighbors(x,y=nil)
  result = []
  each_neighbors(x,y) do |coords|
   result.push(coords)
  end
  return result
 end

 def each
  h.times { |y| w.times { |x| yield [x,y] } }
 end

 def rebuild()
  @regens += 1 #increment the build count
  @count = 0 #clear the deref count

 #initialize board to contain only spaces
  @board=[]
  h.times { |y| @board[y] = [" "] * w  }

  neighbors = []
  shape = []

  l.times do
   if neighbors.length == 0 then
    # first piece - place it anywhere
    x,y = [w,h].map {|z| (rand*z).to_i}
   else
    # subsequent pieces - pick a random neighbor
    x,y = neighbors[ (rand * neighbors.length).to_i ]
   end
   @board[y][x] = "@" #mark occupancy
   @stats[y][x] += 1  #track occupancy

   shape |= [ [x,y] ] # add choice to list of shape coords

   # update neigbors
   neighbors -= [[x,y]]
   neighbors |= get_neighbors(x,y) - shape
  end
  return self
 end

 def to_s
  return @board.map { |x| x.join "" }.join("\n") + "\nTotal Lookups:
#{@count}\n"
 end

 def [](xx,yy=nil)
  if xx.kind_of?(Array) then
   x,y = xx[0],xx[1]
  else
   x,y = xx,yy
  end
  @count += 1
  return @board[y][x]
 end

 def stats
  norm_stats = []
  h.times do |y|
   norm_stats[y] = []
   w.times do |x|
    # correct stats for rotation and reflection symmetry
    norm_stats[y][x] = (@stats[y][x] + @stats[-y-1][x] + @stats[-y-1][-x-1]
+ @stats[y][-x-1] + @stats[x][y] + @stats[-x-1][y] + @stats[-x-1][-y-1] +
@stats[x][-y-1])/(8.0*@regens)
   end
  end
  return norm_stats
 end

 def statstring
  return stats.map { |y| y.map { |x| "%0.3f" % x}.join(" ") }.join("\n")
 end
end

class ShapePlot
 def initialize(r = Shape.new, c=0)
  @shape = r
  c.times {@shape.rebuild}
  @stats = @shape.stats
  @plays = 0
  @count = 0
  reset
 end

 def reset
  @guesses = []
  @members = []
  @neighbors = []
  @choices = []
  @shape.each { |coords| @choices << coords }
 end

 def to_s
  board = []
  @shape.each { |x,y| @shape.h.times { |y| board[y] = [ " " ] * @shape.w  }}
  @neighbors.each { |x,y| board[y][x] = "." }
  @guesses.each { |x,y| board[y][x] = "x" }
  @members.each { |x,y| board[y][x] = "@" }
  header = "+" + ("-"*(@shape.w*2-1)) + "+\n"
  return header + "|" + board.map{|x| x.join(" ")}.join("|\n|") + "|\n" +
header
 end

 def choose_random(p_list)
   sum = 0
   #choose from among the choices, probibilistiacally, weighted by
   #the occupation probabilities
   p_list.each { |p,c| sum += p }
   r = rand * sum
   p_list.each do |p,c|
     r -= p
     return c if r <= 0
   end

   # shouldnt ever be here, but return the last one anyway
   puts "BAAAAD"
   puts p_list
   puts @shape
   return p_list[-1][1]
 end

 def build_weighted(list)
  return list.map {|x| [ @stats[x[1]][x[0]], x ]}
 end

 def guess_none_known
  return choose_random( build_weighted( @choices ) )
 end

 def guess_some_known
  choices = @neighbors - @guesses
  return choose_random( build_weighted( choices ) )
 end

 def found_a_hit(coords)
  # update the members of the shape
  @members += [ coords ]
  x,y=coords
  # calculate the neigbors of the new piece
  @neighbors += @shape.get_neighbors(x,y)
  # the intersection of @members and @neighbors should be empty, but
  # we are subtracting out @guesses, which includes all @members when
  # we go to pick a choice list anyway...
 end

 def guess
  #choose a square to look at
  # if we know some part of the shape is known, restrict guesses
  # to neighbors of the stuff we know
  #if we dont know any of them yet, choose from the whole board
  x,y = coords = (@members.length > 0 ? guess_some_known : guess_none_known)
  @guesses += [coords]
  @choices -= [coords]
  if @shape[x,y]=="@" then
   found_a_hit(coords)
  end
 end

 def play( draw = false)
  reset

  # upldate statistics before we update the shape
  @stats = @shape.stats
  @shape.rebuild
  while @members.length < @shape.l
   guess
   puts self if draw
  end

  @plays +=1
  @count += @shape.count
  return @shape.count
 end

 def report
  mean = @count / (1.0 * @plays)
  puts "After #{@plays} plays, the mean score is: #{mean}"
 end
end

q = ShapePlot.new
q.play(true)
999.times { q.play }
q.report

In This Thread