By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,382 Members | 1,688 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,382 IT Pros & Developers. It's quick & easy.

units hijnks

P: n/a

Well lads :-)... looking at your Boost Units library the impression I
get is that you got your library into boost Before writing anything
much apart from some documentation, which was AFAICS even noted and
allowed for in the review managers preamble. Nice work boost ... :-)

Why the library was moved to the top of the review queue and accepted
in such an unfinished state has I conjecture a lot to do with...
hmm ... the BoostCon circus?

Anyway looking at the docs It must have been greatly helped by having
Quan to dip into when you needed some ideas? And your documentation
content seems quite similar doesnt it eh lads ? eh ? eh ? ... ;-) :

http://sourceforge.net/projects/quan

I presume you are aware of Quan having even put a link to the Quan
library in a previous version (mcs_unitsv0.5.8). Strangely, mention of
my work seems to have disappeared in later versions including the
review version though ? (A private email to you has had no response
regarding this)... ;-)

Looking at the boost repository I see that you are now struggling
with your lack of units problem which perversely for a library named
"units" seems to have been basically ignored in the boost review
version. Luckily I guess you did't need to go far to look for ideas
hence:

quan united_value definition

http://tinyurl.com/2nezfq

(also well documented previously on and off boost and part of my pqs
library for some years now and is AFAIK the original useage of
template metaprogramming for this calculation in a quantities library)

Strangely very similar (though very immature) boost version:

http://tinyurl.com/2w2yzb

(Also shown as a toy example in the boost units review version docs
(unitexample6))

Interesting that the link to Quan which was in the documentation of
the previous version of your efforts (hence you obviously know all
about Quan) seems to have disappeared too in the review version. Have
you guys been ignoring my work publicly on boost.org while quietly
been dipping into it ?... That would be a bit sly wouldnt it? ;-)

You guys might want to look at the following site too:

http://en.wikipedia.org/wiki/Plagiarism.

It will be interesting to watch your progress and see how much of the
original work in Quan is similarly "appreciated".

"Boost Con" kind of sums it up AFAICS.
regards
Andy Little

May 27 '07 #1
Share this Question
Share on Google+
18 Replies


P: n/a
On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library
My Boost Units library? Honest guv, it wernt me, I wernt there an I dint
have nuffink to do wif it.

[snip some incomprehensible stuff]

Was there a C++ question in there somewhere?

--
Lionel B
May 29 '07 #2

P: n/a
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library

My Boost Units library? Honest guv, it wernt me, I wernt there an I dint
have nuffink to do wif it.

[snip some incomprehensible stuff]

Was there a C++ question in there somewhere?
Sure...hmmm How do you go about providing attribution in your C++
source code?
Take a look here:
http://tinyurl.com/2maftk

This fellah is certainly not very complimentary about Quan...
whatever, but note that he saw that the rational had come from someone
else. Now how did he deduce that? Well possibly because of the
attribution... if you look here you will see I give the original
sources an attribution in the header file, which is pretty clear..

http://tinyurl.com/2wtxq9

(Technically IIRC there is nothing left of the original as that was
some 5 years back, and on another technical note If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none, an exchange regarding which
I believe is also documented somewhere on boost.devel. I try to give
credit where its due irrespective of personal feelings.

regards
Andy Little
May 29 '07 #3

P: n/a
kwikius wrote:
If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none,
Under American law it doesn't matter. Every creative work is born with a
copyright, regardless of whether it contains a copyright notice. If
you're going to copy someone else's work you'd better have something in
writing saying that it's okay.

--

-- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)
May 29 '07 #4

P: n/a
On Tue, 29 May 2007 12:35:06 -0700, kwikius wrote:
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
>On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library

My Boost Units library? Honest guv, it wernt me, I wernt there an I
dint have nuffink to do wif it.

[snip some incomprehensible stuff]

Was there a C++ question in there somewhere?

Sure...hmmm How do you go about providing attribution in your C++ source
code?
[snip more stuff]

Ok, let me try again: Was there a C++ *language* question in there
somewhere?

--
Lionel B
May 30 '07 #5

P: n/a
On 29 May, 22:06, Pete Becker <p...@versatilecoding.comwrote:
kwikius wrote:
If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none,

Under American law it doesn't matter. Every creative work is born with a
copyright, regardless of whether it contains a copyright notice. If
you're going to copy someone else's work you'd better have something in
writing saying that it's okay.
I am not concerned with copy pasting as such which AFAICS is all
copyright essentially boils down to. My initial thought is to read up
around plagiarism ( IOW theft).

A legal case might be an interesting project, at least as an
exercise.

regards
Andy Little


May 30 '07 #6

P: n/a
On 30 May, 10:05, Lionel B <m...@privacy.netwrote:
On Tue, 29 May 2007 12:35:06 -0700, kwikius wrote:
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library
My Boost Units library? Honest guv, it wernt me, I wernt there an I
dint have nuffink to do wif it.
[snip some incomprehensible stuff]
Was there a C++ question in there somewhere?
Sure...hmmm How do you go about providing attribution in your C++ source
code?

[snip more stuff]
Hey man thats cruel.., I think I'm going to nickname you "snipper" :-)
Ok, let me try again: Was there a C++ *language* question in there
somewhere?
Oh I don't know snipper....
Q. Whats the best cross platform GUI written in the *C++ language* ?

A. The one what I am currently developing of course :-)

Q. Whats wrong with /* some template code */

A. no typename

There. .. some more stuff you can snip.. Happy snipping, snipper...

regards
Andy Little
May 30 '07 #7

P: n/a
kwikius wrote:
On 29 May, 22:06, Pete Becker <p...@versatilecoding.comwrote:
>kwikius wrote:
>>If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none,
Under American law it doesn't matter. Every creative work is born with a
copyright, regardless of whether it contains a copyright notice. If
you're going to copy someone else's work you'd better have something in
writing saying that it's okay.

I am not concerned with copy pasting as such which AFAICS is all
copyright essentially boils down to.
Copyright applies to copying expression, not to literal words. If you
replace every user-defined identifier with a different one and reformat
the code to satisfy your coding standards you are still copying
expression, and still violating the copyright.

In any event, the details of what constitutes copyright violation have
nothing to do with your erroneous implication that copyright doesn't
apply if a work doesn't have a copyright notice.

--

-- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)
May 30 '07 #8

P: n/a
kwikius <an**@servocomm.freeserve.co.ukwrites:
On 29 May, 22:06, Pete Becker <p...@versatilecoding.comwrote:
kwikius wrote:
If there had been a copyright notice in his source code I would
have been bound to respect it, but in this case IIRC there was
none,
Under American law it doesn't matter. Every creative work is born
with a copyright, regardless of whether it contains a copyright
notice. If you're going to copy someone else's work you'd better
have something in writing saying that it's okay.

I am not concerned with copy pasting as such which AFAICS is all
copyright essentially boils down to. My initial thought is to read
up around plagiarism ( IOW theft).

A legal case might be an interesting project, at least as an
exercise.
Andy, if you think the authors of Boost's Quantitative Units
library plagarized your code, go ask them about it in the Boost
forums; it's OT here, and nobody here can do anything about it
anyway.

--
Dave Steffen, Ph.D. A Zen master once said to me, "Do the
Software Engineer IV opposite of whatever I tell you."
Numerica Corporation So I didn't.
ph (970) 461-2000 x227 -- not Hofstadter (but should have been)
May 30 '07 #9

P: n/a
On 30 May, 20:52, Pete Becker <p...@versatilecoding.comwrote:
kwikius wrote:
On 29 May, 22:06, Pete Becker <p...@versatilecoding.comwrote:
kwikius wrote:
If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none,
Under American law it doesn't matter. Every creative work is born with a
copyright, regardless of whether it contains a copyright notice. If
you're going to copy someone else's work you'd better have something in
writing saying that it's okay.
I am not concerned with copy pasting as such which AFAICS is all
copyright essentially boils down to.

Copyright applies to copying expression, not to literal words. If you
replace every user-defined identifier with a different one and reformat
the code to satisfy your coding standards you are still copying
expression, and still violating the copyright.
Ok. That is interesting. (I hope I can get round to do background on
what you are saying but impeded by a slow internet connection
currently)

It depends of course on what constitutes an expression. If an
expression is simply any abstract expression independent of the
language it will be difficult. It very much needs to be understood in
the context of C++. In this case I would describe the thing as a
template type with associated operations. The expressions involved
need to be understood in the context of compile time and run time. IOW
an expression results in a particular type. More detail on The
particular idea I am referring to is demonstrated (again ) in the code
at the end --->

I have found a reference where I discussed the idea on boost so it had
certainly been implemented in pqs at that time. Jan 3 2004 11:13AM

http://aspn.activestate.com/ASPN/Mai.../boost/1930487

The relevent part is around half way down:

"
In pqs-1-00-01 The powers of 10 are carried through the system at
compile
time in many calcs so the lib is optimised for those.
"

Someone may wish to claim that they did this before in the context of C
++, physical quantities and the SI. Would need evidence of course...

I don't claim the idea is earth shattering but its very useful in this
context, and I sweated it.
Once you see the idea it is blindingly obvious, However it takes a lot
of hard work to get to that simplicity especially when you are also
trying to deal with a large number of other issues in a quantities
library. Sure doesnt take anything like that amount of work to rip it
off. (And its not the only idea first implemented by me in PQS/Quan
which seems to have been used in the Boost Units offering and which I
am reasonably sure I can find documentary evidence for if I look
around)

To describe it to a layman would probably require describing various
technical aspects of C++ e.g TMP , compile time versus runtime and
also the SI physical quantities system to show why the thing is
particularly useful.

My initial thought is to sit the judge and jury down in front of a PC
and teach them some basic C++ else they arent really going to figure
out what I am getting at !

regards
Andy Little

//----------------------------------

// Copyright Andrew Little 2007
//
// Distributed under the Boost Software License, Version 1.0.
// http://www.boost.org/LICENSE_1_0.txt)

#include <iostream>
#include <cmath>
/*
Very simplified class template representing a numeric value bundled
with an exponent to base10
where parts of the calculations are done with TMP
*/
template <int Exp>
struct value_with_exp{

const static int exp = Exp;
explicit value_with_exp( double in): numeric_value(in){}
// copy
value_with_exp( value_with_exp const & in) :
numeric_value(in.numeric_value){}
// other powers
template <int ExpRhs>
value_with_exp( value_with_exp<ExpRhsin) :
numeric_value(in.numeric_value * std::pow(10., ExpRhs - Exp)) {}
double numeric_value;
};
// The fun part is the math ops:
// multiplication and division are very efficient:
template <int ExpLhs, int ExpRhs>
value_with_exp<ExpLhs + ExpRhs>
operator * (value_with_exp<ExpLhslhs, value_with_exp<ExpRhsrhs)
{
return value_with_exp<ExpLhs + ExpRhs>(lhs.numeric_value *
rhs.numeric_value) ;
}
// division impl should be easy to deduce..

// for addition and subtraction of value_with_exp with different exp
params there is an obvious problem...
//What should be the type of the result (First raised by jan Langer on
boost.devel)?
// My solution in PQS and Quan was to select the finest grained exp
for the type of the result:
// using a traits class
// Lhs and Rhs are models of value_with_exp
template <typename Lhs,typename Rhs>
struct result_of_plus{
static const int result_exp =
( Lhs::exp < Rhs::exp)? Lhs::exp : Rhs::exp;
typedef value_with_exp<result_exptype;
};
template <int ExpLhs, int ExpRhs>
typename result_of_plus< value_with_exp<ExpLhs>,value_with_exp<ExpRhs>
::type
operator +(value_with_exp<ExpLhsconst & lhs, value_with_exp<ExpRhs>
rhs)
{
// deduce finest grained...
typedef typename result_of_plus<
value_with_exp<ExpLhs>,value_with_exp<ExpRhs>
::type result_type;
// now need to adjust numeric_values, done here by utilising
conversion ctor:

result_type left = lhs;
result_type right = rhs;
return result_type(left.numeric_value + right.numeric_value) ;

}

// subtract easy to deduce..

// simple output
template <int Exp>
std::ostream & operator << (std::ostream & os,value_with_exp<Exprhs)
{
std:: cout << rhs.numeric_value << " to power " << Exp ;
return os;
}

//( some SI quantities Ignoring dimensional analysis:)

typedef value_with_exp<0meters;
typedef value_with_exp<-3millimeters;
typedef value_with_exp<3kilometers;
// areas.. again ignoring dimensional analysis
typedef value_with_exp<0square_meters;
typedef value_with_exp<-6square_millimeters;

int main()
{
meters x(1);
kilometers y(1);

std::cout << "x = " << x << '\n';
std::cout << "y = " << y <<'\n';

// do some math:

std::cout << " x + y = " << x + y <<'\n';
std::cout << " x * y = " << x * y <<'\n';
// math and conversion..
square_millimeters z = x * y;

std::cout << "z <-- (x * y) = " << z <<'\n';

}
/*
output:
x = 1 to power 0
y = 1 to power 3
x + y = 1001 to power 0
x * y = 1 to power 3
z <-- (x * y) = 1e+09 to power -6

*/
In any event, the details of what constitutes copyright violation have
nothing to do with your erroneous implication that copyright doesn't
apply if a work doesn't have a copyright notice.

OK. I obviously need to look up a great deal more on this whole
business.

May 31 '07 #10

P: n/a
kwikius wrote:
Well lads :-)... looking at your Boost Units library the impression I
get is that you got your library into boost Before writing anything
much apart from some documentation, which was AFAICS even noted and
allowed for in the review managers preamble. Nice work boost ... :-)

Why the library was moved to the top of the review queue and accepted
in such an unfinished state has I conjecture a lot to do with...
hmm ... the BoostCon circus?
I voted against that library and you can see my review in the archive.
I compared all the unit libraries that were available. This is one of
those things who's time has come; especially since the challenge was
issued at the end of Chapter 3 of the MPL book. Your PQS library is
very different from MCS is some rather fundamental ways. PQS had no
concept of a unit "system" for instance. MCS also uses a completely
different structure to represent dimensions; PQS is based on the
vector_c structure used in the book.

I'm sure they did look at some of the things you did when making their
library to see if you'd solved any of the issues they were having. This
is completely natural and there's nothing wrong with it. You also
licensed your library in such a way that they could have copy/pasted
your code and been in good legal standing. They might have left some
credit to you for being one of the first attempts but I think at some
point they must have decided that theirs was so completely different now
that it was a historical reference only.

I wanted to get in there too. I think that both MCS and PQL are missing
important components that would make them more useful to a wider
audience. I was beaten to the punch and outvoted. It happens to me a
lot. Gotta learn to live with it.

Hell, I once had someone pay another person to develop MY program. I
didn't even find out until the contracted developer contacted me to ask
questions: http://xiangqi-engine.sourceforge.net/cxboard.html
May 31 '07 #11

P: n/a
On 31 May, 00:13, Dave Steffen <dgstef...@numerica.uswrote:
Andy, if you think the authors of Boost's Quantitative Units
library plagarized your code, go ask them about it in the Boost
forums;
The people at the heart of boost exercise a large amount of control
over what goes on there. I believe there is a lot of discussions and
politics behind the scenes.

Last year I had my own PQS library reviewed at boost. This was in May
2006. My guess is that the idea then was simply to ignore PQS and hope
it would go away, so there were zero posts regarding pqs for the first
few days of the review. Then one of the regulars did break ranks and
wrote a comprehensive review.

Also around this time in the PQS review I made the decision to get in
touch with some of the (mostly non boost) people who had discussed the
library with me over the years. To some extent I felt bad about it, as
I don't like to impose on people and boost.devel can be a crocodile
pit, but I am very grateful that they took the time out to get
involved.

Anyway after that the basically the review exploded. Now a lot of
favourable reviews started coming in and it was looking very good for
PQS.

(I believe that after the some members of boost.devel said that what I
had done was unethical. IOW that only boost.devel members should be
allowed to contribute reviews. I think that is a daft attitude but it
sums up the atmosphere of boost.devel)

There was finally a backlash in the PQS review. The backlash was
crowned by one of the most prominent members of boost. Nevertheless
his views are very influential on boost and so I didnt see much point
in continuing. I reckoned that even if the review was successful for
PQS that developing it under this atmosphere was not going to be
exactly enjoyable, and there was some seesawing about me withdrawing
it, not etc etc

Anyway, from nothing the review about PQS continued on boost.devel
even after it was officially over for a good few weeks and it was the
largest review of any library before or since AFAIK.

The library was eventually rejected.

After the review period I was however highly encouraged and several
people got in touch about the library and encouraged me to continue
with it. The review manager said the same thing.

The reaction on boost.devel however was in marked contrast. Something
as they say "went down". It was obvious that physical quantities was
a real big goer. At least 4 rival libraries appeared within a short
period after the review, 2 of them AFAIK from std C++ committee
members.

There was also then a lot of talk of "raising the bar" and raising
standards and so on and so forth and the impression I got was that
whenever I reached the bar, then sure as heck it was going to be
raised again.

Looking back I think that there must have been some strategising
behind the scenes which was designed to ship me me out, which
eventually succeeded. For example there was a lot of emphasis that PQS
had been rejected, I had failed etc, but no word about PQS merits.

I'm not really interested in returning.

The review of the now Boost Units library was conducted with little or
no mention of my previous work or my review.
it's OT here, and nobody here can do anything about it
anyway.
CLC++ is a maybe more neutral zone with a much wider range of views
than boost.devel and I believe that there is some reasonable C++
content of general interest in this thread. I have found Pete Beckers
comments re legal issues particularly helpful.

regards
Andy Little

May 31 '07 #12

P: n/a
kwikius wrote:
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
>On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
>>Well lads :-)... looking at your Boost Units library
My Boost Units library? Honest guv, it wernt me, I wernt there an I dint
have nuffink to do wif it.

[snip some incomprehensible stuff]

Was there a C++ question in there somewhere?

Sure...hmmm How do you go about providing attribution in your C++
source code?
Take a look here:
http://tinyurl.com/2maftk

This fellah is certainly not very complimentary about Quan...
whatever, but note that he saw that the rational had come from someone
else. Now how did he deduce that? Well possibly because of the
attribution... if you look here you will see I give the original
sources an attribution in the header file, which is pretty clear..
Yep, that's how I deduced that fact.

I was equally hard on MCS, in fact more so since I actually thought Quan
was better. Both had problems though. I think it unfortunate that MCS
was accepted. Now we are stuck with that interface and it leaves much
to be desired in my opinion.
>
http://tinyurl.com/2wtxq9

(Technically IIRC there is nothing left of the original as that was
some 5 years back, and on another technical note If there had been a
copyright notice in his source code I would have been bound to respect
it, but in this case IIRC there was none, an exchange regarding which
I believe is also documented somewhere on boost.devel. I try to give
credit where its due irrespective of personal feelings.
I find it interesting that the person you quote as originating
static_rational is the same that created the now accepted Boost.units.

Actually the "failure" of Quan was brought up repeatedly to counter my
points.

Every group has politics.
May 31 '07 #13

P: n/a


On 31 May, 17:09, Noah Roberts <u...@example.netwrote:
kwikius wrote:
Well lads :-)... looking at your Boost Units library the impression I
get is that you got your library into boost Before writing anything
much apart from some documentation, which was AFAICS even noted and
allowed for in the review managers preamble. Nice work boost ... :-)
Why the library was moved to the top of the review queue and accepted
in such an unfinished state has I conjecture a lot to do with...
hmm ... the BoostCon circus?

I voted against that library and you can see my review in the archive.
I compared all the unit libraries that were available. This is one of
those things who's time has come;
That may be the case, but things whose time has come don't just
happen.

There have been a lot of C++ physical quantities libraries. For
example you can still see a selection on the now dormant boost files
section:

I was led to boost and those libraries (in 2003 I think) because I was
spending a lot of time tracking units of quantities in some
engineering code.
Unfortunately they didnt meet my requirements, which were relatively
simple as it seemed then.

1)I wanted quantities in units. I specifically remember I had lengths
as meters and as millimeters in my code (then implemented as doubles)
and I spent a lot of time one day tracking back and forth between
source files checking what units (e.g meters or millimeters etc) a
particular variable was meant to be in.

2)The other requirement I had was for input output and this wasnt
really catered for AFAICS.

3) Finally the libraries all seemed to have concentrated on the
dimensional analysis part and then tailed off and been abandoned,
which I found odd.

Anyway I decided then to write my own physical quantities library to
implement the requirements above. I presented the first version
pqs-1-00-0 to boost at that time. It became clear that pqs was
significantly different both because of implementing the above
requirements, but also because it made no use of Boost.MPL template
metaprogramming library.
especially since the challenge was
issued at the end of Chapter 3 of the MPL book.
At some stage on Boost I was recommended to reimplement PQS using
Boost.MPL and this seemed to be an unofficial requirement.

I think that all the above mentioned libraries in the yahoo boost
files section were implemented using MPL.

I reimplimented PQS using Boost.MPL.

What I found was that where prior to installing MPL in the libray, a
small example would previously take a couple of seconds to compile,
when using MPL the compile time jumped to maybe a minute or so for the
same example. This compile time issue was pretty exasperating and
slowed the pace of development to a crawl. I then reckon I had the
answer to why those libraries had been abandoned at such an early
stage.Anyway I decided "stuff this!" and ripped the MPL stuff out and
was relieved then to be able to get back to developing at a reasonable
pace.

I didnt realise the significance of this action but I suspect that
behind the scenes it didnt gone down too well at boost.org :-)

PQS still caused quite a bit of interest and controversy too.
Significant. PQS had done something right even in its earliest
versions where previously libraries hadnt.
Your PQS library is
very different from MCS is some rather fundamental ways. PQS had no
concept of a unit "system" for instance.
I needed to draw a line at the amount of work I wished to take on. SI
is my useage. Si is the biggest usage.
I made the decision to concentrate on the SI system.
Pqs and Quan do I believe provide a satisfactory, nigh on complete,
extensible solution to SI quantities both coherent and incoherent.

I dont seee any evidence that Boost Units has provided a comprehensive
impl of any unit system, except as vapourware.
MCS also uses a completely
different structure to represent dimensions; PQS is based on the
vector_c structure used in the book.
Quan could easily "eat" the Boost Units dimensional analysis impl:

Anything that models the Static Unit requirements will do :

http://tinyurl.com/2ma75k

The compile time dimensional analyis mechanism provided as default
model in PQS/Quan is implemented in the simplest possible way, solely
because I reasoned that no one will use a library where the cost
outweigh the benefits. The cost when using MPL is the huge jump in
compile time. I believe that this is a major reason why the search for
a viable C++ physical quantities library on Boost was stalled and had
been for some time.
I tried to design PQS primarily from a users point of view and this
compile time issue would I believe be a huge barrier to potential
users. On this subject, PQS/Quan has always had its user interface
layer, the style which should be familiar to anyone who has seen the
library.

This emphasis on placing the user first, the "pretty" source syntax as
well as the I/O facilities was designed to lower the barrier to entry
for those trying out the library. This emphasis on the user is
crucial and AFAICS was not considered by other library authors.
Unfortunately in many ways PQS/Quan is so elegant and simple from the
users viewpoint that it makes the whole subject of representing
physical quantities seem pretty trivial, though there was a huge
amount of work required to figure this out.
IIRC you yourself called Quan "cute", which sums up this approach.

What I wanted to achieve was that someone could download the library
have a look at a couple of code examples and say aha I see how this
works, thats pretty simple... and get on with it.

I also spent a long time in trying to get the library as near as
possible to industrial strength ( albeit only in gcc4 and VC7.1 and
later VC8), IOW by testing it in a lot of situations and non trivial
code, and also trying to get the library efficient in terms of
performance versus ibuilt types. This work is totally invisible but
takes again a large amount of thought and work, but a
library which only works in trivial examples is simply going to be
binned by users.

In my experience having brief look at the The Boost Units review
offering as presented, it would blow up in any no trivial use.(you
even gave the Boost Units authors a few hints about why this will
happen in your review IIRC)
By the end of the PQS review on Boost in May 2006, it was clear to me
that the library had achieved its purpose.

To sum up ... The above is some detail on how I went about arriving at
the stage of:

"This is one of those things who's time has come"
regards
Andy Little
"There is a crack in history one inch wide... we must use it"., David
Hare, "Fanshen"

Jun 1 '07 #14

P: n/a
On 31 May, 21:59, Noah Roberts <u...@example.netwrote:
I was equally hard on MCS, in fact more so since I actually thought Quan
was better. Both had problems though. I think it unfortunate that MCS
was accepted. Now we are stuck with that interface and it leaves much
to be desired in my opinion.
<...>
Actually the "failure" of Quan was brought up repeatedly to counter my
points.
Yep. Quan has been pretty badly wounded. Who knows. Maybe she will
live, maybe she'll die

;-)

regards
Andy Little

Jun 1 '07 #15

P: n/a
In article <11*********************@q66g2000hsg.googlegroups. com>,
an**@servocomm.freeserve.co.uk says...

[ ... ]
I have found a reference where I discussed the idea on boost so it had
certainly been implemented in pqs at that time. Jan 3 2004 11:13AM

http://aspn.activestate.com/ASPN/Mai.../boost/1930487

The relevent part is around half way down:

"
In pqs-1-00-01 The powers of 10 are carried through the system at
compile
time in many calcs so the lib is optimised for those.
"

Someone may wish to claim that they did this before in the context of C
++, physical quantities and the SI. Would need evidence of course...

I don't claim the idea is earth shattering but its very useful in this
context, and I sweated it.
This is _not_ the sort of thing that is/could be covered by a copyright.
The sort of protection you apply to something like this is a patent. Of
course, a patent is much more difficult to obtain, and you've already
provided proof that the invention was published more than a year ago, so
you almost certainly couldn't patent it now, even if you wanted to.

The bottom line, however, is that a copyright just doesn't protect this
sort of thing.

[ ... ]
My initial thought is to sit the judge and jury down in front of a PC
and teach them some basic C++ else they arent really going to figure
out what I am getting at !
If you honestly tried to take this to court, the first thing that should
happen is that your attorney should sit you down to learn the applicable
law. When you finished that, you'd realize there was no point in a judge
or jury, because you simply have no case.

Of course, laws do vary between countries and such, so it's _barely_
possible that you could find one where you'd have a case -- but I
honestly rather doubt it. Most country's copyright laws are based on
international treaties, so the law is surprisingly uniform from one
country to another. There is more variation in how the law is applied
and enforced, but most the variation is simply toward failing to enforce
the law at all.

That leaves one other problem: to get a court to hear a case, you have
to establish some sort of damages. In a case like this where you're
giving the code away and so is the alleged infringer, establishing any
sort of damages is essentially impossible. As such, even if copyright
law did cover what you want, the court probably wouldn't hear the case
anyway.

Of course, the usual disclaimer applies: my day job is involved with
intellectual property, but I'm a coder, not an attorney. None of this
should be construed as legal advice, because that's not what it is. If
you really want legal advice, you need to see an attorney -- and make
sure it's somebody who specializes in intellectual property.

--
Later,
Jerry.

The universe is a figment of its own imagination.
Jun 2 '07 #16

P: n/a
On 2 Jun, 14:50, Jerry Coffin <jcof...@taeus.comwrote:

<...>

OK thanks for the legal tips. What you are saying is interesting, as
it must presumably affect pretty much every C++ developer in some way
or other from time to time.

I'm not too concerned here about copyright(though I should get better
acquainted )

The potential argument is relatively simple. The idea which I
described before was presented in an example in the Boost Units
Authors submission for review as a candidate for a boost library.
Effectively the situation *could* be seen as similar to work being
marked in an academic institution.
PQS/Quan was reviewed previously and it is unlikely that 2 units
libraries would be accepted ( I believe there is a clause that says
this somewhere, hence I am affected, as once the Boost Units authors
work was accepted I wouldnt have a chance to resubmit Quan to boost )
Whether I want to is neither here nor there.

I made the point before about plagiarism. By not providing adequate
attribution of your sources you are open to an accusation of
plagiarism. When I wrote my own dissertation at University I was
required to annotate in excruciating detail all the sources from which
I had used in my work. Failure to do so would result in pretty serious
consequences . Failure of my degree whatever.

Assuming that the authors had seen the idea in PQS/Quan( and in a
previous work they had cited Quan and commented on it and given the
impression they had studied it)It could be argued that by not
providing an attribution that the authors gained an unfair advantage
in swaying the opinions of the boosters in their favour. OTOH if they
hadnt studied Quan in some detail then why imply that they had ?

I havent read their the posts about their review much but from What
Noah Roberts was saying they saw this thing as some form of
competition, in which previously PQS (Quan ) had "failed".

One could argue about the effect of including an attribution to Quan
for material in the submission might have been, and that overall it
might have been felt by the Boost Units Authors that it would be
better for them not to draw attention to Quan, but if this is
information that was withheld, it might have had an influence on a
reviewer or review manager trying to make a fair decision about the
submission.

(I could find some references in relation to my own boost review of
PQS about raising standards etc etc here , but whatever)

Its down to the morals of the boosters really. If there was plagiarism
then perhaps its perfectly acceptable in that organisation. As
expected there has been no comment from any boosters so far... ;-)

I rest my case m'lud :-)

(i sent this last bit before but it didnt turn up, apologies if its a
repeat)

Looking back on my time on boost, I reckon the whole set up is a bit
daft and not quite sure how I got tangled up in it.
Gotta get Quan off Sourceforge too somehow, I didnt think about it but
its another popularity contest which I didnt realise I'd entered.

hmm.. I guess I just need somewhere to put up the Quan code and docs.
If nobody looks at the library I don't mind. If people rip off the
library I don't mind.

Blimey.. then I will be free.. Free!
I'm Free to do what I Want , Any old time, dadadadababa
I can go anywhere.. anyway I choose. I can do anything I wanna do. I
can live anyhow... Cant lose.

Anywhere anyhow anyway I choose ...
Yeah :-)

regards
Andy Little




Jun 2 '07 #17

P: n/a
On Wed, 30 May 2007 11:12:54 -0700, kwikius wrote:
On 30 May, 10:05, Lionel B <m...@privacy.netwrote:
>On Tue, 29 May 2007 12:35:06 -0700, kwikius wrote:
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library
>My Boost Units library? Honest guv, it wernt me, I wernt there an I
dint have nuffink to do wif it.
>[snip some incomprehensible stuff]
>Was there a C++ question in there somewhere?
Sure...hmmm How do you go about providing attribution in your C++
source code?

[snip more stuff]

Hey man thats cruel.., I think I'm going to nickname you "snipper" :-)
I'd prefer the Hebrew "mohel":

http://en.wikipedia.org/wiki/Mohel

[snip]

;-)

--
Lionel B
Jun 4 '07 #18

P: n/a
On 4 Jun, 11:09, Lionel B <m...@privacy.netwrote:
On Wed, 30 May 2007 11:12:54 -0700, kwikius wrote:
On 30 May, 10:05, Lionel B <m...@privacy.netwrote:
On Tue, 29 May 2007 12:35:06 -0700, kwikius wrote:
On 29 May, 12:14, Lionel B <m...@privacy.netwrote:
On Sun, 27 May 2007 13:12:40 -0700, kwikius wrote:
Well lads :-)... looking at your Boost Units library
My Boost Units library? Honest guv, it wernt me, I wernt there an I
dint have nuffink to do wif it.
[snip some incomprehensible stuff]
Was there a C++ question in there somewhere?
Sure...hmmm How do you go about providing attribution in your C++
source code?
[snip more stuff]
Hey man thats cruel.., I think I'm going to nickname you "snipper" :-)

I'd prefer the Hebrew "mohel":

http://en.wikipedia.org/wiki/Mohel
Just when I was just about to tuck into a salami sandwich. hmm... on
second thoughts I think I'll go with cheese.

( Diet is after all an important consideration when developing C++
applications, though just coffee seems to work best for libraries)
[snip]
Ow! Darn... You got me again.

hmm. Still ages till wombat day :-(.

http://www.wombania.com/wombat-day.htm

I don't want to miss it again this year. :-)

regards
Andy Little



Jun 4 '07 #19

This discussion thread is closed

Replies have been disabled for this discussion.