Discussion:
What tools do you use?
Bryan Dollery
2002-09-27 04:57:00 UTC
Permalink
Hi,

I'm interested in finding out what tools java developers use daily. My poll
of the group last year, whilst being only a small sample, revealed that
around 50% of those that responded are using java.

So, people are using what?

I'm interested in short lists - here's mine:

IntelliJ Idea 3/Ariadne
ANT
JUnit
JUnit-Addons
Canoo
Tomcat
Jakarta Struts
Jakarta OJB
MySQL
CruiseControl
XDoclet

Whilst I use a lot of others, I've been using mainly these solidly for the
past couple of weeks. How about you?

Cheers,

Bryan

b r y a n d o l l e r y
c h a o s e n g i n e e r s
www.ChaosEngineers.co.nz
+64 (0)21 330607


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Andrew McDonagh
2002-09-27 10:33:57 UTC
Permalink
Mine...

TogetherSoft Solo 6
ANT
JUnit (sadly not enough as we aren't an XP house, I'm just starting to
introduce the concepts here.)
MySQL

Bryan, what about SCMs?

we use: MKS Source Integrity (its dire!)

Andy

-----Original Message-----
From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
Sent: 27 September 2002 05:57
To: XP Group
Subject: [XP] What tools do you use?


Hi,

I'm interested in finding out what tools java developers use daily. My poll
of the group last year, whilst being only a small sample, revealed that
around 50% of those that responded are using java.

So, people are using what?

I'm interested in short lists - here's mine:

IntelliJ Idea 3/Ariadne
ANT
JUnit
JUnit-Addons
Canoo
Tomcat
Jakarta Struts
Jakarta OJB
MySQL
CruiseControl
XDoclet

Whilst I use a lot of others, I've been using mainly these solidly for the
past couple of weeks. How about you?

Cheers,

Bryan

b r y a n d o l l e r y
c h a o s e n g i n e e r s
www.ChaosEngineers.co.nz
+64 (0)21 330607


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to:
extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-09-27 11:43:20 UTC
Permalink
Hi Andrew,
> Bryan, what about SCMs?

Good question.

> we use: MKS Source Integrity (its dire!)

I use CVS, and WinCVS - I get the feeling that I'm using about 10% of it's
abilities, but that the learning curve is too high for me to increase it.

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kari Hoijarvi
2002-09-27 16:10:12 UTC
Permalink
Hi Bryan:

Switch to TortoiseCVS. It integrates directly with Windows Explorer, you'll
see modified files with red icons. You can't do everything with it, but
daily operations are all there. You'll switch back only if you need to do an
esoteric operation that Tortoise does not support.

Kari

-----Original Message-----
From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]


I use CVS, and WinCVS - I get the feeling that I'm using about 10% of it's
abilities, but that the learning curve is too high for me to increase it.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-09-28 20:49:35 UTC
Permalink
So said Kari Hoijarvi on 2002-09-27

>Hi Bryan:
>
>Switch to TortoiseCVS. It integrates directly with Windows Explorer,
you'll
>see modified files with red icons. You can't do everything with it,
but
>daily operations are all there. You'll switch back only if you need to
do
>an
>esoteric operation that Tortoise does not support.

Wicked. I've wanted a tool like that since I stopped using CSRCS.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Shaun Smith
2002-09-27 11:09:51 UTC
Permalink
Over the last couple of weeks?

JDK1.4
Netbeans 3.3.1
RefactorIT
SQL Server
ANT
JUnit
Ruby 1.6.7
RubyUnit

Regards,
Shaun.


> -----Original Message-----
> From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
> Sent: 27 September 2002 05:57
> To: XP Group
> Subject: [XP] What tools do you use?
>
>
> Hi,
>
> I'm interested in finding out what tools java developers use
> daily. My poll of the group last year, whilst being only a
> small sample, revealed that around 50% of those that
> responded are using java.
>
> So, people are using what?
>
> I'm interested in short lists - here's mine:
>
> IntelliJ Idea 3/Ariadne
> ANT
> JUnit
> JUnit-Addons
> Canoo
> Tomcat
> Jakarta Struts
> Jakarta OJB
> MySQL
> CruiseControl
> XDoclet
>
> Whilst I use a lot of others, I've been using mainly these
> solidly for the past couple of weeks. How about you?
>
> Cheers,
>
> Bryan
>
> b r y a n d o l l e r y
> c h a o s e n g i n e e r s
> www.ChaosEngineers.co.nz
> +64 (0)21 330607
>
>
> To Post a message, send it to: ***@eGroups.com
>
> To Unsubscribe, send a blank message to:
> extremeprogramming-***@eGroups.com
>
> ad-free courtesy of objectmentor.com
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Adam
2002-09-27 11:41:40 UTC
Permalink
jdk 1.4.1
eclypse 2.0.1
ant
junit


adam


[Non-text portions of this message have been removed]


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Brekke, Jeff
2002-09-27 12:42:19 UTC
Permalink
Our team is using:

Eclipse, Emacs, FTE
Jakarta Turbine/Torque
Jakarta Velocity
Jakarta Maven
Jakarta Ant
Jakarta Oro
Jakarta RegExp
Jakarta Log4J
Jakarta Tomcat
Jakarta Commons Net,Util,Lang,Collections,JRCS
CruiseControl
Jdepend
JunitPerf
Junit
HttpUnit
EasyMock
MockObjects
iText
Sybase ( Jconnect )
Village ( http://share.whichever.com )

=================================================================
Jeffrey D. Brekke Quad/Graphics
***@qg.com http://www.qg.com


> -----Original Message-----
> From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
> Sent: Thursday, September 26, 2002 11:57 PM
> To: XP Group
> Subject: [XP] What tools do you use?
>
>
> Hi,
>
> I'm interested in finding out what tools java developers use
> daily. My poll
> of the group last year, whilst being only a small sample,
> revealed that
> around 50% of those that responded are using java.
>
> So, people are using what?
>
> I'm interested in short lists - here's mine:
>
> IntelliJ Idea 3/Ariadne
> ANT
> JUnit
> JUnit-Addons
> Canoo
> Tomcat
> Jakarta Struts
> Jakarta OJB
> MySQL
> CruiseControl
> XDoclet
>
> Whilst I use a lot of others, I've been using mainly these
> solidly for the
> past couple of weeks. How about you?
>
> Cheers,
>
> Bryan
>
> b r y a n d o l l e r y
> c h a o s e n g i n e e r s
> www.ChaosEngineers.co.nz
> +64 (0)21 330607
>
>
> To Post a message, send it to: ***@eGroups.com
>
> To Unsubscribe, send a blank message to:
> extremeprogramming-***@eGroups.com
>
> ad-free courtesy of objectmentor.com
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dave Astels
2002-09-27 12:29:32 UTC
Permalink
This post might be inappropriate. Click to display it.
Bryan Dollery
2002-09-27 13:24:25 UTC
Permalink
Hi Dave,
> Since most of my code at the moment is going into my book, I'll throw
> in:
> LaTeX
> dvips
> ps2pdf
> make

What book?

B

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dave Astels
2002-09-27 15:27:53 UTC
Permalink
On Fri, 2002-09-27 at 10:24, Bryan Dollery wrote:

Hi Dave,
> Since most of my code at the moment is going into my book, I'll throw
> in:
> LaTeX
> dvips
> ps2pdf
> make

What book?

Oh.. TDD using Java, very applied, hands-on, practical, etc. working
title is "A Practical Guide to Test-driven Development".

And oh.. throw GIMP into that list of tools. And a multitude of other
bits & pieces.. both for development and writing.

Dave

________________________________________________________________________
Dave Astels
Coauthor of "A Practical Guide to XP"
Editor of the Test-Driven Development Edition of The Coad Letter
CEO & Master Software Craftsman

An Agile Software Studio


[Non-text portions of this message have been removed]


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-09-27 17:14:31 UTC
Permalink
Hi Dave,
> > Since most of my code at the moment is going into my book,
> What book?
>
> Oh.. TDD using Java, very applied, hands-on, practical, etc. working
> title is "A Practical Guide to Test-driven Development".

Nice - do we have to wait until it's finished to get access to your wisdom?

;-)

I've just got the go-ahead from Sams for a big book which we're calling:

Extreme Programming with Java

it'll have a subtitle, something like:

[ANT, JUnit & Friends, Tomcat, OJB, AspectJ, CruiseControl, and others]

although I prefer:

Extreme Programming with Java: An open-source odyssey

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dave Astels
2002-09-27 18:17:08 UTC
Permalink
On Fri, 2002-09-27 at 14:14, Bryan Dollery wrote:

Hi Dave,
> > Since most of my code at the moment is going into my book,
> What book?
>
> Oh.. TDD using Java, very applied, hands-on, practical, etc. working
> title is "A Practical Guide to Test-driven Development".

Nice - do we have to wait until it's finished to get access to your wisdom?

Well, you can get bite sized pieces from the TDD Coad letter... for
which I'm using some excerpts from the book, early versions of chapters,
etc. My editor wants to keep it close to the chest... I might be able
to convince him otherwise.

I've just got the go-ahead from Sams for a big book which we're calling:

What's "big"?

Extreme Programming with Java

it'll have a subtitle, something like:

[ANT, JUnit & Friends, Tomcat, OJB, AspectJ, CruiseControl, and others]

although I prefer:

Extreme Programming with Java: An open-source odyssey

Ya.. I like the latter. Sounds good. I look forward to it.

Take care

Dave

BTW, my inlaws just left with friends of theirs from NZ.. Tapinui area.

________________________________________________________________________
Dave Astels
Coauthor of "A Practical Guide to XP"
Editor of the Test-Driven Development Edition of The Coad Letter
CEO & Master Software Craftsman

An Agile Software Studio


[Non-text portions of this message have been removed]


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Mark Derricutt
2002-09-30 12:22:19 UTC
Permalink
Any online previews of the book for comment?

--On Friday, September 27, 2002 12:27:53 -0300 Dave Astels
<***@saorsa.com> wrote:

> Oh.. TDD using Java, very applied, hands-on, practical, etc. working
> title is "A Practical Guide to Test-driven Development".



-- \m/ --
"...if I seem super human I have been misunderstood." (c) Dream Theater
***@talios.com - ICQ: 1934853 JID: ***@myjabber.net


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dave Astels
2002-09-30 16:57:59 UTC
Permalink
On Mon, 2002-09-30 at 09:22, Mark Derricutt wrote:
Any online previews of the book for comment?

Sorry, nothing public yet.

Dave
--
Dave Astels (***@saorsa.com)
Coauthor of "A Practical Guide to XP"
Editor of the Test-Driven Development Edition of The Coad Letter
(subscribe at www.thecoadletter.com)
CEO & Master Software Craftsman, Saorsa Development Inc.
www.saorsa.com
"An Agile Software Studio"


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Tim Moore
2002-09-27 17:10:27 UTC
Permalink
Oh boy.

JDK 1.3.1 and 1.4.1
Eclipse 2.0.1
Cygwin
Ant
JUnit
Tomcat 3.3.1 and 4.1.12
IIS 5
Apache 1.3.26
MS SQL Server 2000
Oracle 9
Struts 1.0.2
Xerces
OptimizeIt 4.02
Visual SourceSafe (NOT recommended! :-P)
PVCS Tracker (not a big fan of this either)
Castor XML (or this)


There are probably some others in there too that I'm not even
consciously aware of heheh.
--
Tim Moore / Blackboard Inc. / Software Engineer
1899 L Street, NW / 5th Floor / Washington, DC 20036
Phone 202-463-4860 ext. 258 / Fax 202-463-4863


> -----Original Message-----
> From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
> Sent: Friday, September 27, 2002 12:57 AM
> To: XP Group
> Subject: [XP] What tools do you use?
>
>
> Hi,
>
> I'm interested in finding out what tools java developers use
> daily. My poll of the group last year, whilst being only a
> small sample, revealed that around 50% of those that
> responded are using java.
>
> So, people are using what?
>
> I'm interested in short lists - here's mine:
>
> IntelliJ Idea 3/Ariadne
> ANT
> JUnit
> JUnit-Addons
> Canoo
> Tomcat
> Jakarta Struts
> Jakarta OJB
> MySQL
> CruiseControl
> XDoclet
>
> Whilst I use a lot of others, I've been using mainly these
> solidly for the past couple of weeks. How about you?
>
> Cheers,
>
> Bryan
>
> b r y a n d o l l e r y
> c h a o s e n g i n e e r s
> www.ChaosEngineers.co.nz
> +64 (0)21 330607

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
John Brewer
2002-09-27 21:37:36 UTC
Permalink
--- In ***@y..., "Bryan Dollery" <***@C...>
wrote:
> I'm interested in finding out what tools java developers use daily.

See my tech note: "Some Useful Free Software for Java Developers"

http://www.jera.com/techinfo/jtns/jtn001.html

John Brewer
Jera Design

Extreme Programming FAQ: http://www.jera.com/techinfo/xpfaq.html


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dossy
2002-09-28 08:07:20 UTC
Permalink
On 2002.09.27, Bryan Dollery <***@ChaosEngineers.co.nz> wrote:
> I'm interested in finding out what tools java developers use daily. My poll
> of the group last year, whilst being only a small sample, revealed that
> around 50% of those that responded are using java.
>
> So, people are using what?
>
> I'm interested in short lists - here's mine:

Vignette V/5
Vim 6
Tcl 7.6, Tcl 8.x
Ruby 1.6
Perl 5.6
Netscape Enterprise Server
Oracle 8i

No particular order, really.

Glad to say that Java appears nowhere on the list. Glory be and
halleluja!

-- Dossy

--
Dossy Shiobara mail: ***@panoptic.com
Panoptic Computer Network web: http://www.panoptic.com/
"He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
c***@cdegroot.com
2002-09-28 13:52:44 UTC
Permalink
>> I'm interested in short lists - here's mine:
>
Why are all these Java lists so long? Here's mine:

VisualWorks Smalltalk 7
OmniBase

--
Cees de Groot http://www.cdegroot.com <***@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Cogito ergo evigilo

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dave Astels
2002-09-28 14:32:07 UTC
Permalink
On Sat, 2002-09-28 at 10:52, ***@cdegroot.com wrote:

>> I'm interested in short lists - here's mine:
>
Why are all these Java lists so long? Here's mine:

VisualWorks Smalltalk 7
OmniBase


Ah. that's because VisualWorks includes pretty much everything you
could want... esp. 7 as the refactoring browser is standard.

So.. you don't use any other goodies?

I'm fondly dreaming of when I have a chance to work in Smalltalk again
:)

Dave

________________________________________________________________________
Dave Astels
Coauthor of "A Practical Guide to XP"
Editor of the Test-Driven Development Edition of The Coad Letter
CEO & Master Software Craftsman

An Agile Software Studio


[Non-text portions of this message have been removed]


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-09-29 03:47:38 UTC
Permalink
Hi Cees,

> >> I'm interested in short lists - here's mine:
> >
> Why are all these Java lists so long? Here's mine:

I don't know, but...

> VisualWorks Smalltalk 7
> OmniBase

perhaps if Smalltalk's list were longer, it'd be a more popular language.

Cheers,

Bryan
<troll troll troll troll - let the flames begin>

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-09-28 20:44:37 UTC
Permalink
So said Bryan Dollery on 2002-09-27

>Hi,
>
>I'm interested in finding out what tools java developers use daily. My
poll
>of the group last year, whilst being only a small sample, revealed
that
>around 50% of those that responded are using java.
>
>So, people are using what?
>
>I'm interested in short lists - here's mine:
>
>IntelliJ Idea 3/Ariadne
>ANT
>JUnit
>JUnit-Addons
>Canoo
>Tomcat
>Jakarta Struts
>Jakarta OJB
>MySQL
>CruiseControl
>XDoclet
>
>Whilst I use a lot of others, I've been using mainly these solidly for
the
>past couple of weeks. How about you?

jEdit
Eclipse
HTMLUnit
Prevayler
Jakarta Turbine

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-09-29 03:55:18 UTC
Permalink
Hiya,

J. B. Rainsberger seemed to write

> Prevayler

What's that?

B

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Lucas Persona
2002-09-30 12:31:35 UTC
Permalink
Bryan Dollery wrote:
> > Prevayler
> What's that?

>From http://www.prevayler.org :
Transparent Persistence for Java


--
Lucas

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-09-30 14:17:31 UTC
Permalink
Hi Lucas,

> > > Prevayler
> > What's that?
>
> From http://www.prevayler.org :
> Transparent Persistence for Java

Thanks - I've just reviewed the site. I don't think that I'm quite ready
for that level of extremity just yet!

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-09-30 21:52:01 UTC
Permalink
So said Bryan Dollery on 2002-10-01

>Hi Lucas,
>
>> > > Prevayler
>> > What's that?
>>
>> From http://www.prevayler.org :
>> Transparent Persistence for Java
>
>Thanks - I've just reviewed the site. I don't think that I'm quite
ready
>for that level of extremity just yet!

But Bryan... it's beautiful! I love it!

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Andrew McDonagh
2002-10-01 08:12:44 UTC
Permalink
Hi Bryan,

I take it the VM's heap size limits don't impact your projects then, or is
there any way around this limitation (I won't say flaw, as its not
Prevaler's fault).

Andy
-----Original Message-----
From: J. B. Rainsberger [mailto:***@diasparsoftware.com]
Sent: 30 September 2002 22:52
To: ***@yahoogroups.com
Subject: RE: [XP] What tools do you use?


So said Bryan Dollery on 2002-10-01

>Hi Lucas,
>
>> > > Prevayler
>> > What's that?
>>
>> From http://www.prevayler.org :
>> Transparent Persistence for Java
>
>Thanks - I've just reviewed the site. I don't think that I'm quite
ready
>for that level of extremity just yet!

But Bryan... it's beautiful! I love it!

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to:
extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-10-01 08:54:40 UTC
Permalink
Hi Andrew,

> Hi Bryan,
>
> I take it the VM's heap size limits don't impact your projects
> then, or is
> there any way around this limitation (I won't say flaw, as its not
> Prevaler's fault).
>

I think that you've misattributed the OP as mine, rather than JBs. I have
absolutely no intent of ever running such a useless piece of software.

Cheers,

Bryan

My new sig:
The opinions unleashed here are those of an opinionated, bigoted, bastard.
Anyone mistaking them for something else is terminally stupid.

;->


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Stefan Schmiedl
2002-10-01 17:13:32 UTC
Permalink
Hi Bryan,

you might want to read a little bit of comp.lang.lisp
where you can watch a *real* master do his job.

s.


Bryan Dollery (2002-10-01 20:54):

>
> My new sig:
> The opinions unleashed here are those of an opinionated, bigoted, bastard.
> Anyone mistaking them for something else is terminally stupid.
>

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
mgesphion
2002-10-22 02:48:17 UTC
Permalink
Bryan,

You an opinionated, bigoted bastard. I find your articles and view
extremely objective and friendly.

Kind regards,

Santa (aka Michael J)

--- In ***@y..., "Bryan Dollery" <***@C...>
wrote:
> Hi Andrew,
>
> > Hi Bryan,
> >
> > I take it the VM's heap size limits don't impact your projects
> > then, or is
> > there any way around this limitation (I won't say flaw, as its not
> > Prevaler's fault).
> >
>
> I think that you've misattributed the OP as mine, rather than JBs. I
have
> absolutely no intent of ever running such a useless piece of software.
>
> Cheers,
>
> Bryan
>
> My new sig:
> The opinions unleashed here are those of an opinionated, bigoted,
bastard.
> Anyone mistaking them for something else is terminally stupid.
>
> ;->


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-04 21:45:21 UTC
Permalink
So said Andrew McDonagh on 2002-10-01

>Hi Bryan,
>
>I take it the VM's heap size limits don't impact your projects then,
or is
>there any way around this limitation (I won't say flaw, as its not
>Prevaler's fault).
>
>Andy

Actually, Andy, it was I who was enthusiastic about Prevayler, and I
must admit that I have not yet run into that boundary yet. I would be
surprised to learn that Prevayler doesn't have some documentation to
deal with that particular issue.

I'm not an expert on the JVM itself. What you say seems to suggest that
the VM is incapable of using all available physical memory in a
machine. Is that so? If so, then I did not know that and therefore
there is a definite limit to Prevayler's capability as a replacement
for "offline" persistence. I ought to keep that in mind.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 19:27:11 UTC
Permalink
--- "J. B. Rainsberger" wrote:

> >I take it the VM's heap size limits don't impact your projects
then,
> or is
> >there any way around this limitation (I won't say flaw, as its not
> >Prevaler's fault).
>
> Actually, Andy, it was I who was enthusiastic about Prevayler, and I
> must admit that I have not yet run into that boundary yet. I would
be
> surprised to learn that Prevayler doesn't have some documentation to
> deal with that particular issue.

See:
http://www.prevayler.org/wiki.jsp?topic=PrevalentHypothesis

>
> I'm not an expert on the JVM itself. What you say seems to suggest
that
> the VM is incapable of using all available physical memory in a
> machine. Is that so? If so, then I did not know that and therefore
> there is a definite limit to Prevayler's capability as a replacement
> for "offline" persistence. I ought to keep that in mind.

32bit VMs will not go beyond 4GB. Many will stop even at around 1GB.

The Java 1.4 VM does already run in 64 bit mode on 64 bit
architectures (Solaris, for instance, and soon Linux, I suppose).

>From the Java 2 Standard Edition 1.4 datasheet:
"64-bit support provides Java technology developers with near
limitless amounts of memory for high-performance, high-scalability
computing. While previous J2SE releases were limited to addressing 4
gigabytes of RAM, version 1.4 allows Java applications to access
hundreds of gigabytes of RAM. [On 64bit architectures] This enables
developers to drive more applications and very large datasets into
memory, and avoids the performance overhead of reading data in from a
disk or from a database."

See you, Klaus.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-22 00:01:45 UTC
Permalink
On Thu, 2002-11-21 at 11:27, klauswuestefeld wrote:
>
> The Java 1.4 VM does already run in 64 bit mode on 64 bit
> architectures (Solaris, for instance, and soon Linux, I suppose).
>
> From the Java 2 Standard Edition 1.4 datasheet:
> "64-bit support provides Java technology developers with near
> limitless amounts of memory for high-performance, high-scalability
> computing. [...]"
>

Which raises an interesting question:

One of the reasons to use a database is that you are limited by disk
space, not RAM. But this means that a lot of the hard work of database
performance is in figuring out what to keep in RAM. Of course, that's
true of I/O optimization in general. The Linux kernel, for example,
works hard to keep useful stuff in RAM, be that "memory" or "disk" data.

So suppose we have a dataset that won't fit in RAM. One option is to set
up a database and write a lot of SQL code. Another is to set up
Prevayler and a whole lot of swap space. Klaus, do you have any notion
on how the performance of the two approaches compares?

William

--
brains for sale: http://scissor.com/


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-10-01 08:51:52 UTC
Permalink
Hi J.B,

> >> From http://www.prevayler.org :
> >> Transparent Persistence for Java
> >
> >Thanks - I've just reviewed the site. I don't think that I'm quite
> ready
> >for that level of extremity just yet!
>
> But Bryan... it's beautiful! I love it!

Yeah, but it doesn't meet *my* definition of "useful software".

Cheers,

Bryan

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-10-01 10:49:27 UTC
Permalink
On Tuesday, October 1, 2002, at 4:51:52 AM, Bryan Dollery wrote:

>> >> From http://www.prevayler.org :
>> >> Transparent Persistence for Java
>> >
>> >Thanks - I've just reviewed the site. I don't think that I'm quite
>> ready
>> >for that level of extremity just yet!
>>
>> But Bryan... it's beautiful! I love it!

> Yeah, but it doesn't meet *my* definition of "useful software".

Tell us why. While we wait for this email to cross the Earth, I'll
tell a little story:

Many many years ago, I wrote commercial relational database software.
Real live relational engine stuff.

Many years ago, Lee Johnson and I produced Venn, an in-memory
set-theoretic product for the PC. It was a tool for C, with operations
for searching, sorting and the like. Like prevayler, it, too,
out-performed all the commercial DB products of its era. The few
people who bothered to buy it said it was the fastest and most
productive DB tool they had ever used.

Yesterday at lunch with Bill Tozier, he asked me whether .NET had any
built-in database capability. As we discussed why he was asking, I
realized that his application had few enough records to readily fit
into memory on any modern PC.

I wouldn't do it quite the way Prevayler has done it, but I would
seriously consider it, or similar approaches, for a lot of what people
do today with SQL.

Ron Jeffries
www.XProgramming.com
I must create a system, or be enslaved by another man's;
I will not reason and compare; my business is to create. --William Blake


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-10-01 11:54:42 UTC
Permalink
Hi Ron,
>
> >> >> From http://www.prevayler.org :
> >> >> Transparent Persistence for Java
> >> >
> >> >Thanks - I've just reviewed the site. I don't think that I'm quite
> >> ready
> >> >for that level of extremity just yet!
> >>
> >> But Bryan... it's beautiful! I love it!
>
> > Yeah, but it doesn't meet *my* definition of "useful software".
>
> Tell us why.

Okay - if you insist.

My definition of useful includes, oddly enough, the software being of some
use to me. Prevayler isn't.

I'm just learning AOP - Sams have sent me a book called
Aspect-Oriented-Programming with AspectJ by Ivan Kiselev. I'm only into
chapter 3 so far, and the going is tough, but very enjoyable. Kiselev is an
excellent writer, and manages to keep things light, despite the reality of
changing paradigm.

If I needed what prevayler provided I believe that I could easily (and I do
mean easily) write an aspect joined to set * pointcuts of the objects I
wanted to persist, and write the values to a formatted file. It would then
be fairly easy to restore the current state of the system based on the
contents of that file, should the need arise - hence persistence. I could
probably knock this up in about 10 minutes - despite my unfamiliarity with
aspects. Another few minutes would see an aspect that could instantiate
entire object trees, dynamically and just in time, based on pointcutting
the get *'s.

I'm not going to buy what I can build in 15 minutes, even if it is free -
the cost is too high.

However, this isn't my main point - despite it being a fairly important
one. My main point is just that, I've *never* built a persistence mechanism
that belonged to a single application. Sometimes I've created a persistence
mechanism for an application, but usually it's very rapidly reused within
an organisation. Prevayler completely destroys any chance of this
happening.

I refactor because experience has taught me that I am going to change my
code, so it's best to leave it in a changeable state. I use a DB because
experience has taught me that my data is valuable, so I'd better make it a
business resource, rather than hogging it all to myself.

Another problem is that I do J2EE - the deployment semantics of my systems
are often unknown until they're deployed, and are open to change at any
time. What if my classes are deployed on multiple boxes in a cluster?
Disaster as far as Prevayler is concerned.

Now, non of this means that prevayler is useless - just that it doesn't fit
*my* definition of useful - a narrow definition, but one that has worked
for me for the last couple of decades :-)

I'm sure that prevayler would be useful for games or embedded systems. I
find it difficult to imagine any other use for it that provided a whole lot
of business value. Perhaps, at a push, it could be used to maintain
application state (information purely related to information relevant to
running the application, like number of users currently logged in, workflow
information, licensing, security etc.) The problem with this is that it's
likely that you'd be using a /real/ DB for your domain entities, and that
means that you're using two persistence techniques where one would suffice,
and therefore unnecessarily increasing complexity.

<snipped what="interesting anecdote"/>

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-10-01 16:39:54 UTC
Permalink
On Tue, 2002-10-01 at 04:54, Bryan Dollery wrote:

> However, this isn't my main point - despite it being a fairly important
> one. My main point is just that, I've *never* built a persistence mechanism
> that belonged to a single application. Sometimes I've created a persistence
> mechanism for an application, but usually it's very rapidly reused within
> an organisation. Prevayler completely destroys any chance of this
> happening.
>
> I refactor because experience has taught me that I am going to change my
> code, so it's best to leave it in a changeable state. I use a DB because
> experience has taught me that my data is valuable, so I'd better make it a
> business resource, rather than hogging it all to myself.

I have similar feelings, but the balancing factor for me is that the
database then becomes the API to the data. I'd much rather find a way
where the API remains in the code, but the data is still available via a
common standard.

One of the things on my list to build is, in a sense, the opposite of an
O/R mapper. I'd like to find a relatively lightweight way to provide
SQL-accessible views of my object models. Then everybody could happily
use Crystal Reports without wrecking my ability to redo my persistence
layer as needed.

Alas, I've never had the chance to build it; it's always been cheaper to
just write the reports or occasionally dump the data out to a data
warehouse. But Prevayler's use of the Command pattern and its consequent
ability to set up hot clone servers put it on my list of things to try
if I ever need to build a R/O mapper.

William



--
brains for sale: http://scissor.com/


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 19:20:15 UTC
Permalink
--- In ***@y..., William Pietri <***@s...> wrote:
> One of the things on my list to build is, in a sense, the opposite
of an
> O/R mapper. I'd like to find a relatively lightweight way to provide
> SQL-accessible views of my object models. Then everybody could
happily
> use Crystal Reports without wrecking my ability to redo my
persistence
> layer as needed.

Cool idea. Take a look at:
http://www.prevayler.org/wiki.jsp?topic=HowDoIQueryMyObjects
for more ideas.

> Alas, I've never had the chance to build it; it's always been
cheaper to
> just write the reports or occasionally dump the data out to a data
> warehouse. But Prevayler's use of the Command pattern and its
consequent
> ability to set up hot clone servers put it on my list of things to
try
> if I ever need to build a R/O mapper.

Keep in touch.

See you, Klaus.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-04 21:50:23 UTC
Permalink
So said Bryan Dollery on 2002-10-01

>Hi Ron,
>>
>> >> >> From http://www.prevayler.org :
>> >> >> Transparent Persistence for Java
>> >> >
>> >> >Thanks - I've just reviewed the site. I don't think that I'm
quite
>> >> ready
>> >> >for that level of extremity just yet!
>> >>
>> >> But Bryan... it's beautiful! I love it!
>>
>> > Yeah, but it doesn't meet *my* definition of "useful software".
>>
>> Tell us why.
>
>Okay - if you insist.
>
<snip />
>If I needed what prevayler provided I believe that I could easily (and
I do
>mean easily) write an aspect joined to set * pointcuts of the objects
I
>wanted to persist, and write the values to a formatted file. It would
then
>be fairly easy to restore the current state of the system based on the
>contents of that file, should the need arise - hence persistence. I
could
>probably knock this up in about 10 minutes - despite my unfamiliarity
with
>aspects. Another few minutes would see an aspect that could
instantiate
>entire object trees, dynamically and just in time, based on
pointcutting
>the get *'s.

That's quite neat. Not having got past the point of "I know what AOP
stands for" and enough to understand the above, I hadn't thought of it
myself.

<snip />
>However, this isn't my main point - despite it being a fairly
important
>one. My main point is just that, I've *never* built a persistence
mechanism
>that belonged to a single application. Sometimes I've created a
persistence
>mechanism for an application, but usually it's very rapidly reused
within
>an organisation. Prevayler completely destroys any chance of this
>happening.

I'm not sure that I understand why this is so. If the prevalent system
is distributed throughout the organization, and assuming that the
organization only needs to share data with other Java applications (I
may have just hit the point, there), then Prevayler works just fine,
doesn't it? Assuming that my little "aha" there isn't the problem, what
is?

<snip />
Perhaps, then, the power of Prevayler lies in the ability to test out a
data model with some form of persistence which can later evolve into
distributed objects and RDBMS-style persistence as needed. Or your
aspect-oriented approach. Whichever works best.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-10-04 22:39:45 UTC
Permalink
Hi J.B,

> >However, this isn't my main point - despite it being a fairly
> important
> >one. My main point is just that, I've *never* built a persistence
> mechanism
> >that belonged to a single application. Sometimes I've created a
> persistence
> >mechanism for an application, but usually it's very rapidly reused
> within
> >an organisation. Prevayler completely destroys any chance of this
> >happening.
>
> I'm not sure that I understand why this is so. If the prevalent system
> is distributed throughout the organization, and assuming that the
> organization only needs to share data with other Java applications (I
> may have just hit the point, there), then Prevayler works just fine,
> doesn't it? Assuming that my little "aha" there isn't the problem, what
> is?

Your /aha/ is partially the issue - the guy doing VB on the next project
down the hall can't reuse my data - the data is mine, not the
organisations. I could always provide interfaces to my app, and totally
encapsulate the data behind some sort of web-services model, but the
ability to do so is a new thing, and a lot of corps aren't willing to go
that way just yet.

Even within a single platform - java - there are issues sharing this data.
What if I wanted to put an object on a different JVM - say on another
machine - how do I access the data then?

Its possible, but it's starting to get messy.

> <snip />
> Perhaps, then, the power of Prevayler lies in the ability to test out a
> data model with some form of persistence which can later evolve into
> distributed objects and RDBMS-style persistence as needed. Or your
> aspect-oriented approach. Whichever works best.

I think that aspects will require less code and complexity for this purpose
(actually, I'm beginning to think that AOP will produce less code and
complexity for many purposes).

I've just got the book Aspect-Oriented-Programming with AspectJ by Ivan
Kiselev - I'm only a couple of chapters in to it so far, but it seems to be
very well written and informative.

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bill de hÓra
2002-10-06 17:55:06 UTC
Permalink
> From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
>
> I think that aspects will require less code and complexity
> for this purpose (actually, I'm beginning to think that AOP
> will produce less code and complexity for many purposes).

They will. Aspects work very well for things that do not (or at least
should not) have side effects such as persistence and logging, but make
code messy. Things with side effects (such as security) I'm less sure
about.

You're working in Java by the sounds of it: take a look at the JAAS and
see if it resonates with checkpointing for you.


Bill de hÓra
--
Propylon
www.propylon.com





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bill de hÓra
2002-10-06 18:04:40 UTC
Permalink
> From: Bryan Dollery [mailto:***@ChaosEngineers.co.nz]
>
> Your /aha/ is partially the issue - the guy doing VB on the
> next project down the hall can't reuse my data - the data is
> mine, not the organisations. I could always provide
> interfaces to my app, and totally encapsulate the data ...

There's your problem - don't encapsulate data you want to share, give it
a name and publish it.

> ... behind
> some sort of web-services model, but the ability to do so is
> a new thing, and a lot of corps aren't willing to go that way
> just yet.

Why do you need webservices? Just use HTTP.


> Even within a single platform - java - there are issues
> sharing this data. What if I wanted to put an object on a
> different JVM - say on another machine - how do I access the
> data then?

Shared memory. Like before, you can solve this in a low ceremony way by
using a HTTP server. Think of a URL as being a key and the server being
a jumptable to data. It's very OO :)

Bill de hÓra
--
Propylon
www.propylon.com







To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 19:43:17 UTC
Permalink
--- "Bryan Dollery" wrote:
> > > Sometimes I've created a
> > persistence
> > >mechanism for an application, but usually it's very rapidly
reused
> > within
> > >an organisation. Prevayler completely destroys any chance of this
> > >happening.
> >

> > I'm not sure that I understand why this is so.

> the guy doing VB on the next project
> down the hall can't reuse my data - the data is mine, not the
> organisations. I could always provide interfaces to my app, and
totally
> encapsulate the data behind some sort of web-services model, but the
> ability to do so is a new thing, and a lot of corps aren't willing
to go
> that way just yet.

Well, I suppose its just a matter of time then.

> Even within a single platform - java - there are issues sharing
this data.
> What if I wanted to put an object on a different JVM - say on
another
> machine - how do I access the data then?

RMI, CORBA, SOAP, XML, you name it.

> Its possible, but it's starting to get messy.

Not as near as messy as a string interpreter returning tables with
untyped values (SQL). The difference with SQL is that you do have
more tools to keep the mess under the carpet.

See you, Klaus.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 19:05:34 UTC
Permalink
--- "Bryan Dollery" wrote:

> I refactor because experience has taught me that I am going to
change my
> code, so it's best to leave it in a changeable state. I use a DB
because
> experience has taught me that my data is valuable, so I'd better
make it a
> business resource, rather than hogging it all to myself.

A DB makes data readily available for all systems in the enterprise
to brutally couple themselves to each other's private parts using the
database as middleware.

Prevayler allows other systems to access your objects PUBLIC
interface through CORBA, RMI, SOAP, what have you.

> Another problem is that I do J2EE...

Now there you have a problem! ;)

> the deployment semantics of my systems
> are often unknown until they're deployed, and are open to change at
any
> time. What if my classes are deployed on multiple boxes in a
cluster?
> Disaster as far as Prevayler is concerned.

Well, you'll need a cluster with several thousand machines and zero
overhead to start matching the performance you get with Prevayler.

As for fault-tolerance, the prevalent architecture also provides
transparent replication of all your business objects. There are some
pretty cool prototypes around but Prevayler will only implement
replication in release 2.0.

See you, Klaus.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 18:21:48 UTC
Permalink
> My definition of useful includes, oddly enough, the software being
of some
> use to me. Prevayler isn't.
>
> I'm just learning AOP - Sams have sent me a book called
> Aspect-Oriented-Programming with AspectJ by Ivan Kiselev.

I tried AspectJ to write a transparent persistence layer 1 or 2 years
ago and I took several hours to find out that it didn't even have
field assignment (this.name = "Peter") as a point cut. :P

They didn't "bother" to mention that in the documentation. I could
not consider it a serious project, therefore. I hope it has evolved
since then.


> If I needed what prevayler provided I believe that I could easily
(and I do
> mean easily) write an aspect joined to set * pointcuts of the
objects I
> wanted to persist, and write the values to a formatted file. It
would then
> be fairly easy to restore the current state of the system based on
the
> contents of that file, should the need arise - hence persistence. I
could
> probably knock this up in about 10 minutes - despite my
unfamiliarity with
> aspects.

Not even in ten weeks. You are brutally underestimating the
problem. "Formatted file". Will you be using fixed size columns? How
about variable string sizes? How about file space defragmentation? etc


> Another few minutes would see an aspect that could instantiate
> entire object trees, dynamically and just in time, based on
pointcutting
> the get *'s.

What about threads running while you're writing objects to disk? What
about object swizzling?

AspectJ gives you the "postprocessor" part of an ODBMS. An OODBMS is
not just the postprocessor, though.

> I'm not going to buy what I can build in 15 minutes, even if it is
free -
> the cost is too high.

Not even in 15 months...

See you, Klaus.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Charlie Poole
2002-10-01 17:26:44 UTC
Permalink
Ron,

> Yesterday at lunch with Bill Tozier, he asked me whether .NET had any
> built-in database capability. As we discussed why he was asking, I
> realized that his application had few enough records to readily fit
> into memory on any modern PC.

It looks as if that ADO.NET would make this really easy. The old ADO
had in-memory objects that were the analogue of a SQL table. The
ADO.NET DataSet can be viewed as the analogue of a database,
containing multiple tables as well as their relations.

Up to now, I've just used it to hold a single query result, but it
appears capable of doing a lot more.

Charlie Poole
***@pooleconsulting.com
www.pooleconsulting.com
www.charliepoole.org




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-10-01 17:33:47 UTC
Permalink
On Tuesday, October 1, 2002, at 1:26:44 PM, Charlie Poole wrote:

>> Yesterday at lunch with Bill Tozier, he asked me whether .NET had any
>> built-in database capability. As we discussed why he was asking, I
>> realized that his application had few enough records to readily fit
>> into memory on any modern PC.

> It looks as if that ADO.NET would make this really easy. The old ADO
> had in-memory objects that were the analogue of a SQL table. The
> ADO.NET DataSet can be viewed as the analogue of a database,
> containing multiple tables as well as their relations.

> Up to now, I've just used it to hold a single query result, but it
> appears capable of doing a lot more.

Yes, that's what I said as well. I'm not sure how well it would really
work, and not even what it can and can't do. Haven't tried it ... yet.

Ron Jeffries
www.XProgramming.com
FEAR = Fantasy Experienced As Reality


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-04 21:45:22 UTC
Permalink
So said Ron Jeffries on 2002-10-01

>On Tuesday, October 1, 2002, at 4:51:52 AM, Bryan Dollery wrote:
>
>>> >> From http://www.prevayler.org :
>>> >> Transparent Persistence for Java
>>> >
>>> >Thanks - I've just reviewed the site. I don't think that I'm quite
>>> ready
>>> >for that level of extremity just yet!
>>>
>>> But Bryan... it's beautiful! I love it!
>
>> Yeah, but it doesn't meet *my* definition of "useful software".
>
>Tell us why. While we wait for this email to cross the Earth, I'll
>tell a little story:
>
<snip />
>I wouldn't do it quite the way Prevayler has done it, but I would
>seriously consider it, or similar approaches, for a lot of what people
>do today with SQL.

What would you do differently, Ron? Prevayler looks wonderful to me,
but then, I don't have experience with all the dark corners it might
lead me down.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-10-05 02:17:03 UTC
Permalink
On Friday, October 4, 2002, at 5:45:22 PM, J. B. Rainsberger wrote:

>>I wouldn't do it quite the way Prevayler has done it, but I would
>>seriously consider it, or similar approaches, for a lot of what people
>>do today with SQL.

> What would you do differently, Ron? Prevayler looks wonderful to me,
> but then, I don't have experience with all the dark corners it might
> lead me down.

It looks fine to me, as far as one can see without downloading a bunch
of jar files - wish they had HTML'd some of the code, as my machine
has an allergy to Java source. ;->

I like the spooling of changes, and if I understand what they're up
to, the Command Objects. (Would like to see more info / code on that.)

If I were doing it, I think I would want to build in indexing and some
set operations.

Given that it works, I think it's pretty neat as it stands.

Ron Jeffries
www.XProgramming.com
Yesterday's code should be as good as we could make it yesterday.
The fact that we know more today, and are more capable today,
is good news about today, not bad news about yesterday.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Armin Roehrl
2002-10-05 10:44:54 UTC
Permalink
Am Samstag, 5. Oktober 2002 04:17 schrieb Ron Jeffries:
> If I were doing it, I think I would want to build in indexing and some
> set operations.
Kent Beck asked about indexing in the prevayler wiki.
The answer he got:
"Indexing can be handled with pure Java Collections, or your favourite
collection framework."

http://www.prevayler.org/wiki.jsp?topic=ObjectPrevalenceSkepticalFAQ
and a link to.
http://www.prevayler.org/wiki.jsp?topic=HowDoIQueryMyObjects

Just yesterday I did benchmark Prevayler against MySQL and Postgres.
The speed-increase of queries is a factor of 400-500 on my machine.
The manipulation test using MySQL was faster than Prevayler, but Postgres
was still slower.

.. will look at the SAP DB later today for that benchmark, too.

Bye,
-A.

-----------------------------------------------
Armin Roehrl, http://www.approximity.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bryan Dollery
2002-10-05 21:48:40 UTC
Permalink
Hi Armin,

> Just yesterday I did benchmark Prevayler against MySQL and Postgres.
> The speed-increase of queries is a factor of 400-500 on my machine.
> The manipulation test using MySQL was faster than Prevayler, but Postgres
> was still slower.
>
> .. will look at the SAP DB later today for that benchmark, too.

If you get the chance, and commercial realities allow it, can you post the
results of that benchmark here too?

Cheers,

Bryan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-11 15:57:38 UTC
Permalink
So said Armin Roehrl on 2002-10-05

>Am Samstag, 5. Oktober 2002 04:17 schrieb Ron Jeffries:
>> If I were doing it, I think I would want to build in indexing and
some
>> set operations.
>Kent Beck asked about indexing in the prevayler wiki.
>The answer he got:
>"Indexing can be handled with pure Java Collections, or your favourite

>collection framework."

It's just unfortunate to have to handcode something that I'm accustomed
to getting free of charge. I wonder whether that's "just the way it is"
or that I'm not freeing my mind of the shackles of relational database
design.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 20:53:57 UTC
Permalink
--- "J. B. Rainsberger" wrote:

> >> If I were doing it, I think I would want to build in indexing and
> some
> >> set operations.

> It's just unfortunate to have to handcode something that I'm
accustomed
> to getting free of charge. I wonder whether that's "just the way it
is"
> or that I'm not freeing my mind of the shackles of relational
database
> design.

The problem is you don't know OO.

I don't know OO.

GUI framework designers know OO. Games people know OO. But very few
business application people really know OO.

We don't even know of the existence of an object indexing framework
for crying out loud!

And why do we not know OO?

WHY DO WE NOT KNOW OO?

Because we spend most of our time writing pityful data-client
software.

We invert dependencies.

We model the part depending on the whole just because that maps more
easily to the database's tables!

The database simply does not let us use OO. Or does it?

We can't even use LISTENERS among business objects because that would
be way too slow on the database!

Anyone get the feeling of what I mean?

With Prevayler we finally have a chance of writing true object-
servers, the way object-orientation was intended all along.

I believe Prevayler and other similar prevalence layers will have an
important part in helping the OO community to recover from this
atrophy.

See you, Klaus.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-22 02:56:05 UTC
Permalink
From: "klauswuestefeld" <***@objective.com.br>

> Because we spend most of our time writing pityful data-client
> software.

Wow, the truth hurts.

> We can't even use LISTENERS among business objects because that would
> be way too slow on the database!

That is a very interesting point. I have certainly seen cases where I
could easily add desired functionality, with high performance and little
code, if all my domain objects were sitting in RAM as real objects; then
I go find an enormously more complex and slow solution that uses a DBMS
instead.

Unfortunately, I don't see a way to use anything like Prevayler anytime
soon, because my business apps often have gigabytes of data in the
database, such that placing bet that "the domain objects will all fit in
RAM", could end up biting me very badly.

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-11-22 05:33:46 UTC
Permalink
So said klauswuestefeld on 2002-11-21

>--- "J. B. Rainsberger" wrote:
>
>> >> If I were doing it, I think I would want to build in indexing and
>> some
>> >> set operations.
>
>> It's just unfortunate to have to handcode something that I'm
>accustomed
>> to getting free of charge. I wonder whether that's "just the way it
>is"
>> or that I'm not freeing my mind of the shackles of relational
>database
>> design.
>
>The problem is you don't know OO.
<snip />

>Anyone get the feeling of what I mean?

I don't, and I'd like to. Is there any way to make this more concrete with a specific example?

An Appointment associates a Tutor to many Students. Tutors and Students have information common to Persons (people, but the class is Person). In addition, a Student has a "main tutor".

I want to find Appointments by Tutor, by Student, by date/time.

Can you write those queries without wanting indexed storage of the various objects? I just see a bunch of Maps whose values are the same, but with different keys.

What don't I get? I want to use Prevayler, but not as long as I continue to want to re-write indexing a la RDBMS.

>With Prevayler we finally have a chance of writing true object-
>servers, the way object-orientation was intended all along.
>
>I believe Prevayler and other similar prevalence layers will have an
>important part in helping the OO community to recover from this
>atrophy.

Please elaborate. I want to learn this.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-11-22 19:47:14 UTC
Permalink
On Friday, November 22, 2002, at 12:33:46 AM, J. B. Rainsberger wrote:

> An Appointment associates a Tutor to many Students. Tutors and Students have information common to Persons
> (people, but the class is Person). In addition, a Student has a "main tutor".

> I want to find Appointments by Tutor, by Student, by date/time.

> Can you write those queries without wanting indexed storage of the various objects? I just see a bunch of
> Maps whose values are the same, but with different keys.

> What don't I get? I want to use Prevayler, but not as long as I continue to want to re-write indexing a la
> RDBMS.

In OO, I'd think that the Tutor would /have/ appointments. I'd think
that the Student would /have/ appointments. I'd think that the
appointment would /have/ a time, a student, a tutor. Given any one of
those, I wouldn't need indexing, I'd /have/ the things I needed.

If I really needed to know all appointments going on at a given time,
I could imagine building a suitable structure for that.

I find that with OO thinking I have a lot fewer indexes, and a data
structure that much more nearly represents what I think of as the
"real world".

Ron Jeffries
www.XProgramming.com
Bang, bang, Jeffries' silver hammer came down upon their heads ...


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-11-23 18:34:45 UTC
Permalink
So said Ron Jeffries on 2002-11-22

>On Friday, November 22, 2002, at 12:33:46 AM, J. B. Rainsberger wrote:
>
>> An Appointment associates a Tutor to many Students. Tutors and Students
>have information common to Persons
>> (people, but the class is Person). In addition, a Student has a "main
>tutor".
>
>> I want to find Appointments by Tutor, by Student, by date/time.
>
>> Can you write those queries without wanting indexed storage of the
>various objects? I just see a bunch of
>> Maps whose values are the same, but with different keys.
>
>> What don't I get? I want to use Prevayler, but not as long as I continue
>to want to re-write indexing a la
>> RDBMS.
>
>In OO, I'd think that the Tutor would /have/ appointments. I'd think
>that the Student would /have/ appointments. I'd think that the
>appointment would /have/ a time, a student, a tutor. Given any one of
>those, I wouldn't need indexing, I'd /have/ the things I needed.
>
>If I really needed to know all appointments going on at a given time,
>I could imagine building a suitable structure for that.
>
>I find that with OO thinking I have a lot fewer indexes, and a data
>structure that much more nearly represents what I think of as the
>"real world".

Thanks, Ron, for snapping me back to reality once again. :) The down side is that now I have to write it before the neural nets you re-triggered decay again.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Chris Hanson
2002-11-23 23:52:25 UTC
Permalink
At 8:53 PM +0000 11/21/02, klauswuestefeld wrote:
>The database simply does not let us use OO. Or does it?
>
>We can't even use LISTENERS among business objects because that would
>be way too slow on the database!
>
>Anyone get the feeling of what I mean?
>
>With Prevayler we finally have a chance of writing true object-
>servers, the way object-orientation was intended all along.

I can write true object-oriented business applications using the
Enterprise Objects Framework for persistence. But that's because
EOF's mapping between data stores (databases, LDAP servers, etc.) and
objects is transparent and data-driven.

NSArray allFoos = EOUtilities.objectsForEntityNamed(
session().defaultEditingContext(),
"Foo");

will fetch all of the Foo entities into the given array. Only it
won't actually do all of them in one database transaction; instead,
it'll only create a fault array, and get batches of Foos as I access
them. Changes accumulate in the given editing context; sending it
saveChanges() will push them back to the database. I can send it
undo() or revert() to roll back the changes in memory. And so on.

With EOF, I can also do inheritance, it automatically maps between
database relationships and has-a relationships in my classes, manages
many-to-many mapping tables for me, etc. It lets me keep the
advantages of object-oriented programming while giving me the
advantages of a relational database back end. And it even lets me
reverse-engineer existing databases into object models that I can
build applications around.

I should really write an article or two about it for my web site.

-- Chris

--
Chris Hanson | Email: ***@bDistributed.com
bDistributed.com, Inc. | Phone: +1-847-372-3955
Making Business Distributed | Fax: +1-847-589-3738
http://bdistributed.com/ | Personal Email: ***@mac.com

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-11 15:57:35 UTC
Permalink
So said Ron Jeffries on 2002-10-04

>On Friday, October 4, 2002, at 5:45:22 PM, J. B. Rainsberger wrote:
>
>>>I wouldn't do it quite the way Prevayler has done it, but I would
>>>seriously consider it, or similar approaches, for a lot of what
people
>>>do today with SQL.
>
>> What would you do differently, Ron? Prevayler looks wonderful to me,
>> but then, I don't have experience with all the dark corners it might
>> lead me down.
>
>It looks fine to me, as far as one can see without downloading a bunch
>of jar files - wish they had HTML'd some of the code, as my machine
>has an allergy to Java source. ;->

I'm sure a C# implementation would be easy to build. Someone ought to
do it to get around your allergy. :)

>I like the spooling of changes, and if I understand what they're up
>to, the Command Objects. (Would like to see more info / code on that.)

Indeed. The "prevalent system" is a command executer. Occasional
snapshots are taken on a separate thread. One of the first things I did
with Prevayler is to extract the CommandExecuter interface to allow my
to test the prevalent system without actually writing to the file
system. (cf. my other message about automatically separating command
execution reponsibilities into a separate interface.)

>If I were doing it, I think I would want to build in indexing and some
>set operations.

Hear, hear! I originally loved the notion that the query language is
just Java, but then realized that I still think like a relational
database and therefore wanted indexing, keys and the like. Handcoding
multiple views of a Map was not nice.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
klauswuestefeld
2002-11-21 20:11:02 UTC
Permalink
--- Ron Jeffries wrote:

> > What would you do differently, Ron? Prevayler looks wonderful to
me

> wish they had HTML'd some of the code, as my machine
> has an allergy to Java source. ;->

Hey Ron, please stop giving excuses and take a look at the code. It's
only 335 lines. :) (Excluding comments and blank lines)

http://prdownloads.sourceforge.net/prevayler/prevayler1.00.003.zip?
download


> It looks fine to me, as far as one can see without downloading a
bunch
> of jar files -

By the way, the distribution zip file has only the source in plain
java files. No jar files. ;) You actually get to compile it!


> I like the spooling of changes, and if I understand what they're up
> to, the Command Objects. (Would like to see more info / code on
that.)

:P

Tell you what: I'll send you a Prevayler T-shirt through Kent, OK? It
has the whole source code on the back along with the words: "DO YOU
STILL USE A DATABASE?". ;)

> If I were doing it, I think I would want to build in indexing and
some
> set operations.

The whole point is that you don't have to build these things "INTO"
Prevayler. You would just have to build them for plain Java objects,
if such frameworks didn't already exist:
http://www.prevayler.org/wiki.jsp?topic=HowDoIQueryMyObjects


> Given that it works, I think it's pretty neat as it stands.

Thanks, Klaus.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
ericheikkila
2002-11-21 22:16:44 UTC
Permalink
PREVAYLER T-SHIRT??? PONY UP! ;) hehe

I saw this mentioned before, and showed it to my friend and coworker,
who's a big database guy.

He said it was subversive enough and sounded solid enough that it
might even make him leave the database behind.

I've been meaning to download it and try it out, since it sounds like
an excellent database replacement. :)

-Eric

--- In ***@y..., "klauswuestefeld" <***@o...> wrote:
> --- Ron Jeffries wrote:
>
> > > What would you do differently, Ron? Prevayler looks wonderful
to
> me
>
> > wish they had HTML'd some of the code, as my machine
> > has an allergy to Java source. ;->
>
> Hey Ron, please stop giving excuses and take a look at the code.
It's
> only 335 lines. :) (Excluding comments and blank lines)
>
> http://prdownloads.sourceforge.net/prevayler/prevayler1.00.003.zip?
> download
>
>
> > It looks fine to me, as far as one can see without downloading a
> bunch
> > of jar files -
>
> By the way, the distribution zip file has only the source in plain
> java files. No jar files. ;) You actually get to compile it!
>
>
> > I like the spooling of changes, and if I understand what they're
up
> > to, the Command Objects. (Would like to see more info / code on
> that.)
>
> :P
>
> Tell you what: I'll send you a Prevayler T-shirt through Kent, OK?
It
> has the whole source code on the back along with the words: "DO YOU
> STILL USE A DATABASE?". ;)
>
> > If I were doing it, I think I would want to build in indexing and
> some
> > set operations.
>
> The whole point is that you don't have to build these things "INTO"
> Prevayler. You would just have to build them for plain Java
objects,
> if such frameworks didn't already exist:
> http://www.prevayler.org/wiki.jsp?topic=HowDoIQueryMyObjects
>
>
> > Given that it works, I think it's pretty neat as it stands.
>
> Thanks, Klaus.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Andrew McDonagh
2002-11-22 10:54:48 UTC
Permalink
Eric,

All I can say is that we have just started using Prevayler , and it rocks!.

We were using MySQL for persisting our data, but once I saw what Prevayler
could do, I saw that it would remove the need for having to distribute,
admin & use MySQL.

The lack of having to distribute & admin a 3rd party RDBMS with our
application is another major benefit, one that I think Klaus under-sells.

We are 'lucky', in that one of the arguments against Prevayler (But how do
you share your data with our apps?) doesn't apply for us, because we already
use CORBA for exporting the data to other apps.

This encapsulation is something we wanted from the beginning. I have seen
first hand the horror of having multiple apps communicating together through
an RDBMS. The fragility of those systems was impressive. The restrictions
they imposed upon each other, often meant that it was either very difficult
or nearly impossible to implement certain new features. (When I say nearly
impossible, I mean because the change would require a change of the DB
schema, which could only be 'approved' with full consent of all the teams
that used the DB. This was often a 'rule by committee' thing, typical of
the large multi-national company I used to worked in.

Andy

-----Original Message-----
From: ericheikkila [mailto:***@yahoo.com]
Sent: 21 November 2002 22:17
To: ***@yahoogroups.com
Subject: [XP] Re: Prevayler indices and sets


PREVAYLER T-SHIRT??? PONY UP! ;) hehe

I saw this mentioned before, and showed it to my friend and coworker,
who's a big database guy.

He said it was subversive enough and sounded solid enough that it
might even make him leave the database behind.

I've been meaning to download it and try it out, since it sounds like
an excellent database replacement. :)

-Eric

--- In ***@y..., "klauswuestefeld" <***@o...> wrote:
> --- Ron Jeffries wrote:
>
> > > What would you do differently, Ron? Prevayler looks wonderful
to
> me
>
> > wish they had HTML'd some of the code, as my machine
> > has an allergy to Java source. ;->
>
> Hey Ron, please stop giving excuses and take a look at the code.
It's
> only 335 lines. :) (Excluding comments and blank lines)
>
> http://prdownloads.sourceforge.net/prevayler/prevayler1.00.003.zip?
> download
>
>
> > It looks fine to me, as far as one can see without downloading a
> bunch
> > of jar files -
>
> By the way, the distribution zip file has only the source in plain
> java files. No jar files. ;) You actually get to compile it!
>
>
> > I like the spooling of changes, and if I understand what they're
up
> > to, the Command Objects. (Would like to see more info / code on
> that.)
>
> :P
>
> Tell you what: I'll send you a Prevayler T-shirt through Kent, OK?
It
> has the whole source code on the back along with the words: "DO YOU
> STILL USE A DATABASE?". ;)
>
> > If I were doing it, I think I would want to build in indexing and
> some
> > set operations.
>
> The whole point is that you don't have to build these things "INTO"
> Prevayler. You would just have to build them for plain Java
objects,
> if such frameworks didn't already exist:
> http://www.prevayler.org/wiki.jsp?topic=HowDoIQueryMyObjects
>
>
> > Given that it works, I think it's pretty neat as it stands.
>
> Thanks, Klaus.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to:
extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-10-04 21:45:22 UTC
Permalink
So said Bryan Dollery on 2002-10-01

>Hi J.B,
>
>> >> From http://www.prevayler.org :
>> >> Transparent Persistence for Java
>> >
>> >Thanks - I've just reviewed the site. I don't think that I'm quite
>> ready
>> >for that level of extremity just yet!
>>
>> But Bryan... it's beautiful! I love it!
>
>Yeah, but it doesn't meet *my* definition of "useful software".

Strange. I would think we'd all jump all over it. What about it doesn't
suit your purpose?

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Mark Derricutt
2002-09-30 12:21:19 UTC
Permalink
JEdit
JEdit Plugins: Antfarm, JCompiler, XML, XSLT, SQL, XRefactory, mmm
Ant
CVS
JUnit
PostgreSQL
X-Chat (irc is part of coding, right?)
DBVisualizer
SmartCVS
Jabber

--On Friday, September 27, 2002 16:57:00 +1200 Bryan Dollery
<***@ChaosEngineers.co.nz> wrote:

> Hi,
>
> I'm interested in finding out what tools java developers use daily. My
> poll of the group last year, whilst being only a small sample, revealed
> that around 50% of those that responded are using java.
>
> So, people are using what?
>
> I'm interested in short lists - here's mine:
>
> IntelliJ Idea 3/Ariadne
> ANT
> JUnit
> JUnit-Addons
> Canoo
> Tomcat
> Jakarta Struts
> Jakarta OJB
> MySQL
> CruiseControl
> XDoclet
>
> Whilst I use a lot of others, I've been using mainly these solidly for the
> past couple of weeks. How about you?
>
> Cheers,
>
> Bryan
>
> b r y a n d o l l e r y
> c h a o s e n g i n e e r s
> www.ChaosEngineers.co.nz
> +64 (0)21 330607
>
>
> To Post a message, send it to: ***@eGroups.com
>
> To Unsubscribe, send a blank message to:
> extremeprogramming-***@eGroups.com
>
> ad-free courtesy of objectmentor.com
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>



-- \m/ --
"...if I seem super human I have been misunderstood." (c) Dream Theater
***@talios.com - ICQ: 1934853 JID: ***@myjabber.net


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Mark Derricutt
2002-09-30 12:23:31 UTC
Permalink
I'd be keen on the cruisecontrol side, tried setting it up yesterday but it
was giving me some strange issues, but I was out of coffee so I was
probably just blind :p

--On Saturday, September 28, 2002 05:14:31 +1200 Bryan Dollery
<***@ChaosEngineers.co.nz> wrote:

> [ANT, JUnit & Friends, Tomcat, OJB, AspectJ, CruiseControl, and others]



-- \m/ --
"...if I seem super human I have been misunderstood." (c) Dream Theater
***@talios.com - ICQ: 1934853 JID: ***@myjabber.net


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
k***@objective.com.br
2002-11-22 14:05:50 UTC
Permalink
> So suppose we have a dataset that won't fit in RAM. One option is to set
> up a database and write a lot of SQL code. Another is to set up
> Prevayler and a whole lot of swap space. Klaus, do you have any notion
> on how the performance of the two approaches compares?

Yes. Your system wont stop, but letting the VM swap in a prevalent system
is terribly slow. Not an option.

See:
http://www.prevayler.org/wiki.jsp?topic=BreakthroughsInMemoryTechnology

The virtual memory managers (VMMs) I found were all geared at allocating
more contiguous memory blocks (such as a large part of an app), not sparse,
randomly located small objects.

I didn't cover all Linux VMMs, though. Any tips are very welcome.

With Linux you can still use the VMM you want. With the other popular
operating systems that is pretty much hopeless.

See you, Klaus.
"Do you still use a database?" http://www.prevayler.org


------------
> From: William Pietri <***@scissor.com>
>
> One of the reasons to use a database is that you are limited by disk
> space, not RAM. But this means that a lot of the hard work of database
> performance is in figuring out what to keep in RAM. Of course, that's
> true of I/O optimization in general. The Linux kernel, for example,
> works hard to keep useful stuff in RAM, be that "memory" or "disk" data.
>
> So suppose we have a dataset that won't fit in RAM. One option is to set
> up a database and write a lot of SQL code. Another is to set up
> Prevayler and a whole lot of swap space. Klaus, do you have any notion
> on how the performance of the two approaches compares?
> William



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
k***@objective.com.br
2002-11-22 14:13:05 UTC
Permalink
Sure. It is just a question of time, though:
http://www.prevayler.org/wiki.jsp?topic=BreakthroughsInMemoryTechnology

See you, Klaus.


> From: "Kyle Cordes" <***@kylecordes.com>

> Unfortunately, I don't see a way to use anything like Prevayler anytime
> soon, because my business apps often have gigabytes of data in the
> database, such that placing bet that "the domain objects will all fit in
> RAM", could end up biting me very badly.




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-22 16:34:14 UTC
Permalink
> > From: "Kyle Cordes" <***@kylecordes.com>
>
> > Unfortunately, I don't see a way to use anything like Prevayler
anytime
> > soon, because my business apps often have gigabytes of data in the
> > database, such that placing bet that "the domain objects will all
fit in

From: <***@objective.com.br>

> Sure. It is just a question of time, though:
>
http://www.prevayler.org/wiki.jsp?topic=BreakthroughsInMemoryTechnology


Very interesting information, but risk assessments have to be based on
what I can actually buy now. To choose a solution that's RAM-based, no
DB, with pervasively affect the design of the application; I don't see
any XP-ish way to express the idea OAOO of "database or no database".
If I choose "no database", and it turns out the my customer's needs grow
past the max-RAM-I-can-find-or-afford point, it could be disasterous to
the project, to me getting paid, and to any future work for that
customer. A customer will be very skeptical up front of the no-DB
solution, and if they get burned by it, they would be furious.

To choose Prevayler places a huge bet on the Prevayler hypothesis being
true - a gain if it holds, and a big loss if it doesn't. A DB is a
potentially very risky thing to "YAGNI"; and keep in mind that I'm
saying this from the point of view of liking the whole Prevayler very
much.

Kyle Cordes
www.kylecordes.com




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-11-22 19:21:16 UTC
Permalink
On Friday, November 22, 2002, at 11:34:14 AM, Kyle Cordes wrote:

> To choose Prevayler places a huge bet on the Prevayler hypothesis being
> true - a gain if it holds, and a big loss if it doesn't. A DB is a
> potentially very risky thing to "YAGNI"; and keep in mind that I'm
> saying this from the point of view of liking the whole Prevayler very
> much.

I'm not at all sure that DB's are risky to YAGNI. Suppose we went with
Prevayler. How hard would it be to take a well-factored program from
there to a DB? How hard would it be to get Prevayler to spill to
files? How true is it that virtual memory swapping is slower than
normal file access?

Ron Jeffries
www.XProgramming.com
How do I know what I think until I hear what I say? -- E M Forster


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-23 01:05:02 UTC
Permalink
From: "Ron Jeffries" <***@acm.org>

> On Friday, November 22, 2002, at 11:34:14 AM, Kyle Cordes wrote:

> > To choose Prevayler places a huge bet on the Prevayler hypothesis
being
> > true - a gain if it holds, and a big loss if it doesn't. A DB is a
> > potentially very risky thing to "YAGNI"; and keep in mind that I'm


> I'm not at all sure that DB's are risky to YAGNI.
> Suppose we went with
> Prevayler. How hard would it be to take a well-factored program from
> there to a DB?

Hmm, I'll have to think about this a while. I was originally thinking
of the shape of the overall solution, in that a Prevayler-based solution
might easily YAGNI a whole lot of other stuff along with the DB, and end
up having a wildly different (and simpler) design. To really understand
this, I think I need to write a small app with Prevayler, then without
it. Actually, that would be a wonderful thing to have on the Prevayler
web site. If only I had ample free time :-)

(Hmm... how about a Prevayler Pet Store, to shake up the melee going on
surrounding the Java / .NET benchmarking efforts.)

> How hard would it be to get Prevayler to spill to
> files?

Export to file? Really easy. Access data stored in files? I don't
know, but if you did that, I think you'd have a rather different beast
than Prevayler, somethign much more like a DBMS.

> How true is it that virtual memory swapping is slower than
> normal file access?

VM swapping is generally as fast or faster as other file access; in fact
in some OSs. The reason Prevayler is slower than a DBMS when the data
is on the disk, is that the Prevayer + VM, the objects are scattered
somewhat randoms across pages, while much of the effort in DBMS design
is in cleveraly storing things in disk blocks to minimize the number of
them you need to read/write. However, a JVM + VMM designed to support a
massive number of objects (more than will fit in RAM) might do a pretty
good job at that too.

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
jeffgrigg63132
2002-11-23 02:24:15 UTC
Permalink
> From: "Ron Jeffries" <***@a...>
> > I'm not at all sure that DB's are risky to YAGNI.
> > Suppose we went with
> > Prevayler. How hard would it be to take a well-factored
> > program from there to a DB?

--- "Kyle Cordes" <***@k...> wrote:
> [...] a Prevayle-based solution might easily YAGNI a whole lot
> of other stuff along with the DB, and end up having a wildly
> different (and simpler) design. To really understand
> this, I think I need to write a small app with Prevayler,
> then without it. Actually, that would be a wonderful thing
> to have on the Prevayler web site. If only I had ample free
> time :-)

Write a small app with Prevayler, and then *CONVERT* it.

...to an object oriented database (which should be easy)

...then to an OO wrapper on a relational database. (Say, TopLink)
This might be "hard" and involve "a fair amount of work," but hey...
doing it this way in the first place would also be hard and/or extra
work.

I think the fact that all changes to the database are done with
serializable command objects should make conversion to another
database relatively "easy."

Of course the proof is in doing it.
- jeff


(And the first big challenge is to successfully navigate through
their web site!!! ;-)



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Chris Hanson
2002-11-23 23:49:53 UTC
Permalink
At 7:05 PM -0600 11/22/02, Kyle Cordes wrote:
>(Hmm... how about a Prevayler Pet Store, to shake up the melee going on
>surrounding the Java / .NET benchmarking efforts.)

You mean J2EE/.NET benchmarking efforts. There are other Java-based
application server technologies besides J2EE, with significant
advantages over J2EE.

-- Chris
-- WebObjects weenie

--
Chris Hanson | Email: ***@bDistributed.com
bDistributed.com, Inc. | Phone: +1-847-372-3955
Making Business Distributed | Fax: +1-847-589-3738
http://bdistributed.com/ | Personal Email: ***@mac.com

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-11-23 18:31:49 UTC
Permalink
So said Kyle Cordes on 2002-11-22

<snip />
>From: <***@objective.com.br>
>
>> Sure. It is just a question of time, though:
>>
>http://www.prevayler.org/wiki.jsp?topic=BreakthroughsInMemoryTechnology
>
>
>Very interesting information, but risk assessments have to be based on
>what I can actually buy now.
<snip />
>To choose Prevayler places a huge bet on the Prevayler hypothesis being
>true - a gain if it holds, and a big loss if it doesn't. A DB is a
>potentially very risky thing to "YAGNI"; and keep in mind that I'm
>saying this from the point of view of liking the whole Prevayler very
>much.

Kyle:

I'm not sure that I understand the difference between the above and being concerned that one doesn't have enough hard disk space to fit all the business data written to disk. Disk space costs money, too. A silly conclusion: using a database is there too risky, because we might eclipse the amount of disk space I can afford.

What's the difference?

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-23 22:01:18 UTC
Permalink
On Sat, 2002-11-23 at 10:31, J. B. Rainsberger wrote:
>
> I'm not sure that I understand the difference between the above and
> being concerned that one doesn't have enough hard disk space to fit
> all the business data written to disk. Disk space costs money, too. A
> silly conclusion: using a database is there too risky, because we
> might eclipse the amount of disk space I can afford.
>
> What's the difference?

The techniques for adding additional disk space to a DB are relatively
well understood. E.g., you plop a couple more SCSI drives on the chain.
Adding RAM is much trickier. Once you max out a motherboard, you just
have to get a new motherboard. Worse, the cost per megabyte for a
single-box solution increases much more rapidly for RAM than for disk.

I suspect that Google has another piece of the answer here: they didn't
build one giant machine; they just bought machines of a convenient size
and then partitioned their data to fit.

For the apps I've worked on, I think I could make that sort of multi-box
distribution work pretty well. How about y'all?

William

--
William Pietri <***@scissor.com>


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
ericheikkila
2002-11-24 04:23:34 UTC
Permalink
I was thinking something similar . . . I think I'll start up a
little project (possibly not til January) and see what happens . . .

-Eric

--- In ***@y..., William Pietri <***@s...> wrote:
> On Sat, 2002-11-23 at 10:31, J. B. Rainsberger wrote:
> >
> > I'm not sure that I understand the difference between the above
and
> > being concerned that one doesn't have enough hard disk space to
fit
> > all the business data written to disk. Disk space costs money,
too. A
> > silly conclusion: using a database is there too risky, because we
> > might eclipse the amount of disk space I can afford.
> >
> > What's the difference?
>
> The techniques for adding additional disk space to a DB are
relatively
> well understood. E.g., you plop a couple more SCSI drives on the
chain.
> Adding RAM is much trickier. Once you max out a motherboard, you
just
> have to get a new motherboard. Worse, the cost per megabyte for a
> single-box solution increases much more rapidly for RAM than for
disk.
>
> I suspect that Google has another piece of the answer here: they
didn't
> build one giant machine; they just bought machines of a convenient
size
> and then partitioned their data to fit.
>
> For the apps I've worked on, I think I could make that sort of
multi-box
> distribution work pretty well. How about y'all?
>
> William
>
> --
> William Pietri <***@s...>


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-24 14:20:47 UTC
Permalink
From: "J. B. Rainsberger" <***@rogers.com>

> >To choose Prevayler places a huge bet on the Prevayler hypothesis
being
> >true - a gain if it holds, and a big loss if it doesn't. A DB is a

> I'm not sure that I understand the difference between
> the above and being concerned that one doesn't have
> enough hard disk space to fit all the business data
> written to disk. Disk space costs money, too. A silly
> conclusion: using a database is there too risky, because
> we might eclipse the amount of disk space I can afford.
>
> What's the difference?


When you phrase it like that, it sounds the same. However, when you
apply numbers (even very rough ones), it's quite different.

Assume for a moment that a back-of-the-envelope calculation says your
system will have 2 gigabytes of domain data. This would fit in RAM, on
a well equipped machine.

If you use Prevayler, and turn out to be wrong by a factor of 4 (i.e.,
new requirements etc. increase the data volume to 8 GB), you have a
problem. Equipping a computer with 8 GB of RAM (in the year 2002...) is
a big deal. I don't know if such machines are available.

If you use a disk-based DB, and turn out to be wrong by a factor of 40,
you still don't have a problem, because huge hard drives are cheap. If
you needed a 200 gigabyte drive array, that still wouldn't be very
expensive.

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-11-24 15:05:38 UTC
Permalink
So said Kyle Cordes on 2002-11-24

>From: "J. B. Rainsberger" <***@rogers.com>
>
>> >To choose Prevayler places a huge bet on the Prevayler hypothesis
>being
>> >true - a gain if it holds, and a big loss if it doesn't. A DB is a
>
>> I'm not sure that I understand the difference between
>> the above and being concerned that one doesn't have
>> enough hard disk space to fit all the business data
>> written to disk. Disk space costs money, too. A silly
>> conclusion: using a database is there too risky, because
>> we might eclipse the amount of disk space I can afford.
>>
>> What's the difference?
>
>When you phrase it like that, it sounds the same. However, when you
>apply numbers (even very rough ones), it's quite different.
>
>Assume for a moment that a back-of-the-envelope calculation says your
>system will have 2 gigabytes of domain data. This would fit in RAM, on
>a well equipped machine.
>
>If you use Prevayler, and turn out to be wrong by a factor of 4 (i.e.,
>new requirements etc. increase the data volume to 8 GB), you have a
>problem. Equipping a computer with 8 GB of RAM (in the year 2002...) is
>a big deal. I don't know if such machines are available.
>
>If you use a disk-based DB, and turn out to be wrong by a factor of 40,
>you still don't have a problem, because huge hard drives are cheap. If
>you needed a 200 gigabyte drive array, that still wouldn't be very
>expensive.

That would be a perfect explanation of the difference. :) Thanks.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Dossy
2002-11-24 16:32:00 UTC
Permalink
On 2002.11.24, Kyle Cordes <***@kylecordes.com> wrote:
> If you use Prevayler, and turn out to be wrong by a factor of 4 (i.e.,
> new requirements etc. increase the data volume to 8 GB), you have a
> problem. Equipping a computer with 8 GB of RAM (in the year 2002...) is
> a big deal. I don't know if such machines are available.
>
> If you use a disk-based DB, and turn out to be wrong by a factor of 40,
> you still don't have a problem, because huge hard drives are cheap. If
> you needed a 200 gigabyte drive array, that still wouldn't be very
> expensive.

This takes the naive view that in the Prevayler model you're using a
machine with only physical memory. In practice, building a machine with
4 GB of core/physical memory and another 4 GB of swap for a total of 8
GB of virtual memory is pretty normal where I work. If the application
demanded more memory, I'd just add more swap. If swap was too slow, I'd
add more core memory. If I hit the limit for the class of machine, I'd
upgrade to better hardware.

-- Dossy

--
Dossy Shiobara mail: ***@panoptic.com
Panoptic Computer Network web: http://www.panoptic.com/
"He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-24 16:57:51 UTC
Permalink
From: "Dossy" <***@panoptic.com>

> > If you use a disk-based DB, and turn out to be wrong by a factor of
40,
> > you still don't have a problem, because huge hard drives are cheap.
If
> > you needed a 200 gigabyte drive array, that still wouldn't be very
> > expensive.

> This takes the naive view that in the Prevayler model you're using a
> machine with only physical memory. In practice, building a machine
with
> 4 GB of core/physical memory and another 4 GB of swap for a total of 8
> GB of virtual memory is pretty normal where I work. If the
application
> demanded more memory, I'd just add more swap. If swap was too slow,
I'd

I know all about swap space; it was not a naive view at all... read the
earlier parts of the thread, where swap space was already discussed.
The Prevayler approach apparently does not work well when the data
starts paging out to virtual memory / swap; rather, it slows down
tremendously. That's because a memory-based approach scatters objects
through memory without regard to locality of reference, while a
disk-based DB arranges data with intensive attention to what bits end up
on the same disk block, minimzing the number of reads, etc. because disk
is so much slower than memory.

It's a well known issue in algorithm design, that efficiently working
with data on disk vs. in RAM, requires a very different approach. Add
virtual memory does not turn a good memory-based system in to a good
disk-based system.

Virtual memory is a very "leaky abstraction"... it looks just like real
RAM, but if you access data on a page that's currently not in real RAM,
it takes 1000 times longer.

If the total size in my example is easy to fit in RAM (as you say,
pehaps 4 GB of RAM is not a big deal any more!), simply scale up the
numbers I provided. Imagine you estimate 4 GB of data, which would fit
in RAM. You end up being wrong, and it's 12 GB instead. That's a tiny
hard drive, but a massive amount of RAM.

I think the "Prevaylent Hypothesis" is the key. If this hypothesis is
true for your system, it looks like a great approach. I would very much
like to build a system on Prevaylence instead of a database.

http://www.prevayler.org/wiki.jsp?topic=PrevalentHypothesis

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
uk_mjs
2002-11-24 17:30:18 UTC
Permalink
--- In ***@y..., "Kyle Cordes" <***@k...> wrote:
> From: "Dossy" <***@p...>
>
> > > If you use a disk-based DB, and turn out to be wrong by a
factor of
> 40,
> > > you still don't have a problem, because huge hard drives are
cheap.
> If
> > > you needed a 200 gigabyte drive array, that still wouldn't be
very
> > > expensive.
>
> > This takes the naive view that in the Prevayler model you're
using a
> > machine with only physical memory. In practice, building a
machine
> with
> > 4 GB of core/physical memory and another 4 GB of swap for a
total of 8
> > GB of virtual memory is pretty normal where I work. If the
> application
> > demanded more memory, I'd just add more swap. If swap was too
slow,
> I'd
>
> I know all about swap space; it was not a naive view at all...
read the
> earlier parts of the thread, where swap space was already
discussed.
> The Prevayler approach apparently does not work well when the data
> starts paging out to virtual memory / swap; rather, it slows down
> tremendously. That's because a memory-based approach scatters
objects
> through memory without regard to locality of reference, while a
> disk-based DB arranges data with intensive attention to what bits
end up
> on the same disk block, minimzing the number of reads, etc.
because disk
> is so much slower than memory.
>
> It's a well known issue in algorithm design, that efficiently
working
> with data on disk vs. in RAM, requires a very different approach.
Add
> virtual memory does not turn a good memory-based system in to a
good
> disk-based system.
>
> Virtual memory is a very "leaky abstraction"... it looks just like
real
> RAM, but if you access data on a page that's currently not in real
RAM,
> it takes 1000 times longer.
>
> If the total size in my example is easy to fit in RAM (as you say,
> pehaps 4 GB of RAM is not a big deal any more!), simply scale up
the
> numbers I provided. Imagine you estimate 4 GB of data, which
would fit
> in RAM. You end up being wrong, and it's 12 GB instead. That's a
tiny
> hard drive, but a massive amount of RAM.
>
> I think the "Prevaylent Hypothesis" is the key. If this
hypothesis is
> true for your system, it looks like a great approach. I would
very much
> like to build a system on Prevaylence instead of a database.
>
> http://www.prevayler.org/wiki.jsp?topic=PrevalentHypothesis
>
> Kyle Cordes
> www.kylecordes.com

How about putting your swap file on a RAM Disk, where the RAM is on
a PCI card?

Mark Smithson


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-24 17:57:56 UTC
Permalink
On Sun, 2002-11-24 at 09:30, uk_mjs wrote:
>
>
> How about putting your swap file on a RAM Disk, where the RAM is on
> a PCI card?
>

Does anybody have prices on this? In theory it should be pretty cheap,
as both disk controllers and RAM controllers are well understood. But
since the only people who need something like that are high-end types, I
imagine they are pretty spendy.

My main worry is that although it would be 1000x - 10000x faster than
disk swapping, it would still be 10x - 100x slower than keeping
everything in core. In addition to paying for a lot of trips into the
kernel, PCI bus bandwidth is pretty slow compared to main RAM.

Of course, even at 100x slower, Prevayler still should be faster than a
DB, and still just as easy to work with.

William

--
William Pietri <***@scissor.com>


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
uk_mjs
2002-11-24 18:20:21 UTC
Permalink
--- In ***@y..., William Pietri <***@s...> wrote:
> On Sun, 2002-11-24 at 09:30, uk_mjs wrote:
> >
> >
> > How about putting your swap file on a RAM Disk, where the RAM is
on
> > a PCI card?
> >
>
> Does anybody have prices on this? In theory it should be pretty
cheap,
> as both disk controllers and RAM controllers are well understood.
But
> since the only people who need something like that are high-end
types, I
> imagine they are pretty spendy.
>
> My main worry is that although it would be 1000x - 10000x faster
than
> disk swapping, it would still be 10x - 100x slower than keeping
> everything in core. In addition to paying for a lot of trips into
the
> kernel, PCI bus bandwidth is pretty slow compared to main RAM.
>
> Of course, even at 100x slower, Prevayler still should be faster
than a
> DB, and still just as easy to work with.
>
> William
>
> --
> William Pietri <***@s...>

Have a look at http://www.platypustechnology.com. Don't know much
about pricing - I think i saw something at about £750 for a
QikDrive, that was about 2 years ago though. Should be cheaper today
as memory has fallen.

Also there is http://www.cenatek.com. Not as high end so should be
cheaper and uses standard memory as well.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Alan Lund
2002-11-24 19:29:08 UTC
Permalink
Sunday, November 24, 2002, 11:57:56 AM, William wrote:

WP> On Sun, 2002-11-24 at 09:30, uk_mjs wrote:
>> How about putting your swap file on a RAM Disk, where the RAM is on
>> a PCI card?

WP> Does anybody have prices on this? In theory it should be pretty cheap,
WP> as both disk controllers and RAM controllers are well understood. But
WP> since the only people who need something like that are high-end types, I
WP> imagine they are pretty spendy.

WP> My main worry is that although it would be 1000x - 10000x faster than
WP> disk swapping, it would still be 10x - 100x slower than keeping
WP> everything in core. In addition to paying for a lot of trips into the
WP> kernel, PCI bus bandwidth is pretty slow compared to main RAM.

If you happen to have a Cray, they introduced a 224 GB solid state
disk with a 80 GB/sec data transfer rate. Prices start at just
$2,270,000.

http://www.supercomputingonline.com/article.php?sid=1830

http://www.supercomputingonline.com/article.php?sid=1849


--
Alan


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-25 06:04:01 UTC
Permalink
From: "uk_mjs" <***@smithson.plus.com>

> > I think the "Prevaylent Hypothesis" is the key. If this
> hypothesis is
> > true for your system, it looks like a great approach. I would

> How about putting your swap file on a RAM Disk, where the RAM is on
> a PCI card?

If you're going to buy some more RAM, why would you put it on a RAM-disk
card, and treat it as a swapfile, rather than just installing it as
system RAM? It seems like the RAMdisk-card-swap route would be much
more expensive and slower.

Kyle Cordes
www.kylecordes.com



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-24 23:52:43 UTC
Permalink
On Sun, 2002-11-24 at 08:57, Kyle Cordes wrote:
>
>
> I think the "Prevaylent Hypothesis" is the key. If this hypothesis is
> true for your system, it looks like a great approach. I would very much
> like to build a system on Prevaylence instead of a database.
>
> http://www.prevayler.org/wiki.jsp?topic=PrevalentHypothesis


I need to try it out, but I'm also beginning to suspect that hybrid
systems wouldn't be bad to build.

Suppose, for example, I'm building an intranet workgroup package that
manages email, calendar, to-do lists, and contacts. Everything except
the email would fit comfortably into RAM; many people have lots of room
to spare on their 2 MB PalmPilots. But the email's a big problem: I must
have a gigabyte of it just myself.

Really, though, most of the email never gets looked at, so it's a prime
candidate for on-demand loading and weak-reference caching. My only real
worry is that Prevayler's need to funnel all Commands through a single
point would cause unnecessary delay for other commands when I'm doing
email I/O operations. But I feel like there will be reasonable solutions
to that when I get there.

William

--
brains for sale: http://scissor.com/


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-25 06:11:10 UTC
Permalink
From: "William Pietri" <***@scissor.com>

> > I think the "Prevaylent Hypothesis" is the key. If this hypothesis
is
> > true for your system, it looks like a great approach. I would very
much

> I need to try it out, but I'm also beginning to suspect that hybrid
> systems wouldn't be bad to build.
>
> Suppose, for example, I'm building an intranet workgroup package that
> manages email, calendar, to-do lists, and contacts. Everything except
> the email would fit comfortably into RAM; many people have lots of
room

[...]

> point would cause unnecessary delay for other commands when I'm doing
> email I/O operations. But I feel like there will be reasonable
solutions
> to that when I get there.

Yes, it seems like there would be. Perhaps an approach that just
appends new email messages to a file, and stores the data about what
message is where in the file (and all other metadata), using Prevayler.
As long as the contents of the email was not used as part of the
Prevayler-managed operations, it seems like all the email content IO
could happen without blocking up the serialized stream of commands.

This is drifting pretty far offtopic, though. To drag it back a bit, I
think just storing the email in files, then using some plain old objects
to keep track of what data is where is much closer to the
simplest-thing-that-could-possibly-work than using a DMBS, BLOBs, etc.

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ian Collins
2002-11-25 05:42:19 UTC
Permalink
Kyle Cordes wrote:

>From: "J. B. Rainsberger" <***@rogers.com>
>
>
>
>>>To choose Prevayler places a huge bet on the Prevayler hypothesis
>>>
>>>
>being
>
>
>>>true - a gain if it holds, and a big loss if it doesn't. A DB is a
>>>
>>>
>
>
>
>>I'm not sure that I understand the difference between
>>the above and being concerned that one doesn't have
>>enough hard disk space to fit all the business data
>>written to disk. Disk space costs money, too. A silly
>>conclusion: using a database is there too risky, because
>>we might eclipse the amount of disk space I can afford.
>>
>>What's the difference?
>>
>>
>
>
>When you phrase it like that, it sounds the same. However, when you
>apply numbers (even very rough ones), it's quite different.
>
>Assume for a moment that a back-of-the-envelope calculation says your
>system will have 2 gigabytes of domain data. This would fit in RAM, on
>a well equipped machine.
>
>If you use Prevayler, and turn out to be wrong by a factor of 4 (i.e.,
>new requirements etc. increase the data volume to 8 GB), you have a
>problem. Equipping a computer with 8 GB of RAM (in the year 2002...) is
>a big deal. I don't know if such machines are available.
>
>If you use a disk-based DB, and turn out to be wrong by a factor of 40,
>you still don't have a problem, because huge hard drives are cheap. If
>you needed a 200 gigabyte drive array, that still wouldn't be very
>expensive.
>
>
>
If you had that much data, you may require a big iron system to manage it, in that case, 200 GB of RAM isn't a (physical) problem. It just costs a lot!

Current "big iron" boxes support >500 GB of physical memory.

Alternatively, you could do a google and distribute the data over several machines.

Ian





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-25 06:06:17 UTC
Permalink
From: "Ian Collins" <***@masuma.com>

> >you needed a 200 gigabyte drive array, that still wouldn't be very
> >expensive.

> If you had that much data, you may require a
> big iron system to manage it, in that case,
> 200 GB of RAM isn't a (physical) problem. It just costs a lot!


200 GB isn't that much data, certainly nowhere near enough to justify
"big iron" on the basis of the data size.


> Alternatively, you could do a google and distribute the data over
several machines.

You could, and it may be a great way to go; however, it would not be as
simple as Pervayler.

Kyle Cordes
www.kylecordes.com


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Tom Legrady
2002-11-25 06:27:58 UTC
Permalink
'Too large a data set' is not a valid counter-arguement, for two reasons:

'too large' is a constantly moving target.

Any new technology will generally handle limited problems, initially. The fact that it is limited does not mean it is a bad solution. Linux 1.0 was far inferior to CrayOS, as a hardware/software combination, but nowadays, thanks to Mosix, etc, Linux files the role that CrayOss once monopolized. Even if in-memory / embedded DB systems never scale up beyond a certain point does not prevent them from being an ideal solution for smaller problems. If your DB requirements occupy 25% of all available memory, it is time to re-evaluate the future ... will motherboard capacities grow, in time, to exceed your problem domain? Can you split your data set into disjoint components? Can you use some sort of 'farm' to process pieces of a larger problem? [ in an economically viable way? ] Or is it time to give up and go to a larger-scale solution, such as a traditional DB? If your data size doubles each year, maybe you can keep pace, if you run fast enough, but if it is 2^N, N = years since in
ception, you can forget about in-memory solutions, the problem is hope long you can make more tradtiional solutions work.



Tom Legrady



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
uk_mjs
2002-11-23 11:57:04 UTC
Permalink
--- In ***@y..., ***@o... wrote:
>
> Sure. It is just a question of time, though:
> http://www.prevayler.org/wiki.jsp?
topic=BreakthroughsInMemoryTechnology
>
> See you, Klaus.
>
>
> > From: "Kyle Cordes" <***@k...>
>
> > Unfortunately, I don't see a way to use anything like Prevayler
anytime
> > soon, because my business apps often have gigabytes of data in
the
> > database, such that placing bet that "the domain objects will
all fit in
> > RAM", could end up biting me very badly.

There are ways around the limits imposed by operating systems /
virtual machine or hardware memory limits.

For example have a look at http://www.platypustechnology.com for a
way of having a 'large' amount of memory available. I stumbled
across this a while back and thought it must be useful for
something. Prevayler looks like a promising application.

You could put the virtual memory/swap-file on a fast RAM disk. Yes
it is quite expensive, but it would be interesting to compare the
cost to DB licensing and maintenance costs.

Klaus, have you any information on the likely performance of a
configuration like this.

Mark Smithson


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-22 16:49:12 UTC
Permalink
On Fri, 2002-11-22 at 06:05, ***@objective.com.br wrote:
> > So suppose we have a dataset that won't fit in RAM. One option is to set
> > up a database and write a lot of SQL code. Another is to set up
> > Prevayler and a whole lot of swap space. Klaus, do you have any notion
> > on how the performance of the two approaches compares?
>
> Yes. Your system wont stop, but letting the VM swap in a prevalent system
> is terribly slow. Not an option.

Interesting. Given that Preyaler is thousands of times faster than DBs,
this suggests that swapping slows down VMs by more than a factor of
10,000, yes? And just to check, did you do your tests with something
that simulates typical usage patterns?

> The virtual memory managers (VMMs) I found were all geared at allocating
> more contiguous memory blocks (such as a large part of an app), not sparse,
> randomly located small objects.
>
> I didn't cover all Linux VMMs, though. Any tips are very welcome.

I'll see if I can find the time to look into this. My initial guess is
that it's a combination of two problems: As you say, VMMs are probably
not tuned for this. And there's no way to hint to the Java VM that
things belong together, so object data would tend towards random
distribution.

Does anybody know of references that explain what the common Java GCs do
when coalescing data?


I love that quote you have from Google's CEO:

At Google, for example, we found it costs less money and it is
more efficient to use DRAM as storage as opposed to hard disks
-- which is kind of amazing. It turns out that DRAM is 200,000
times more efficient when it comes to storing seekable data. In
a disk architecture, you have to wait for a disk arm to retrieve
information off of a hard-disk platter. DRAM is not only
cheaper, but queries are lightning fast.

This strikes me as a brilliant insight. And it also has architectural
implications: In they same way that OO organizes the code around the
data, you can win big by organizing your RAM and CPU around the data,
too.

William




--

William Pietri <***@scissor.com>


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
c***@cdegroot.com
2002-11-22 19:43:39 UTC
Permalink
William Pietri <***@scissor.com> said:
>This strikes me as a brilliant insight.
>
It strikes me as common sense.

(just looked at the Prevayler website. Java people reinventing wheels. Yawn.
Film at 11).



--
Cees de Groot http://www.cdegroot.com <***@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Cogito ergo evigilo

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ron Jeffries
2002-11-22 19:52:50 UTC
Permalink
On Friday, November 22, 2002, at 2:43:39 PM, ***@cdegroot.com wrote:

> (just looked at the Prevayler website. Java people reinventing wheels. Yawn.
> Film at 11).

What wheel is that?

Ron Jeffries
www.XProgramming.com
You do ill if you praise, but worse if you censure,
what you do not understand. --Leonardo da Vinci


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
c***@cdegroot.com
2002-11-22 22:56:38 UTC
Permalink
Ron Jeffries <***@acm.org> said:
>What wheel is that?
>
(Image) snapshots with transaction logging.

(see e.g. http://macos.tuwien.ac.at/Squeak/webServer.html, but I'm quite sure
that Georg wasn't the first one to implement the idea, because it's so
completely logical and natural in Smalltalk)


--
Cees de Groot http://www.cdegroot.com <***@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Cogito ergo evigilo

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Kyle Cordes
2002-11-23 00:44:01 UTC
Permalink
From: "Ron Jeffries" <***@acm.org>

> On Friday, November 22, 2002, at 2:43:39 PM, ***@cdegroot.com wrote:

> > (just looked at the Prevayler website. Java people reinventing
wheels. Yawn.
> > Film at 11).

> What wheel is that?

I don't see any reinvented wheels, but the comment reminded me of the
past... I just realized that I made something like a "Prevaylent"
application around 10 years ago. It was C++, it held all its domain
objects in RAM, and occasionally wrote them out to disk en masse; it
also wrote out a log of what it was doing. The crucial thing I missed,
is that I didn't use a Command pattern for the changes; instead I dumped
new versions of all changed objects as the "log"; and I didn't have any
nice serialization code, so it was a lot more manual.

Kyle Cordes
www.kylecordes.com





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
c***@cdegroot.com
2002-11-23 10:18:28 UTC
Permalink
Kyle Cordes <***@kylecordes.com> said:
>I don't see any reinvented wheels, but the comment reminded me of the
>past...

Smalltalk has had snapshotting for something like a quarter of a century. The
toolkit I pointed at uses incoming URL's as the commands to store in the
transaction log. I know about at least one Smalltalk shop that has had
something similar to Prevayler around for ages, in case the dataset was indeed
small enough to fit in RAM and the customer wasn't prepared to cough up for
Gemstone or some expensive O/R mapping tool, but in this environment the idea
is so completely logical that I cannot imagine that this wasn't around (and in
production use) in the '80s.

There is a fortune cookie on my box:

"Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer"

The same holds for Smalltalk (and Lisp), and daily announcements in the
Java world exemplify this (not only the announcements, but especially
the fact that the people behind these 'new' things don't seem to be
aware of the rich prior art).

(note that I'm not starting a language flamewar here - I have my opinions
on the relative qualities of various languages and the appropriateness
to bring the discussion up (if we're allowed to discuss the relative
merits of 4x6 cards vs. X, why not discuss the relative merits of the most
important tool of all, the language?), but that's not the point here. The
point is that people *are* reinventing wheels, and thereby ignoring
often decades of prior art and thinking. OAOO should hold here, too).

--
Cees de Groot http://www.cdegroot.com <***@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Cogito ergo evigilo

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Bill de hÓra
2002-11-24 16:56:11 UTC
Permalink
***@cdegroot.com wrote:

> (note that I'm not starting a language flamewar here - I have my opinions
> on the relative qualities of various languages and the appropriateness
> to bring the discussion up (if we're allowed to discuss the relative
> merits of 4x6 cards vs. X, why not discuss the relative merits of the most
> important tool of all, the language?), but that's not the point here. The
> point is that people *are* reinventing wheels, and thereby ignoring
> often decades of prior art and thinking. OAOO should hold here, too).
>

Agreed, but....

Java/J2EE is *highly* DB centric, (I'm pretty sure you know this
Cees). Not having a relational database at the centre of the
universe might be considered at best radical, at worst
irresponsible. That particular range of opinion is wrongheaded, but
technical norms often are. I don't think you can credibly dismiss
the Prevayler project as reinventing wheels - within Java-land this
is a reasonably novel approach, as is the current vogue in J2EE
circles for AOP variants.

Bill de hÓra


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
J. B. Rainsberger
2002-11-23 18:33:09 UTC
Permalink
So said ***@cdegroot.com on 2002-11-22

>William Pietri <***@scissor.com> said:
>>This strikes me as a brilliant insight.
>>
>It strikes me as common sense.
>
>(just looked at the Prevayler website. Java people reinventing wheels.
>Yawn.
>Film at 11).

If the wheel skips entire generations of programmers, then re-inventing it *is* big news. Plato's cave and all.

J. B. Rainsberger,
President, Diaspar Software Services
Let's write software that people understand.
http://www.diasparsoftware.com/
telephone: +1 416 791-8603
All correspondence (c) 2002 Diaspar Software Services.
If you want to use it, just ask; don't steal.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
William Pietri
2002-11-23 20:37:24 UTC
Permalink
On Fri, 2002-11-22 at 11:43, ***@cdegroot.com wrote:
> William Pietri <***@scissor.com> said:
> >This strikes me as a brilliant insight.
> >
> It strikes me as common sense.
>
> (just looked at the Prevayler website. Java people reinventing wheels. Yawn.
> Film at 11).

True. But it's often said that XP is a bunch of techniques that people
first did circa 1970. Does that mean that people should yawn at it, too?

Looking at current practices, it seems to me that even the notion that
you shouldn't organize everything around a database is thought radical.
At XP Universe, hardly a crowd of trailing-edge people, I watched Klaus
tell a couple dozen people about Prevalyer. The common reaction wasn't,
"Well, duh." It was either, "That's nuts," or, "That sounds plausible,
but I'll have to try it to be sure."

Having an idea is swell. But I reserve most of my applause for those who
recognize the broader importance of an idea and have the tenacity to get
their ideas heard and talked about.

William

Postscript to all you Smalltalkers: if you're sitting on any other
secrets, please let 'em out! :-)

--
William Pietri <***@scissor.com>


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
c***@cdegroot.com
2002-11-25 08:32:26 UTC
Permalink
William Pietri <***@scissor.com> said:
>True. But it's often said that XP is a bunch of techniques that people
>first did circa 1970. Does that mean that people should yawn at it, too?
>
I've talked about this with some of these old hats. I do think that the people
behind XP were original in that they added checks'n'balances to a process that
was, indeed, already known.

Also, I don't think that at least the 'founding fathers' of XP have ever
touted their method as 'unique', 'radical', 'best thing since sliced bread',
'going to chance the universe'. Probably that's because they don't have access
to lots of marketing dollars ;-)

My gripe is that it happens very often that people come up with important
ideas that they think are truly original, but they turn out to be truly
original just for their little corner of the world (the corner is often called
'Java' - I've been there, and with all the 'new' stuff being spit out in
Javaland it is indeed nigh impossible to keep time to look at other corners of
the world) and common knowledge in another part. That's the piece that
disturbs me - not that there is 'prior art', that can always happen. No, that
there is 'common knowledge'. It shows that a) our industry is really immature,
and b) that if you think up something great, you should spend the first couple
of months browsing websites that talk about languages/OSes/... you *don't*
know before labeling it with any of the adjectives from the previous
paragraph.

Understand me correctly: I'm not putting down people as dumbasses. It just
makes me feel sad to think of all the time spent reinventing wheels (esp.
for a language that actually needs crutches ;-)). Why do we have to be so
grossly inefficient and what can we do about it?

>Postscript to all you Smalltalkers: if you're sitting on any other
>secrets, please let 'em out! :-)
>
Well, the Java universe is very busy reinventing the Smalltalk wheel. Stuff
like Prevayler (persistent object images) and Eclipse (a dynamic IDE with
things like being able to change code in the debugger) come really close.

But until Java sheds off its ugly C++ heritage (native types, static
strong typing, locking down the class hierarchy, extremely weak MOP), a
lot of stuff that Smalltalkers don't even think about will stay *hard*
in Java. Consider the difference when you want to do AOP: in Java,
a whole (paid) research team has been busy with Aspect/J because you
need to go into the compiler, make sure that all dependent classes are
recompiled when changing aspects, etcetera. In (Squeak) Smalltalk, a guy
just wrote it (IIRC, in his spare time) and then went on putting another
useful layer on top of that (PerspectiveS, which lets an object behave
differently depending on where you come from). That's a productivity
difference by an order of magnitude (it's an extreme case, my personal
experience rougly confirms the often-cited factor 3).

Anyway, Smalltalkers don't need to let secrets out, they're out
there. Just come over and take a look :-)

(and be sure to check the Lisp world as well, its what Smalltalkers often
turn to for ideas ;-)).

--
Cees de Groot http://www.cdegroot.com <***@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Cogito ergo evigilo

To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Loading...