[#80776] prerelease of Guis-1.3pre1 (a GTK widget server) for Ruby — Basile STARYNKEVITCH <basile@...>

Dear All,

11 messages 2003/09/01

[#80849] Simple question(s) — Michael Campbell <michael_s_campbell@...>

(I think...)

16 messages 2003/09/02

[#80870] show me the ruby way — nord ehacedod <nordehacedod@...>

This works, but there must be a more natural way to do

18 messages 2003/09/02
[#80916] Re: show me the ruby way — aero6dof@... (Alan Chen) 2003/09/02

ts <decoux@moulon.inra.fr> wrote in message news:<200309021525.h82FPkM17085@moulon.inra.fr>...

[#80918] Re: show me the ruby way — "Warren Brown" <wkb@...> 2003/09/02

alan,

[#80873] RDoc: how to turn off automatic linking for a word? — leikind@... (Yuri Leikind)

Hello all,

12 messages 2003/09/02
[#80962] Re: RDoc: how to turn off automatic linking for a word? — William Webber <wew@...> 2003/09/03

On Wed, Sep 03, 2003 at 12:32:23AM +0900, Yuri Leikind wrote:

[#81014] unknown node type 0 — Hal Fulton <hal9000@...>

Hello, all.

15 messages 2003/09/03

[#81028] webrick and ruby — ahoward <ahoward@...>

12 messages 2003/09/03

[#81057] WEBrick and mod_ruby performance — quixoticsycophant@... (Jeff Mitchell)

I've been scoping out ruby for an upcoming server project.

16 messages 2003/09/03

[#81075] Unit Tests and Encapsulation — Scott Thompson <easco@...>

This may be off-topic in a Ruby list, although I have noticed that a

18 messages 2003/09/04

[#81167] Difference between .. and ... in boolean ranges — Oliver Dain <odain2@...>

I'm a bit confused by some Ruby behavior I'm seeing with ranges. As I

12 messages 2003/09/04

[#81234] Correction: "religious" — Daniel Carrera <dcarrera@...>

It has come to my attention that the word religious can, indeed, be

12 messages 2003/09/05

[#81239] rcalc 2.0 (Ruby Calculator) — "Josef 'Jupp' Schugt" <jupp@...>

Saluton!

14 messages 2003/09/05

[#81345] ANN: MetaTags 1.0 — Ryan Pavlik <rpav@...>

MetaTags 1.0

73 messages 2003/09/08
[#81361] Re: ANN: MetaTags 1.0 — Tobias Peters <tpeters@...> 2003/09/08

Ryan Pavlik wrote:

[#81371] Re: ANN: MetaTags 1.0 — why the lucky stiff <ruby-talk@...> 2003/09/08

On Monday 08 September 2003 06:58 am, Tobias Peters wrote:

[#81384] Re: ANN: MetaTags 1.0 — Chad Fowler <chad@...> 2003/09/08

On Tue, 9 Sep 2003, why the lucky stiff wrote:

[#81386] Re: ANN: MetaTags 1.0 — dblack@... 2003/09/08

Hi --

[#81394] Re: ANN: MetaTags 1.0 — why the lucky stiff <ruby-talk@...> 2003/09/08

On Monday 08 September 2003 12:08 pm, dblack@superlink.net wrote:

[#81396] Re: ANN: MetaTags 1.0 — Hal Fulton <hal9000@...> 2003/09/08

why the lucky stiff wrote:

[#81452] Re: ANN: MetaTags 1.0 — matz@... (Yukihiro Matsumoto) 2003/09/09

Hi,

[#81454] Re: ANN: MetaTags 1.0 — Dave Thomas <Dave@...> 2003/09/09

[#81615] Re: ANN: MetaTags 1.0 — Richard Kilmer <rich@...> 2003/09/10

On Monday, September 8, 2003, at 11:59 PM, Dave Thomas wrote:

[#81374] problem with Module#append_features — Ferenc Engard <ferenc@...>

Hi all,

24 messages 2003/09/08

[#81503] Memory consumption of Ruby/mod_ruby combo on Apache — David Heinemeier Hansson <david@...>

I'm seeing memory consumption in the area of 30-35mb per Apache process

12 messages 2003/09/09
[#81504] Re: Memory consumption of Ruby/mod_ruby combo on Apache — mgarriss <mgarriss@...> 2003/09/09

David Heinemeier Hansson wrote:

[#81535] using a filter inside Ruby — Eric Schwartz <emschwar@...>

I've the contents of a raw log file in memory, and a program that will

12 messages 2003/09/09

[#81587] Fwd: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...>

Related to the recent thread about nested structs

16 messages 2003/09/10
[#81590] Re: Calling fun taking struct and not pointer to struct? — "Nathaniel Talbott" <nathaniel@...> 2003/09/10

Robert Feldt [mailto:feldt@ce.chalmers.se] wrote:

[#81594] Re: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...> 2003/09/10

Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> skrev den Wed, 10 Sep 2003 22:42:24 +0900:

[#81596] Re: Calling fun taking struct and not pointer to struct? — "Nathaniel Talbott" <nathaniel@...> 2003/09/10

Robert Feldt [mailto:feldt@ce.chalmers.se] wrote:

[#81597] Re: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...> 2003/09/10

Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> skrev den Thu, 11 Sep 2003 00:06:18 +0900:

[#81612] What *are* variables? Which are nil now? — Hugh Sasse Staff Elec Eng <hgs@...>

Reading about reflection, ObjectSpace will give you the objects in

22 messages 2003/09/10
[#81632] Re: What *are* variables? Which are nil now? — Austin Ziegler <austin@...> 2003/09/10

> raise "@b1 is nil" if @b1.nil

[#81623] Chasing a garbage collection bug — "Thomas Sondergaard" <thomas@...>

I just discovered that I have a GC related bug, or that is to say it doesn't

17 messages 2003/09/10

[#81755] Passing an Object Class from a method to a caller — "RLMuller" <RLMuller@...>

Hi All,

14 messages 2003/09/11

[#81840] Re: Dir.foreach not with patterns? — "Weirich, James" <James.Weirich@...>

I like the Dir[] form (or its "glob" alternative). I used to write

14 messages 2003/09/12
[#82500] Re: Dir.foreach not with patterns? — Jason Creighton <androflux@...> 2003/09/19

On Thu, 18 Sep 2003 15:59:25 +0100

[#81871] Duck Typing — Jim Weirich <jweirich@...>

In the Method Redefinition thread, this explanation of Duck Typing is

38 messages 2003/09/13
[#81884] Re: Duck Typing — dblack@... 2003/09/13

Hi --

[#81929] actual debian ruby packages are unuseable with tk — Ferenc Engard <ferenc@...>

Dear debian ruby package maintainers,

12 messages 2003/09/13

[#81960] Dot versus double-colon — Hal Fulton <hal9000@...>

OK, I've been thinking (always dangerous after 11 pm).

18 messages 2003/09/14

[#82012] performance and style advice requested — Alex Martelli <aleaxit@...>

I'm trying to learn some Ruby, so I want to write some Ruby code, starting

53 messages 2003/09/14
[#82028] Re: performance and style advice requested — Ben Giddings <bg-rubytalk@...> 2003/09/14

Some style advice:

[#82029] Linguistics 0.02 — Michael Granger <ged@...>

Hi fellow Rubyists,

19 messages 2003/09/14

[#82056] Test::Unit -- multiple errors in test method ??? — Johan Holmberg <holmberg@...>

14 messages 2003/09/15

[#82166] scrambler one-liner — Xavier Noria <fxn@...>

I just came across this interesting article at Slashdot that explains that

27 messages 2003/09/16

[#82206] #{} and \" don't like each other — Peter <Peter.Vanbroekhoven@...>

From the Programming Ruby book:

32 messages 2003/09/16

[#82419] wiki reccomendations — ahoward <ahoward@...>

15 messages 2003/09/18

[#82448] closing stderr — Michael Garriss <mgarriss@...>

I would like to prevent some output that is going to stderr during a

15 messages 2003/09/18

[#82547] fork not available? — walter@...

I am running windows 2000 using the PragProgs install.

14 messages 2003/09/19

[#82561] Trouble with binary files? — <agemoagemo@...>

I'm trying to write a program that will read a binary

24 messages 2003/09/19
[#82562] Re: Trouble with binary files? — Heinz Werntges <werntges@...> 2003/09/19

agemoagemo@yahoo.com wrote:

[#82583] Re: Trouble with binary files? — Tim Hammerquist <tim@...> 2003/09/19

<agemoagemo@yahoo.com> graced us by uttering:

[#82575] Article on oreilly.net on how to build Unix tools with Ruby — Xavier <NOSPAM@...>

Thought you'd like to know about this article

24 messages 2003/09/19
[#82829] Re: Article on oreilly.net on how to build Unix tools with Ruby — Paul Brannan <pbrannan@...> 2003/09/23

On Sat, Sep 20, 2003 at 06:00:21AM +0900, Xavier wrote:

[#82589] POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...>

Here's an updated version of the Ruby pop3filter that was written. This

32 messages 2003/09/20
[#82592] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

I've made more updates. Rather than just putting them here, I've created a

[#82609] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

On Sat, 20 Sep 2003 10:14:39 +0900, Austin Ziegler wrote:

[#82617] Re: POP3Filter for SoBig.F Virus: — "Shashank Date" <sdate@...> 2003/09/20

[#82618] Re: POP3Filter for SoBig.F Virus: — Gavin Sinclair <gsinclair@...> 2003/09/20

On Saturday, September 20, 2003, 9:03:18 PM, Shashank wrote:

[#82621] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

On Sat, 20 Sep 2003 22:15:40 +0900, Gavin Sinclair wrote:

[#82623] Re: POP3Filter for SoBig.F Virus: — Jose Quesada <quesadaj@...> 2003/09/20

On Sat, 20 Sep 2003 23:52:39 +0900, Austin Ziegler <austin@halostatue.ca>

[#82624] Re: POP3Filter for SoBig.F Virus: — Xavier Noria <fxn@...> 2003/09/20

On Saturday 20 September 2003 18:56, Jose Quesada wrote:

[#82632] Real emails on newsgroup version (was Re: POP3Filter) — Ben Giddings <bg-rubytalk@...> 2003/09/20

This whole worm thing brings up a question:

[#82683] Re: Real emails on newsgroup version (was Re: POP3Filter) — Dave Thomas <Dave@...> 2003/09/22

[#82661] Performance: Ruby vs Java — lalit_pant@... (Lalit Pant)

I'm a newcomer to Ruby, and thought I would write a little

18 messages 2003/09/22

[#82715] Ruby package for Linux — Jim Freeze <jim@...>

Ok, I know nothing about linux packages.

22 messages 2003/09/22

[#82832] upper to lower first letter of a word — yvon.thoravallist@... (Yvon Thoraval)

Recently, i get a vintage list (more than 500 items) with poor typo, for

30 messages 2003/09/23

[#82884] When threads block — Hans Fugal <fugalh@...>

It's difficult to do any serious multi-threaded network programming when

13 messages 2003/09/24

[#82964] Re: Prove internet package for Microsoft Internet Explorer — "Anthony Neville" <anthony.neville@...>

13 messages 2003/09/25

[#83002] TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...>

I'm trying to use TCPSocket.gethostbyname to verify that a given domain

35 messages 2003/09/25
[#83006] Re: TCPSocket.gethostbyname difficulties — Peter <Peter.Vanbroekhoven@...> 2003/09/25

> I can browse to either of those hosts, so what's different about them? Any

[#83014] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

Peter [mailto:Peter.Vanbroekhoven@cs.kuleuven.ac.be] wrote:

[#83030] Re: TCPSocket.gethostbyname difficulties — ts <decoux@...> 2003/09/26

>>>>> "N" == Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> writes:

[#83035] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

ts [mailto:decoux@moulon.inra.fr] wrote:

[#83036] Re: TCPSocket.gethostbyname difficulties — ts <decoux@...> 2003/09/26

>>>>> "N" == Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> writes:

[#83037] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

ts [mailto:decoux@moulon.inra.fr] wrote:

[#83011] Adding, removing and redefining features at runtime — "Thomas Sondergaard" <thomas@...>

I am working on an article on the subject of implementing dynamically typed

23 messages 2003/09/26

[#83105] Fwd: FW: Porting Suggestions: Lucene to Ruby; Perl Text::Balanced — Erik Hatcher <erik@...>

I was alerted about me being mentioned on ruby-talk, as I was not

12 messages 2003/09/27
[#83117] OT: alerts - was Re: Fwd: FW: Porting Suggestions: Lucene to Ruby; Perl Text::Balanced — Hal Fulton <hal9000@...> 2003/09/27

Erik Hatcher wrote:

[#83140] Thoughts on yield — nolan_d@... (Nolan J. Darilek)

I've begun working on a music-related ruby project, and recently I've

17 messages 2003/09/28

[#83223] Article on ARTIMA — Peter Hickman <peter@...>

There is the start of a series of articles on ARTIMA with Matz.

21 messages 2003/09/29

[#83310] Making == symmetric? — elbows@... (Nathan Weston)

It has always bothered me that == is not symmetric in ruby:

22 messages 2003/09/30

Re: Nested struct alignment summarized [LONG]

From: "Nathaniel Talbott" <nathaniel@...>
Date: 2003-09-11 17:11:28 UTC
List: ruby-talk #81731
Robert Feldt [mailto:feldt@ce.chalmers.se] wrote:

> Below is code to assist analysis of this. I'd be interested 
> in the output from the script on other machines and with 
> other compilers. I've run it on a PC/WinXP/Cygwin

Here are my results, as well as an updated version of the script that will
work with MSVC.


Nathaniel

<:((><


  Reporter:             Nathaniel Talbott
  Email:                nathaniel@NOSPAMtalbott.ws
  Ruby version:         1.8.0 (2003-08-04) [i386-mswin32]
  Compiler:             cl
  Version:              Microsoft Visual C++
  Build command:        cl -LD -o DLLNAME INPUTNAME -link -dll -export:o2o1
-expor
  t:i1o2 -export:i2i1 -export:o3i2
  The address diffs are [4, 4, 4, 4] for all combinations but:
  ot2 char, ot1 char: [1, 3, 4, 4]
  it2 char, it1 char: [4, 4, 1, 3]
  ot2 char, ot1 short: [2, 2, 4, 4]
  it2 char, it1 short: [4, 4, 2, 2]
  ot2 char, ot1 double: [8, 4, 4, 4]
  it1 char, ot2 double: [8, 8, 4, 4]
  it2 char, it1 double: [4, 4, 8, 8]
  ot3 char, it2 double: [4, 4, 8, 8]
  ot2 int, ot1 double: [8, 4, 4, 4]
  it1 int, ot2 double: [8, 8, 4, 4]
  it2 int, it1 double: [4, 4, 8, 8]
  ot3 int, it2 double: [4, 4, 8, 8]
  ot2 short, ot1 char: [2, 2, 4, 4]
  it2 short, it1 char: [4, 4, 2, 2]
  ot2 short, ot1 short: [2, 2, 4, 4]
  it2 short, it1 short: [4, 4, 2, 2]
  ot2 short, ot1 double: [8, 4, 4, 4]
  it1 short, ot2 double: [8, 8, 4, 4]
  it2 short, it1 double: [4, 4, 8, 8]
  ot3 short, it2 double: [4, 4, 8, 8]
  ot2 long, ot1 double: [8, 4, 4, 4]
  it1 long, ot2 double: [8, 8, 4, 4]
  it2 long, it1 double: [4, 4, 8, 8]
  ot3 long, it2 double: [4, 4, 8, 8]
  ot2 void*, ot1 double: [8, 4, 4, 4]
  it1 void*, ot2 double: [8, 8, 4, 4]
  it2 void*, it1 double: [4, 4, 8, 8]
  ot3 void*, it2 double: [4, 4, 8, 8]
  ot2 float, ot1 double: [8, 4, 4, 4]
  it1 float, ot2 double: [8, 8, 4, 4]
  it2 float, it1 double: [4, 4, 8, 8]
  ot3 float, it2 double: [4, 4, 8, 8]
  ot2 double, ot1 char: [8, 8, 4, 4]
  it1 double, ot2 char: [4, 4, 8, 8]
  it2 double, it1 char: [4, 4, 8, 8]
  ot2 double, ot1 int: [8, 8, 4, 4]
  it1 double, ot2 int: [4, 4, 8, 8]
  it2 double, it1 int: [4, 4, 8, 8]
  ot2 double, ot1 short: [8, 8, 4, 4]
  it1 double, ot2 short: [4, 4, 8, 8]
  it2 double, it1 short: [4, 4, 8, 8]
  ot2 double, ot1 long: [8, 8, 4, 4]
  it1 double, ot2 long: [4, 4, 8, 8]
  it2 double, it1 long: [4, 4, 8, 8]
  ot2 double, ot1 void*: [8, 8, 4, 4]
  it1 double, ot2 void*: [4, 4, 8, 8]
  it2 double, it1 void*: [4, 4, 8, 8]
  ot2 double, ot1 float: [8, 8, 4, 4]
  it1 double, ot2 float: [4, 4, 8, 8]
  it2 double, it1 float: [4, 4, 8, 8]
  ot2 double, ot1 double: [8, 8, 4, 4]
  it1 double, ot2 double: [8, 8, 8, 8]
  it2 double, it1 double: [4, 4, 8, 8]
  ot3 double, it2 double: [4, 4, 8, 8]

alignment.rb:

  require 'dl/import'
  require 'dl/struct'

  your_name, your_mail = ARGV[0], ARGV[1]
  compiler = ARGV[2]    || "gcc"
  MSVC = (compiler == 'cl')
  compile_cmd = ARGV[3] || (MSVC ? "-nologo -LD -o DLLNAME INPUTNAME -link
-dll -export:o2o1 -export:i1o2 -export:i2i1 -export:o3i2" : "-shared -o
DLLNAME INPUTNAME")
  version_cmd = ARGV[4] || "--version"

  class CFile
    def initialize(compiler, compileCommand, versionCommand)
      @co, @cc, @vc = compiler, compileCommand, versionCommand
      @count = 0
    end

    def compile_to_dll(dllname = "test.so", code = "", cfilename = "test.c")
      File.open(cfilename, "w") {|fh| fh.write code}
      cmd = "#{@co} #{@cc}".gsub("DLLNAME", dllname).gsub("INPUTNAME",
cfilename)
      system cmd
      File.delete cfilename
    end

    def compiler_version
      MSVC ? "Microsoft Visual C++" : `#{@co} #{@vc}`
    end

    Template = <<EOT
  typedef struct I {
    it1 i1;
    it2 i2;
  } I;

  typedef struct O {
    ot1   o1;
    ot2   o2;
    I     i;
    ot3   o3;
  } O;

  extern int o2o1() {O o; return ((int)&(o.o2)    - (int)&o.o1);}
  extern int i1o2() {O o; return ((int)&(o.i.i1)  - (int)&o.o2);} extern int
i2i1() {O o; return ((int)&(o.i.i2)  - (int)&o.i.i1);}
  extern int o3i2() {O o; return ((int)&(o.o3)    - (int)&o.i.i2);}
  EOT

    MethodNames = ["o2o1", "i1o2", "i2i1", "o3i2"]
    TypeNames = ["it1", "it2", "ot1", "ot2", "ot3"]
    DefaultTypes = Hash.new
    TypeNames.each {|n| DefaultTypes[n] = "int"}

    def address_diffs(typeAssignment = {})
      dllname = new_dllname
      compile_to_dll(dllname, create_cfile(typeAssignment))
      load_and_get_adress_diffs(dllname)
    end

    def new_dllname
      dllname = "test#{@count += 1}.dll"
    end

    def create_cfile(typeAssignment)
      ta = DefaultTypes.clone.update typeAssignment
      cfile = Template.clone
      ta.each {|n, t| cfile.gsub!(n, t)}
      cfile
    end

    def load_and_get_adress_diffs(dllname)
      dll = DL.dlopen("./" + dllname)
      MethodNames.map {|mn| dll.sym(mn, 'I').call().first}
    end
  end

  cf = CFile.new compiler, compile_cmd, version_cmd

  types = ["char", "int", "short", "long", "void*", "float", "double"]

  def all_pairs(ary)
    a, na = ary.uniq, []
    a.map {|t1| a.map {|t2| na << [t1, t2]}}
    na
  end

  report = <<EOR
  Reporter:             #{your_name}
  Email:                #{your_mail}
  Ruby version:         #{RUBY_VERSION} (#{RUBY_RELEASE_DATE})
[#{RUBY_PLATFORM}]
  Compiler:             #{compiler}
  Version:              #{cf.compiler_version}
  Build command:        #{compiler} #{compile_cmd}
  EOR

  results, counts = [], Hash.new(0)
  all_pairs(types).each do |tfrst, tsnd|
    CFile::MethodNames.each do |methodname|
      t1, t2 = methodname[0,2], methodname[2,2]
      t1[1,0] = t2[1,0] = "t"
      th = {t1 => tfrst, t2 => tsnd}
      adiffs = cf.address_diffs(th)
      results << ["#{t1} #{tfrst}, #{t2} #{tsnd}:", adiffs]
      counts[adiffs] += 1
      STDERR.print "."; STDERR.flush
    end
  end

  most_common = counts.to_a.sort {|a,b| b.last <=> a.last}.first.first

  puts
  puts
  puts report
  puts "The address diffs are #{most_common.inspect} for all combinations
but:"

  # Print the uncommon ones
  results.each {|r| puts "#{r[0]} #{r[1].inspect}" unless r[1] ==
most_common}



In This Thread