
There Was a Time before Mathematica (2013) - tosh
https://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/
======
scottlocklin
Reduce, Axiom and Macsyma or the inferior "Maxima" anyway are still around and
open source. Reduce and Axiom seem to have lost all open source momentum,
which is a bloody shame as they were extremely interesting and powerful tools.
I used Reduce in my own research, and remember finding it more powerful than
contemporary Maple or Mathematica on certain classes of integrals.

I guess there are a number of others:
[https://en.wikipedia.org/wiki/List_of_open-
source_software_f...](https://en.wikipedia.org/wiki/List_of_open-
source_software_for_mathematics)

One missing from this list is Yacas, which was very impressive as it was
basically a one man project written in the same way Wolfram wrote his thing:
[https://en.wikipedia.org/wiki/Yacas](https://en.wikipedia.org/wiki/Yacas)

Three that should not be forgotten:

1) Maple predated Mathematica, and was, as I recall easier to use. I think it
survives as a standalone and as a Matlab package. It would be an interesting
HBS case study why Maple doesn't have Wolfram's success or brand recognition.
Wolfram is a weird guy (as others point out), but somehow was more successful
than the humble Canadians.

2) Mathcad: in the early 90s, a lot of people used this instead of Mathematica
or Maple because it was cheaper and it had a nice jupyter notebook like UI
that didn't require you to learn a whole language

3) Derive: this one I really miss (it also predated Mathematica). It had a UI
which was vastly better than Mathcad or any of Mathematica's later attempts at
efficiency. You could crank out integrals or perturbation series on miniscule
hardware; I ran it on my 186 HP100LX. And I believe it was internally based on
a lisp engine, which gave lie to Wolfram's engineering choice that C/C++ was
needed to make a tight CAS. This lives on somehow in TI calculators, but I'd
actually consider buying a tablet or "smart phone" if there was a version of
it for modern hardware.

FWIIW Wolfram is again worth a HBS study, as they're really the only first
generation of "AI" company that survived and thrived. Computer algebra systems
were considered AI back in the day, and the more general expert system shells
were considered a viable path to strong AI (hint; it didn't work out) in the
same way that "Deep Learning" is now (hint: it probably won't either).

~~~
lispm
Derive was based on muLISP

[http://www.softwarepreservation.org/projects/LISP/other#muLI...](http://www.softwarepreservation.org/projects/LISP/other#muLISP_)

~~~
scottlocklin
Thanks for confirmation: I knew the same company made muLisp, but it wasn't
totally obvious if that's what it was under the hood looking at the Derive
install.

That was an amazing little lisp in that case, and what a treasure lost to
calculator guts. Not that open source lisp community has covered itself in
glory (aka Axiom, Reduce and so on fading into bitrot), but that's something
I'd love to screw around with.

~~~
lispm
There is a fork of Axiom called FriCAS (
[https://en.wikipedia.org/wiki/FriCAS](https://en.wikipedia.org/wiki/FriCAS) )
which should easily run on some current CL implementations.

REDUCE still sees regular updates.

------
enriquto
notice that today you can still "apt install maxima" and it is a perfectly
fine computer algebra system (the continuation of the Macsyma mentioned in the
article)

~~~
lelf
_And_ it works in the terminal (there’s GUI too)

    
    
        (%i48) integrate(2^x,x);
                                               x
                                              2
        (%o48)                              ------
                                            log(2)

~~~
occamschainsaw
So does Mathematica
[http://support.wolfram.com/kb/12414](http://support.wolfram.com/kb/12414)

------
4thaccount
Neat to see the history. I've heard there is more to the matter (think I've
read a blog post before) on his issues with Macsyma and Lisp in general.

Anyone who runs Mathematica knows it is a pretty big system now. Lots of C and
Java I believe.

------
xvilka
In my opinion mathematical software should be free, as a core of any science.
Imagine Wolfram Software tomorrow dissolved and there are tons and tons of
mathematical code for it. What we are supposed to do? And it is not a general
purpose software, it requires a tremendous experience in the domain to be able
to rebuild required piece. Just wasting of time.

------
mmind
Do you know if anyone was ever able to decrypt the SMP source code mentioned
as a challenge in the article?

~~~
philpem
I was just wondering about that as I read it... though the source code wasn't
for SMP, it was for the program he'd used to encrypt the SMP source.

Apparently it's "a version of crypt(1) with some parameters changed"... the
question of course is which parameters... and of course, what the key is...

With the algorithm and key unknown, it'd be a pretty hard problem to solve.

EDIT: Looks like there are three crypt(1) variants.

\- An exact implementation of the M-209 from V6 UNIX:
[https://minnie.tuhs.org/cgi-
bin/utree.pl?file=V6/usr/source/...](https://minnie.tuhs.org/cgi-
bin/utree.pl?file=V6/usr/source/s1/crypt.c)

\- A single-rotor Enigma-style machine from V7 UNIX:
[https://minnie.tuhs.org/cgi-
bin/utree.pl?file=V7/usr/src/cmd...](https://minnie.tuhs.org/cgi-
bin/utree.pl?file=V7/usr/src/cmd/crypt.c)

\- A slight variation on the Enigma implementation:
[https://sourceforge.net/p/schillix-on/schillix-
on/ci/default...](https://sourceforge.net/p/schillix-on/schillix-
on/ci/default/tree/usr/src/cmd/crypt/crypt.c)

The M209 seems to be alphanumeric-only, and as the "source code" is binary,
that'd rule it out.

Chances are, it's a butchered version of the Enigma algorithm.

Practically you'd need some known plaintext to recover the keystream. Even so,
that wouldn't translate to the SMP source code unless you could find a
weakness in the keystream generator.

The incoming password is hashed-and-salted by crypt(3) - so however long the
password is, the "real" key will be 13 printable ASCII characters long (and
the first two will be the salt).

------
lqet
Is it just me, or is almost every text written by Stephen Wolfram plagued by
excessive, almost neurotic self-praise?

> Perhaps the first faint glimmering of an orientation toward something like
> Mathematica came when I was about 6 years old

> Looking back at its documentation, SMP was quite an impressive system,
> especially given that I was only 20 years old when I started designing it.

> My physics papers started containing all sorts of amazing formulas.

> I was 20 years old, and I’d just gotten my PhD in physics.

> I wrote lots of code for SMP myself (about 1000 lines/day). I did the
> design. And I wrote most of the documentation. I’d never managed a large
> project before. But somehow that part never seemed very difficult.

> [...]

I get that he is almost certainly a highly intelligent and gifted individual
who has achieved a lot in his life, but humbleness seems to be a quality he is
seriously lacking. Even if he tries to be humble, it just comes over as
coquettish.

~~~
Phemist
This has already gone meta-meta, in that there is a thread in every comment
section on a post by Stephen Wolfram that complains about his self-obsession,
and also one that complains about the complaints.

Basically, there is an HN gentlemen's agreement to collectively ignore
Wolfram's self-praise, so that discussions about the worthwhile nuggets of
insight in his blog posts are not drowned out.

~~~
jjoonathan
That strikes me as a bad idea.

Silence = implicit approval. Don't implicitly approve Wolfram's narcissism.
Just don't.

~~~
throwawaymath
I'm going to have to vehemently push back on this. I don't think you can
declare what does and does not constitute "implicit approval" for other
people. You can't just impose a crusade on other people.

Am I approving of Wolfram'a narcissism if I read an article of his but don't
make a comment discussing his narcissism? What if I upvote an article but
don't comment about it? What if I comment, but _not_ about his narcissism?
Where's the line?

Where does my obligation begin and end? If I choose to abstain from commenting
on someone's narcissism, does that mean I have to boycott their work? Do I
have to boycott talking about their work with other people?

If you don't respond to this comment of mine, am I to read your silence as
implicit agreement? If not, why is that idea any less flippant than yours?

I'm not going to conspicuously trot out a meme about Wolfram's narcissism
every time he comes up. It doesn't add any new information to the discussion,
whereas _he_ frequently writes interesting things. It also won't make Wolfram
any less narcissistic, it will just be obsessive and futile. He's not harming
anyone.

To give an example, what you're suggesting is the reason why (for the most
part) the only people who find Stallman bearable are people who share his
ideology. If you have a pet crusade you launch whenever a topic comes up,
you'll quickly find your comments marginalized by everyone who frankly doesn't
care about it as much as you. It's just not a productive use of time and
doesn't effect the change you think it will. It's a poor hill to die on.

~~~
jjoonathan
Whether silence _should_ mean tacit approval and whether it _does_ mean tacit
approval are two entirely different questions. I'd argue that it shouldn't but
it does.

Mentioning and disapproving of Wolfram's narcissism is hardly akin to dying on
a hill, and nobody is even asking you to do it, but Phemist is asking people
to not actively disapprove of Wolfram's narcissism and I find that odd.

~~~
afiori
> Whether silence should mean tacit approval and whether it does mean tacit
> approval are two entirely different questions. I'd argue that it shouldn't
> but it does.

Silence can also mean dismissal. Wolfram is hardly at a level of cultural
influence where he is rallying up support for a narcissistic lifestyle.

In the course many years we moved from an honour culture where tolerance was a
weakness and misbehaviour was something to strongly react to toward a dignity
culture where we try to lead by example and where (in polite conversation)
criticism needs to be more nuanced.

Moreover by that logic I am silently approving of many things all the time,
when talking about Obama and medicare I often omit drone bombing as a topic.

------
FeepingCreature
There was a time after Mathematica too, and for most people it was very
similar to the time before Mathematica.

~~~
fifnir
I Mathematica heavily using in any field?

~~~
Frost1x
Anecdotally, I've used Mathematica a bit for prototyping ideas over the years
for various computational model prototyping purposes. I rarely see anyone else
using Mathematica though, I often too wonder who their typical customer is
(outside of educational institutions which its a good fit for).

I find it's great for prototyping certain types of ideas (more
abstract/mathematical in nature) because there's a wide range of useful and
complex functions that allow you to piece together ideas quickly,
iterate/change, and test them. It's quite powerful in that respect.

Sometimes I have an idea and don't want to dig around dozens of libraries,
dependency chains, etc. to piece some proof-of-concept test together, nor do I
want to attempt to implement everything needed from scratch because that could
require a large time investment (and fail conceptually).

Some similar efficient prototyping workflows can now be accomplished in Python
using Jupyter/JupyterHUB, at least for me.

Any of my successful prototyped ideas immediately left the Mathematica
ecosystem to be implemented using other technology stacks.

