I have tried for years to find a funding source for Axiom, an open source computer algebra project.
I checked with the NSF, DARPA, and several companies.
If I were at a University there would be no problem. I could submit a grant proposal, they send the
money to the Provost, he sends it to me, and HE ACCOUNTS FOR IT. The snag in trying to fund
open source appears, in every case, that there needs to be trusted accounting. So, the problem
is simple. We need a firm whose job it is to receive, disburse, and ACCOUNT FOR, grants and
donations.
That seems simple enough. Set up a small shop (1 person?) who is paid to manage funds,
handle taxes, handle banking, handle receipts and invoices. How hard can this be, right?
IBM contributes to open source through a Linux foundation. I contacted the Linux foundation
about setting up an accountant or two to handle the accounting. They never replied. I contacted
several people I know at IBM to "donate accounting services" or fund an open source accounting
person. They said it was not possible.
The money would be useful to pay for things like servers (currently costing me about $3000 per
year out of my pocket), or fund a conference, or fund developers to attend the usual conferences.
It would not be to pay developers.
Anyway, I have tried to fund this project for nearly 12 years and have yet to be successful.
If you can figure out a way to handle the accounting, I'm all ears. Send your ideas to
daly at axiom-developer.org
This is optimistic at best. Remember the power of 3 rule: (where UOW=unit of work (man/month:-) )
1 UOW = program for yourself
3 UOW = give it to someone else
(you install, you copy, etc)
9 UOW = give it to local group
(howto, platform change)
27 UOW = shareware/open source
(configure/make/make install)
81 UOW = product
(real docs, slick UI, support teams) 243 UOW = business
(lawyers, CEO, sales, marketing)
you're looking at a lot more work than you're willing to admit. unless it is a trivial application you need to understand that writing the program in the first place is the easiest part of the whole problem. Teams which don't include the original developer are even harder.
1 unit = code for yourself
3 units = code given to someone else
(library probs, config probs)
9 units = code given to a group
(HOWTO, ifdefs, tar-gzip, etc)
27 units = FOSS code
(cvs, mailing list, configure, make, docs)
81 units = product code
(legal, sales, market, packaging, distribution)
243 units = viable software for 30 years
(literate pgms, deep documentation, research, major redesign, etc)
The effort to get real software to be viable
is hard, long term, and thankless.
How much code are you writing that will be useful 30 years from now?
What are you doing to make that happen?
I'd like to be able to set up a CD filesystem where
the journal is continuously written until the CD is
full. The hard drive can be used to buffer the journal until a full block can be written to the CD.
When the CD is full the journal can be compressed to
create a new filesystem on a new CD.
If we do this then we never have to do backups again.
Missing rule
on
Debugging
·
· Score: 3, Insightful
He missed a rule: Explain the bug to someone else. The second pair of eyes often finds the problem even if they don't have a clue what you are talking about.
Worldcom owns about 75% of the equipment that
makes up "the internet". Their data centers house
thousands of machines serving "content". Some of
the machines are Windows, some are Unix (Linux,
BSD, etc). The customer controls what the box runs
and what it does. So, in general, you can conclude
that this is a "representative sample" of "the
internet". Windows machines had at least a 10x
trouble report rate over any other kind of server.
Worldcom, thru my group, kept a trouble ticket
database. We knew exactly what failed, when, and
why. Ask Worldcom to perform a query that extracts
all trouble tickets for Windows vs all trouble
tickets for ALL other reasons (including failed
network hardware, power hits, luser errors, etc).
Windows will show up at least 10x higher. We used
to run this report once a month. (Worldcom no
longer exists as far as I know. It is now called
MCI. And my department is gone. But the data
centers still exist so I suppose somebody is
still running the Remedy trouble ticket system).
The database goes back at least 5 years. If you
want REAL numbers on REAL application loads then
Worldcom has the numbers and I've seen them
personally. I used to do SNMP, ping, and application specific monitoring using commercial
and custom-written applications to monitor every
data center and every router, switch, and computer
in every data center. If it failed I knew about it
first. Based on this experience I would not
recommend Windows for server applications.
On a related note I spent 2 years as a company that did consulting and development work on Windows. We were a Microsoft partner. The idea
was that Microsoft would recommend our services
to clients. That way we got more business and
the client got "Microsoft branding". We got
screwed financially on a major deal. We also
spent 18 months developing a project using
Visual Basic that never was delivered. VB has a
memory leak that (a) we never found and (b) MS
never bothered to find (we paid $50k I believe
for "premium support"). We used DCOM. We were
passing messages back and forth between DCOM-based
VB objects at the glorious rate of 1 every 24
seconds. A socket version ran in the microsecond
range. Based on this experience I would not
recommend Windows for client applications.
Your mileage may vary as these are my personal
experiences with Microsoft products. I guess these
facts are too small of a sample to consider.
I used to work for Worldcom doing monitoring of their worldwide data center. We kept logs of server outages. Windows-based servers had at least 10 times more failures than any non-Windows servers. I didn't see that fact listed on the Microsoft site.
A certain portion of mathematical research will
require computers. The algorithms are hard, run
for very long times, and use amazing amounts of
memory. When used as a research tools to discover
counterexamples or evaluating cases in proofs
future mathematicians will use all the horsepower
we can generate. Making a computer a useful tool
for mathematical research is still an open problem.
Maxima, a general purpose computer algebra system
runs on the zaurus. Yacas, another computer algebra
system runs on the zaurus. Axiom is coming shortly
(once the glibc issue gets resolved). Octave runs
on the zaurus. These are open source, freely
available, research quality computer algebra
systems. More are on the way.
If you can stop the system you could dual boot, start linux and use dd to copy the drive. That might also work if you were to run the windows system in a virtual machine under linux.
If a company contributes software to open source
there should be a tax break. This will encourage
companies to donate products they plan to withdraw
as well as fund people in the company to work on
open source.
Really now, if the criteria is that I'd drive out
to see it in person it has to be sex. I can read
about any other topic by using the universal
trampoline site (google). Perhaps a talk on
genetic programs that adapt to spam? Genetic rules
for detecting enlargement schemes? The possibility
for puns is endless.
Go to the Gibson site (www.gibson.com), the guys who make guitars. Look for their MaGIC spec. They basically use cat5 cable to distribute digital music. Wire your house with cat5, use their standard, and *poof* you're at the bleeding edge of the technology curve for digital music.
Axiom, a general purpose computer algebra system,
which used to be commercially available, has been
released as open source. It is in the process of
cleanup and will be available in the near future.
Maxima is quite useful having been derived (pun acknowledged) from Macsyma, the mother of them all. The best part of working on math is that your results are likely to outlive you. Maxima has certainly outlived Bill Schelter. Maxima is still a useful system for many people. Later systems focused on better algorithmic development with stronger languages since then. But I have yet to see a system that will allow me to type in a formula in 2D notation. Nor have I seen a system that will allow me to specify conditions (like LINE intersects CIRCLE) and automatically generate an example. GAP does have some lattice output for group theory. None of the systems will allow you to easily handle all of the textbook problems. Plus it would be great to be able to write the theory behind an algorithm in Knuth's weave and automatically generate the program implementing the algorithm. The ultimate in documentation. So there is much beyond Maxima.
Yes, both GAP and Axiom have well-founded math models at their heart. They started out symbolic. I do not expect anyone to change religions, umm, systems. But we all need to discuss things like MathML, common user interfaces, common graphics, etc. that are not at the heart of the systems and can benefit every system. As to common tests I found it very worthwhile to test one system by trying others. The tests highlight interesting questions such as how and when to factor results. I'd also like to see all of the free packages available on one CD packaged so they could all be run without installation.
I read the GiNac paper posted at the link. Aldor (www.aldor.org) is a language that goes well beyond the GiNaC language. It offers Types as first-class objects (you can store them and manipulate them), symbolic as well as numeric evaluation, interpretation and compilation. Frankly, though I'm certain to be flamed for this, I find that doing computer algebra in C++ about like doing division in roman numerals. It is possible to do but it is the wrong notation and notation is vital to thinking correctly (and programming correctly). The closer a language's syntax and semantics approaches to the problem domain the fewer chances there are of mistakes.
There isn't likely to be an 'it' in the sense of one system (RING?) to rule them all. The discussions are likely to yield future directions on a lot of non-math subjects like front end display, graphing, license etc. I hope to have some discussions of math related directions also but each system will likely understand and implement them in different ways.
There is a subtle point here. There will be many different computer algebra systems presented and they each have a community.I don't expect there will be an uber-system that converges them. But it is well worth discussing the future directions and shared concerns (like a common front-end (e.g. TeXmacs)), common test suites, common graphics packages. I also expect the license issues to be wonderfully warmth-generating:-)
Actually, all of the computer algebra systems were developed at universities or commercially. Axiom, my particular choice, took 23 years to develop at IBM Research. It was sold commercially for the last few years and is now being released as open source. And, yes, we are anal about errors. Each has a special area. GAP does group theory. Macaulay does algebraic geometry.
I am trying to start a home recording studio
and would like to use the GPL but it is unclear
that it applies to music. This is the same
question related to books.
I was under the (obviously wrong) impression
that XP was a single pile that had to include
IE. At least that is what the court testimony
said. (I know it isn't true). Now we are told
that one can build XP from small components. So
why can't we unbundle XP and IE (and WMP, etc)?
Can I get the parts and build an acceptable
alternative pile? Can we get the court to require
that XP be shipped as components?
I have tried for years to find a funding source for Axiom, an open source computer algebra project. I checked with the NSF, DARPA, and several companies.
If I were at a University there would be no problem. I could submit a grant proposal, they send the money to the Provost, he sends it to me, and HE ACCOUNTS FOR IT. The snag in trying to fund open source appears, in every case, that there needs to be trusted accounting. So, the problem is simple. We need a firm whose job it is to receive, disburse, and ACCOUNT FOR, grants and donations.
That seems simple enough. Set up a small shop (1 person?) who is paid to manage funds, handle taxes, handle banking, handle receipts and invoices. How hard can this be, right?
IBM contributes to open source through a Linux foundation. I contacted the Linux foundation about setting up an accountant or two to handle the accounting. They never replied. I contacted several people I know at IBM to "donate accounting services" or fund an open source accounting person. They said it was not possible.
The money would be useful to pay for things like servers (currently costing me about $3000 per year out of my pocket), or fund a conference, or fund developers to attend the usual conferences. It would not be to pay developers.
Anyway, I have tried to fund this project for nearly 12 years and have yet to be successful. If you can figure out a way to handle the accounting, I'm all ears. Send your ideas to daly at axiom-developer.org
Tim Daly
This is optimistic at best. Remember the power of 3 rule: :-) )
(where UOW=unit of work (man/month
1 UOW = program for yourself
3 UOW = give it to someone else
(you install, you copy, etc)
9 UOW = give it to local group
(howto, platform change)
27 UOW = shareware/open source
(configure/make/make install)
81 UOW = product
(real docs, slick UI, support teams)
243 UOW = business
(lawyers, CEO, sales, marketing)
you're looking at a lot more work than you're willing to
admit. unless it is a trivial application you need to
understand that writing the program in the first place
is the easiest part of the whole problem. Teams which
don't include the original developer are even harder.
Tim Daly
effort to develop software
1 unit = code for yourself
3 units = code given to someone else (library probs, config probs)
9 units = code given to a group (HOWTO, ifdefs, tar-gzip, etc)
27 units = FOSS code (cvs, mailing list, configure, make, docs)
81 units = product code (legal, sales, market, packaging, distribution)
243 units = viable software for 30 years (literate pgms, deep documentation, research, major redesign, etc)
The effort to get real software to be viable is hard, long term, and thankless.
How much code are you writing that will be useful 30 years from now?
What are you doing to make that happen?
I'd like to be able to set up a CD filesystem where the journal is continuously written until the CD is full. The hard drive can be used to buffer the journal until a full block can be written to the CD.
When the CD is full the journal can be compressed to create a new filesystem on a new CD.
If we do this then we never have to do backups again.
He missed a rule: Explain the bug to someone else.
The second pair of eyes often finds the problem
even if they don't have a clue what you are talking
about.
Worldcom owns about 75% of the equipment that makes up "the internet". Their data centers house thousands of machines serving "content". Some of the machines are Windows, some are Unix (Linux, BSD, etc). The customer controls what the box runs and what it does. So, in general, you can conclude that this is a "representative sample" of "the internet". Windows machines had at least a 10x trouble report rate over any other kind of server. Worldcom, thru my group, kept a trouble ticket database. We knew exactly what failed, when, and why. Ask Worldcom to perform a query that extracts all trouble tickets for Windows vs all trouble tickets for ALL other reasons (including failed network hardware, power hits, luser errors, etc). Windows will show up at least 10x higher. We used to run this report once a month. (Worldcom no longer exists as far as I know. It is now called MCI. And my department is gone. But the data centers still exist so I suppose somebody is still running the Remedy trouble ticket system). The database goes back at least 5 years. If you want REAL numbers on REAL application loads then Worldcom has the numbers and I've seen them personally. I used to do SNMP, ping, and application specific monitoring using commercial and custom-written applications to monitor every data center and every router, switch, and computer in every data center. If it failed I knew about it first. Based on this experience I would not recommend Windows for server applications.
On a related note I spent 2 years as a company that did consulting and development work on Windows. We were a Microsoft partner. The idea was that Microsoft would recommend our services to clients. That way we got more business and the client got "Microsoft branding". We got screwed financially on a major deal. We also spent 18 months developing a project using Visual Basic that never was delivered. VB has a memory leak that (a) we never found and (b) MS never bothered to find (we paid $50k I believe for "premium support"). We used DCOM. We were passing messages back and forth between DCOM-based VB objects at the glorious rate of 1 every 24 seconds. A socket version ran in the microsecond range. Based on this experience I would not recommend Windows for client applications.
Your mileage may vary as these are my personal experiences with Microsoft products. I guess these facts are too small of a sample to consider.
I used to work for Worldcom doing monitoring of
their worldwide data center. We kept logs of server
outages. Windows-based servers had at least 10
times more failures than any non-Windows servers.
I didn't see that fact listed on the Microsoft site.
A certain portion of mathematical research will require computers. The algorithms are hard, run for very long times, and use amazing amounts of memory. When used as a research tools to discover counterexamples or evaluating cases in proofs future mathematicians will use all the horsepower we can generate. Making a computer a useful tool for mathematical research is still an open problem.
Maxima, a general purpose computer algebra system runs on the zaurus. Yacas, another computer algebra system runs on the zaurus. Axiom is coming shortly (once the glibc issue gets resolved). Octave runs on the zaurus. These are open source, freely available, research quality computer algebra systems. More are on the way.
If you can stop the system you could dual boot,
start linux and use dd to copy the drive. That
might also work if you were to run the windows
system in a virtual machine under linux.
Learn LaTeX for papers and noweb for literate programming (it is basically LaTeX with two added tags).
If a company contributes software to open source there should be a tax break. This will encourage companies to donate products they plan to withdraw as well as fund people in the company to work on open source.
Really now, if the criteria is that I'd drive out to see it in person it has to be sex. I can read about any other topic by using the universal trampoline site (google). Perhaps a talk on genetic programs that adapt to spam? Genetic rules for detecting enlargement schemes? The possibility for puns is endless.
Go to the Gibson site (www.gibson.com), the guys
who make guitars. Look for their MaGIC spec. They
basically use cat5 cable to distribute digital
music. Wire your house with cat5, use their
standard, and *poof* you're at the bleeding edge
of the technology curve for digital music.
Axiom, a general purpose computer algebra system, which used to be commercially available, has been released as open source. It is in the process of cleanup and will be available in the near future.
Maxima is quite useful having been derived
(pun acknowledged) from Macsyma, the mother
of them all. The best part of working on math
is that your results are likely to outlive you.
Maxima has certainly outlived Bill Schelter.
Maxima is still a useful system for many people.
Later systems focused on better algorithmic
development with stronger languages since then.
But I have yet to see a system that will allow
me to type in a formula in 2D notation. Nor have
I seen a system that will allow me to specify
conditions (like LINE intersects CIRCLE) and
automatically generate an example. GAP does have
some lattice output for group theory. None of
the systems will allow you to easily handle all
of the textbook problems. Plus it would be great
to be able to write the theory behind an algorithm
in Knuth's weave and automatically generate the
program implementing the algorithm. The ultimate
in documentation. So there is much beyond Maxima.
Yes, both GAP and Axiom have well-founded math
models at their heart. They started out symbolic.
I do not expect anyone to change religions, umm,
systems. But we all need to discuss things like
MathML, common user interfaces, common graphics,
etc. that are not at the heart of the systems
and can benefit every system. As to common
tests I found it very worthwhile to test one
system by trying others. The tests highlight
interesting questions such as how and when to
factor results. I'd also like to see all of the
free packages available on one CD packaged so
they could all be run without installation.
I read the GiNac paper posted at the link.
Aldor (www.aldor.org) is a language that goes
well beyond the GiNaC language. It offers Types
as first-class objects (you can store them and
manipulate them), symbolic as well as numeric
evaluation, interpretation and compilation.
Frankly, though I'm certain to be flamed for this,
I find that doing computer algebra in C++ about
like doing division in roman numerals. It is
possible to do but it is the wrong notation and
notation is vital to thinking correctly (and
programming correctly). The closer a language's
syntax and semantics approaches to the problem
domain the fewer chances there are of mistakes.
There isn't likely to be an 'it' in the sense
of one system (RING?) to rule them all. The
discussions are likely to yield future directions
on a lot of non-math subjects like front end
display, graphing, license etc. I hope to have
some discussions of math related directions also
but each system will likely understand and
implement them in different ways.
There is a subtle point here. There will be many :-)
different computer algebra systems presented and
they each have a community.I don't expect there
will be an uber-system that converges them. But
it is well worth discussing the future directions
and shared concerns (like a common front-end (e.g.
TeXmacs)), common test suites, common graphics
packages. I also expect the license issues to
be wonderfully warmth-generating
Actually, all of the computer algebra systems
were developed at universities or commercially.
Axiom, my particular choice, took 23 years to
develop at IBM Research. It was sold commercially
for the last few years and is now being released
as open source. And, yes, we are anal about errors.
Each has a special area. GAP does
group theory. Macaulay does algebraic geometry.
I am trying to start a home recording studio
and would like to use the GPL but it is unclear
that it applies to music. This is the same
question related to books.
I was under the (obviously wrong) impression that XP was a single pile that had to include IE. At least that is what the court testimony said. (I know it isn't true). Now we are told that one can build XP from small components. So why can't we unbundle XP and IE (and WMP, etc)? Can I get the parts and build an acceptable alternative pile? Can we get the court to require that XP be shipped as components?