I guess there are a number of others:
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:
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).
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.
REDUCE still sees regular updates.
Anyone who runs Mathematica knows it is a pretty big system now. Lots of C and Java I believe.
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/...
- A single-rotor Enigma-style machine from V7 UNIX: https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd...
- A slight variation on the Enigma implementation: https://sourceforge.net/p/schillix-on/schillix-on/ci/default...
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).
> 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.
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.
Silence = implicit approval. Don't implicitly approve Wolfram's narcissism. Just don't.
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.
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.
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.
It may not have been your conscious intent, but your previous comment was in fact in the imperative:
>Don't implicitly approve Wolfram's narcissism. Just don't.
There are so many more interesting things to discuss than the author's personal traits.
As Eric Weinstein put it, we are standing on shoulders of jerks (I wouldn't put Stephen in this particular category). We do need people like Wolfram and we need them to be themselves.
It’s never OK to be a jerk.
But that doesn’t mean jerks have nothing of value to add to the world. No human being is perfect. If we disregarded the successes and breakthroughs of anyone who did anything bad in their lives we’d still be living in the Stone Age.
I'm not saying Wolfram is in their league, but I think the same principle applies. You salute the ideas, not the man.
If you want to criticize the person, then keep that separate.
I don't suppose you feel like engaging with my suggestion with something more than this blunt, unsupported rejection?
If you merely mean that when discussing such a piece we can remain generally calm and give room in the discussion for things other than the author's arrogance, then I agree.
I was serious that I can separate the person, so that's an existence proof.
Those of us who are mere mortals can't reliably predict ourselves to achieve perfection on complex, subjective tasks like this.
You find your own self-confidence to be highly convincing to the point of mathematical proof. Please have another think about that. And about making "clever" four-word dismissals of other people's comments.
> Those of us who are mere mortals can't reliably predict ourselves to achieve perfection on complex, subjective tasks like this.
I was able to separate the two as well without much of a problem, so...I guess I must be some sort of god too. :)
That's fair, but I'm not sure that a comment thread on HN is going to change him. He might be stuck in his ways at this point and may not even care about what some of the posts here say about his narcissism. I'm also not sure that we need to convince anyone here that he is a narcissist, as that part doesn't seem contentious. So maybe focusing on the other areas is better.
Irrespective of that, I'd say that shaming someone isn't great whatever, but there's no denying that this kind of thing is disruptive - people persevere with his writing because he's often got valuable points to communicate, but you'd have to be thick skinned to say it wasn't intensely annoying.
Even if Stephen can't control it, it seems like he's functional enough that he would be aware of the way he comes across and simply ask someone to edit out the OTT aspects brefore he posts. Knowing his eagerness for efficiency, perhaps he could even automate the text processing with the Wolfram Language.
If he had a sense of humor about it and started knowingly self-parodying that would be awesome.
I'm not sure that is necessarily a disqualifier for that particular subreddit; I feel that you can end up as a posting on that for the lack of self-awareness, no matter your actual level of intelligence.
Just my opinion though, one that could be wrong.
For every one that refers to an age, I just see facts. There are many child prodigies, especially in math and physics, and I don't see it as a point of pride (or shame). He's not at all the same person he was 50 years ago, and he probably doesn't even remember who he's looking back at. The alternative, that he hasn't changed a bit in 50 years, would be even more damning of himself.
As for the other, I don't see how observing that your physics papers contained "amazing formulas" would be praise. Everyone's physics papers do. The field is full of amazing formulas! Perhaps I'm missing something, but he didn't even claim he'd done anything, here, except write them down, and observe that they could be modeled by a computer.
Reading any accomplished person write about their accomplishments will sound similarly hyperbolic, when you step back and look at the facts. It's funny to me how some people write about the crazy things they've done, and HN loves it (e.g., Feynman), and others do essentially the same, and HN always finds it necessary to comment about the apparent narcissism.
It's enough to discourage me from ever blogging. That's not a coin I'd ever want to flip.
Not saying I’d like to have him around for dinner though
For instance, there has been a lot of criticism of the work that nothing in it was particularly new or original, that he was just regurgitating a bunch of stuff that came before on the topic of CAs and similar.
Yet, when I read it, I was exhausted by the fact (by my reading) that it seemed like on every page I read there was some reference made to this older work, that he was constantly re-iterating the idea that he was "standing on the shoulders" of other people's work...
So how is it that I read it this way, while others read it as seemingly not having this detail?
I honestly don't know the answer to that question, but I find the idea very fascinating (it reminds me about the whole gold/blue dress thing that went around a couple of years back, but I doubt the same thing is at work here).
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.
I've used it to test and prototype calculations and algorithms.
The Stackexchange page for Mathematica is pretty amazing, and quite a good community.