[#89088] More questions about =~ — GGarramuno@... (GGarramuno)

irb(main):006:1* class String

14 messages 2004/01/01

[#89119] Loop/Iterator questions — GGarramuno@... (GGarramuno)

1) Is there anything like Perl's continue block available? This is

15 messages 2004/01/02

[#89189] Best way to send mail in ruby — Bauduin Raphael <rb@...>

Hi,

11 messages 2004/01/03

[#89193] Simple Ruby DB apps/programs ... — Useko Netsumi <usenets@...>

I was wondering if there are some example of small Ruby(1.8.1) Database

14 messages 2004/01/03

[#89261] class Time doesn't pass year 2038? — Jean-Baptiste <temuphaey0@...>

15 messages 2004/01/05

[#89339] Compression (besides Huffman) and Ruby — "Josef 'Jupp' SCHUGT" <jupp@...>

Hi!

14 messages 2004/01/07

[#89367] Database applications and OOness — Tim Bates <tim@...>

People,

63 messages 2004/01/07
[#89455] Re: Database applications and OOness — "dhtapp" <dhtapp@...> 2004/01/08

I've been watching this thread with a great deal of interest. I'm

[#89456] block delimiting — Pete Yadlowsky <pmy@...> 2004/01/08

[#89465] Re: block delimiting — Austin Ziegler <austin@...> 2004/01/08

On Fri, 9 Jan 2004 04:33:15 +0900, Pete y wrote:

[#89453] ruby 1.8.1 windows installer — KONTRA Gergely <kgergely@...>

Hi!

26 messages 2004/01/08
[#89716] Re: ruby 1.8.1 windows installer — intc_ctor@... (Phil Tomson) 2004/01/12

>

[#89860] Re: ruby 1.8.1 windows installer — Alan Davies <NOSPAMcs96and@...> 2004/01/14

> Since the first edition of the Pickaxe book didn't exactly fly off the

[#89460] Re: block delimiting — "Mike Wilson" <wmwilson01@...>

21 messages 2004/01/08

[#89590] regex to NOT match? — Ruby Baby <ruby@...>

Sorry it seems like the smallest thing, but I'm stuck on this.

16 messages 2004/01/10

[#89611] Converting a string to an array of tokens — "John W. Long" <ws@...>

Is there a fast way to convert a string into a list of tokens?

17 messages 2004/01/11

[#89672] faster integer arithmetics & arbitrary precision floating number — David Garamond <lists@...6.isreserved.com>

1. Is there a way in Ruby to speed up 32bit integer arithmetics (only

43 messages 2004/01/12
[#89686] Re: faster integer arithmetics & arbitrary precision floating number — Ara.T.Howard@... 2004/01/12

On Tue, 13 Jan 2004, David Garamond wrote:

[#89709] Re: faster integer arithmetics & arbitrary precision floating number — Charles Mills <boson@...> 2004/01/12

What abouts Rubys design would make integer arithmetic slower than integer

[#89710] Re: faster integer arithmetics & arbitrary precision floating number — Dave Thomas <dave@...> 2004/01/12

[#89711] Re: faster integer arithmetics & arbitrary precision floating number — Charles Mills <boson@...> 2004/01/12

On Tue, 13 Jan 2004, Dave Thomas wrote:

[#89718] Getting the tail of a list? — Carsten Eckelmann <careck@...42.com>

Hi everybody,

19 messages 2004/01/12

[#89796] Ruby OS mentioned on /. — intc_ctor@... (Phil Tomson)

http://developers.slashdot.org/developers/04/01/13/0123250.shtml?tid=185&tid=190

20 messages 2004/01/13
[#89805] Re: Ruby OS mentioned on /. — Paul William <maillist@...> 2004/01/13

./ normally does not have vaporware... are a bunch of ruby (a very high

[#89806] Re: Ruby OS mentioned on /. — "Zach Dennis" <zdennis@...> 2004/01/13

Somehow i have this strange feeling that not all ruby peeps are strictly

[#89975] drb, firewall, ssh tunneling, and yield — Joel VanderWerf <vjoel@...>

14 messages 2004/01/16
[#89976] Re: drb, firewall, ssh tunneling, and yield — Nathaniel Talbott <nathaniel@...> 2004/01/16

On Jan 15, 2004, at 19:10, Joel VanderWerf wrote:

[#90013] Fighting Ruby's bad fame — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com>

Hi gurus and nubys,

42 messages 2004/01/16
[#90097] Re: Fighting Ruby's bad fame — ptkwt@... (Phil Tomson) 2004/01/18

In article <af53b0ba.0401171921.7cf9b9b7@posting.google.com>,

[#90023] Installing a program Unix-like — Malte Milatz <malteDELETETHIS@...>

Users of Linux, FreeBSD etc. are used to downloading an archive,

13 messages 2004/01/16

[#90077] long expression syntax — rick.hu@... (Rick Hu)

why do I get a syntax error for

13 messages 2004/01/17

[#90086] is Ruby the right language for these projects? — Ruby Baby <ruby@...>

Please forgive my self-centered question. I've been learning all about Ruby

16 messages 2004/01/18

[#90139] segfaults on mandrake... — Ferenc Engard <ferenc@...>

Hello,

16 messages 2004/01/18

[#90200] regex help — Chris Morris <chrismo@...>

I need a re such that:

18 messages 2004/01/19

[#90228] Re: New to Python: my impression v. Perl/Ruby — ptkwt@... (Phil Tomson)

In article <mailman.493.1074484056.12720.python-list@python.org>,

36 messages 2004/01/20
[#90292] Re: New to Python: my impression v. Perl/Ruby — Ville Vainio <ville.spamstermeister.vainio@...> 2004/01/20

>>>>> "Phil" == Phil Tomson <ptkwt@aracnet.com> writes:

[#90294] Re: New to Python: my impression v. Perl/Ruby — "Zach Dennis" <zdennis@...> 2004/01/20

Ville>Though "sending messages" to int literals is a syntax error.

[#90332] Re: New to Python: my impression v. Perl/Ruby — GGarramuno@... (GGarramuno) 2004/01/21

"Zach Dennis" <zdennis@mktec.com> wrote in message news:<AKEKIKLMCFIHPEAHKAAICEOHHFAA.zdennis@mktec.com>...

[#90333] Re: New to Python: my impression v. Perl/Ruby — Gregory Millam <walker@...> 2004/01/21

Received: Wed, 21 Jan 2004 16:59:59 +0900

[#90317] Re: Proposal for programming language of the year — "Volkmann, Mark" <Mark.Volkmann@...>

I think one of the main points of learning a new language each year is that

18 messages 2004/01/21

[#90354] Modules as namespace — gm@... (George Moschovitis)

Hello everyone,

16 messages 2004/01/21

[#90405] Very basic Ruby docs/books/tutorial? — Robert Feldt <feldt@...>

Hello,

12 messages 2004/01/22

[#90472] Ruby/Extensions v0.3 released — Gavin Sinclair <gsinclair@...>

A new version of Ruby/Extensions, a suite of useful methods added to

17 messages 2004/01/23

[#90505] Why is to_a going to be obsolete? — Patrick Bennett <patrick.bennett@...>

I find it immensely useful when dealing with arrays to be able to

25 messages 2004/01/23
[#90507] Re: Why is to_a going to be obsolete? — Gennady <gfb@...> 2004/01/23

Patrick Bennett wrote:

[#90510] Re: Why is to_a going to be obsolete? — Patrick Bennett <patrick.bennett@...> 2004/01/23

Hmmm, thanks, but it's a bit 'non-obvious' to casual Ruby programmers

[#90512] Re: Why is to_a going to be obsolete? — Gennady <gfb@...> 2004/01/23

[#90524] Re: Why is to_a going to be obsolete? — "T. Onoma" <transami@...> 2004/01/23

On Friday 23 January 2004 06:43 pm, Gennady wrote:

[#90598] perl bug File::Basename and Perl's nature — xah@... (Xah Lee)

Just bumped into another irresponsibility in perl.

19 messages 2004/01/25

[#90667] ruby-math and "why is ** not abelian?" — vanjac12@... (Van Jacques)

I was reading the 1st thread in the ruby-math discussion at

11 messages 2004/01/26

[#90750] choosing ruby? — Piergiuliano Bossi <p_bossi_AGAINST_SPAM@...>

We are on the way to start a new project, a web application with a bunch

20 messages 2004/01/27

[#90756] Editor — Safran von Twesla <me@...>

Hi,

20 messages 2004/01/27

[#90770] newbee question about "missing" hash methods +, += and << — benny <linux@...>

Hi,

25 messages 2004/01/27

[#90913] vimrc for Ruby or rubytidy — Theodore Knab <tjk@...>

Does someone have a '.vimrc' file they will share

17 messages 2004/01/29
[#90914] Re: vimrc for Ruby or rubytidy — "Gavin Sinclair" <gsinclair@...> 2004/01/29

> Does someone have a '.vimrc' file they will share

[#90971] time comparison — tony summerfelt <snowzone5@...>

i want to parse and trim a log file. the date format log file looks like:

13 messages 2004/01/29

[#91005] Ruby and Perl Integration — "John W. Long" <ws@...>

All this talk about RJNI has gotten me thinking. Has anyone attempted to

17 messages 2004/01/30
[#91007] Re: Ruby and Perl Integration — Thomas Adam <thomas_adam16@...> 2004/01/30

--- "John W. Long" <ws@johnwlong.com> wrote:

[#91056] principle of most suprise — tony summerfelt <snowzone5@...>

gah, ruby is doing it to me again:

31 messages 2004/01/30

[#91071] Accesing to private attributes — "Imobach =?iso-8859-15?q?Gonz=E1lez_Sosa?=" <imodev@...>

Hi all,

14 messages 2004/01/30

[#91088] flip flop operator and assignment — ptkwt@... (Phil Tomson)

I'm working on the pattern matching section for

25 messages 2004/01/31

[#91089] No difference between .. and ... flip/flop operators? — ptkwt@... (Phil Tomson)

50 messages 2004/01/31

[#91099] Ruby 1.8.1 REXML performance — Steven Jenkins <steven.jenkins@...>

I have a script that uses REXML to stream parse an XML file and load a

27 messages 2004/01/31

[#91104] graphics lib? — Alwin Blok <alwinblok@...>

Hello,

38 messages 2004/01/31
[#91262] Re: graphics lib? — Simon Strandgaard <neoneye@...> 2004/02/02

On Sun, 01 Feb 2004 16:18:50 -0600, Charles Comstock wrote:

[#91362] Re: graphics lib? — Charles Comstock <cc1@...> 2004/02/03

Simon Strandgaard wrote:

Re: Simple Ruby DB apps/programs ...

From: "Ara.T.Howard" <ahoward@...>
Date: 2004-01-06 16:56:45 UTC
List: ruby-talk #89321
On Tue, 6 Jan 2004, Useko Netsumi wrote:

> Date: Tue, 06 Jan 2004 00:18:42 -0500
> From: Useko Netsumi <usenets@yahoo.com>
> Reply-To: usenets_remove_this@yahoo.com
> Newsgroups: comp.lang.ruby
> Subject: Re: Simple Ruby DB apps/programs ...
> 
> Ara.T.Howard wrote:
> > On Mon, 5 Jan 2004, Useko Netsumi wrote:
> > 
> > 
> >>Date: Mon, 05 Jan 2004 19:25:27 -0500
> >>From: Useko Netsumi <usenets@yahoo.com>
> >>Reply-To: usenets_remove_this@yahoo.com
> >>Newsgroups: comp.lang.ruby
> >>Subject: Re: Simple Ruby DB apps/programs ...
> >>
> >>Carl Youngblood wrote:
> >>
> >>>Useko Netsumi wrote:
> >>>
> >>>
> >>>>I was wondering if there are some example of small Ruby(1.8.1) 
> >>>>Database Apps/Programs. Preferably using Relational Database such as 
> >>>>MySQL(4 or 5) or Oracle.
> >>>>
> >>>>I'd love to see some example of storing name(first,last), 
> >>>>address(addr1,addr2,city,zip),phone(home,work,mobile), and a photo image.
> >>>>
> >>>>It took me a while to write it in PHP but perhaps I can do it in Ruby 
> >>>>more cleanly while learning this great language.
> >>>>
> >>>>Thanks
> >>>>
> >>>>/useko
> >>>>
> >>>
> >>>My favorite DBMS for small client apps is sqlite.  No other DB comes 
> >>>close to it in terms of convenience and speed, as long as you're not 
> >>>running a distributed type of an application with hundreds of clients 
> >>>accessing the database at once.  There is no need for a database server 
> >>>at all.  All necessary code for accessing the database is compiled in, 
> >>>and databases are just plain old files.  And it is ACID-compliant. Check 
> >>>out this ruby extension for it here:
> >>>
> >>>http://sqlite-ruby.sourceforge.net/
> >>>
> >>>Carl
> >>>
> >>
> >>Thanks to all.
> >>
> >>Perhaps y'all can give me some advice. My apps are running a web photo 
> >>apps with mutiple tables in the database. I do not store the image in 
> >>the DB but just the /image/file/path and other textual information such 
> >>as location, date, time, who took the pictures, and comment fields. 
> >>User(s) can only browse, search, and list the information for now. And, 
> >>I do not expect more than 20 users accessing it at any given time. Will 
> >>it work with SQLITE? Or do I need MySQL or more advanced(more expensive) 
> >>RDBMS to handle those tasks.
> >>
> >>Thanks
> >>
> >>/useko
> >>
> > 
> > 
> > i use pstore for alot of web stuff - it works fine:
> > 
> > ~/eg/ruby > cat photo.rb 
> > require 'pstore'
> > 
> > class DB
> >   def initialize path = 'photo.db'
> >     @pstore = PStore.new path
> >   end
> >   def []= name, record 
> >     address, phone = record
> > 
> >     @pstore.transaction do
> >       @pstore[name] = [address, phone]
> >     end
> >   end
> >   def [] name
> >     @pstore.transaction(read_only = true){ @pstore[name] }
> >   end
> >   def each(&block)
> >     @pstore.transaction do
> >       @pstore.roots.each{|name| block.call(name, @pstore[name])}
> >     end
> >   end
> >   def << record
> >     first,last,addr1,addr2,city,zip,home,work,mobile = record
> >     name    = Name[first, last]
> >     address = Address[addr1,addr2,city,zip]
> >     phone   = Phone[home,work,mobile]
> >     self[name] = [address, phone]
> >   end
> > 
> >   Name    = Struct.new "Name", :first, :last
> >   Address = Struct.new "Address", :addr1, :addr2, :city, :zip
> >   Phone   = Struct.new "Phone", :home, :work, :mobile
> > 
> >   [Name, Address, Phone].each{|c| class << c; alias [] new; end}
> > end
> > 
> > if $0 == __FILE__
> >   db = DB.new
> > 
> >   records = [
> >     %w(john doe foo bar boulder 80304 1 2 3),
> >     %w(jane doe bar foo boulder 80305 3 2 1),
> >   ]
> > 
> >   records.each{|record| db << record}
> > 
> >   john = DB::Name['john', 'doe']
> >   jane = DB::Name['jane', 'doe']
> > 
> >   db.each do |name, address, phone|
> >     printf "name: %s\naddress: %s\nphone: %s\n\n", 
> >       name.inspect, address.inspect, phone.inspect
> >   end
> > 
> >   p db[john]
> >   p db[jane]
> > end
> > 
> > 
> > ~/eg/ruby > ruby photo.rb 
> > 
> > name: #<struct Struct::Name first="john", last="doe">
> > address: [#<struct Struct::Address addr1="foo", addr2="bar", city="boulder", zip="80304">, #<struct Struct::Phone home="1", work="2", mobile="3">]
> > phone: nil
> > 
> > name: #<struct Struct::Name first="jane", last="doe">
> > address: [#<struct Struct::Address addr1="bar", addr2="foo", city="boulder", zip="80305">, #<struct Struct::Phone home="3", work="2", mobile="1">]
> > phone: nil
> > 
> > [#<struct Struct::Address addr1="foo", addr2="bar", city="boulder", zip="80304">, #<struct Struct::Phone home="1", work="2", mobile="3">]
> > [#<struct Struct::Address addr1="bar", addr2="foo", city="boulder", zip="80305">, #<struct Struct::Phone home="3", work="2", mobile="1">]
> > 
> > 
> > you can obviously just store the path to the photo this way...  the thing with
> > pstore is that you can tailor the object to meet your needs: perhaps a hash
> > would be better: it's up to you.  also check out madeleine (on RAA) for this
> > purpose.
> > 
> > 
> > -a
> 
> Thanks Ara, I'll definitely will try your example above. And check out
> madeline as well.
> 

> One question though, have you tried the pstore for multi-user or this is
> mainly for single user only? 

i have used it for multi-user in house applications.  i seem to remember you
saying this was for a round 20 users or so - in which case it would be fine.
if you want more you really need to go with postgresql and 'set isolation
level serializable' or deal with transaction conflicts yourself.  pstore uses
flock so it supports single writer many reader semantics.  note that this is
the same as sqlite - it too uses flock and coarse grained locking internally.

> What happen if 2 or more user accessing the same db at the same time? Thanks

one will block.  this is generally pretty easy to deal with by simply
minimizing the amount of time you are writing to the database, for example
use:

  value = cgi['value']

  pstore.transaction do
    pstore[:key] = value
  end

vs.

  pstore.transaction do
    value = cgi['value']
    pstore[:key] = value
  end

unless you db/updates are _very_ big the time blocked will probably be about
what the connection time would be been if using a rdbms server.

and use read_only = true when possible.  note that, if you really want true
concurency your cgi script will become pretty compilcated - especially for
multi page apps which can span several minutes...  simply using mysql or
postgresql won't solve think for you.

i would reccomend this:

  * abstract the database layer as a class which get records by key, adds
    records, deletes records, etc.

  * develop your app using pstore or other embedded db

move to a db server iff throughput becomes a problem.  the ability to develop
quickly, back up your db using 'tar', move to a new server using 'scp', etc.
are real benefits - plus you do not move outside the ruby installation and
need to involve sysads (eek).  rdbms are great but sometimes a little
overkill.

you also might want to check out 'bdb' which is very good and has transaction
support.

-a
-- 

ATTN: please update your address books with address below!

===============================================================================
| EMAIL   :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
| PHONE   :: 303.497.6469
| ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328
| STP     :: http://www.ngdc.noaa.gov/stp/
| NGDC    :: http://www.ngdc.noaa.gov/
| NESDIS  :: http://www.nesdis.noaa.gov/
| NOAA    :: http://www.noaa.gov/
| US DOC  :: http://www.commerce.gov/
|
| The difference between art and science is that science is what we
| understand well enough to explain to a computer.  
| Art is everything else.  
|   -- Donald Knuth, "Discover"
|
| /bin/sh -c 'for l in ruby perl;do $l -e "print \"\x3a\x2d\x29\x0a\"";done' 
===============================================================================


In This Thread