Hacker Newsnew | past | comments | ask | show | jobs | submit | n-e-w's commentslogin

I try not to immediately call BS on these types of studies…but in this case there are some concerns.

“The data sets were randomly divided into training (85%) and test (15%) sets. We used 10-fold cross-validation to obtain generalized results of model performance. Data splitting was performed at the participant level and stratified based on the outcome variables. Because the data classes were imbalanced for symptom severity (ADOS-2 and SRS-2), we performed a random undersampling of the data at the participant level before conducting data splitting. Moreover, we examined different split ratios (80:20 and 90:10) to assess the robustness and consistency of the predictive performances across diverse splitting proportions.”

* undersampling is problematic here and probably introduced some bias. These imbalanced class problems are just plain hard. Claiming one hundred percent on an imbalanced class problem should probably cause some concern. * data split at the participant level has to be done really careful or you’ll over fit * multiple comparisons bias by testing multiple split ratios on the same test data. Same with the 10-fold cross Val. * not sure if they validated results on any external test data * outcome variable stratification also has to be done really carefully or it will introduce bias; seems particularly sensitive in this case * using severity of symptoms as class labels is problematic. These have to really have been diagnosed the same way / consistently to be meaningful.

I also note a long time history in collection of these images (15 years iirc). Hard to believe such a diverse set of images (collection, equipment etc) led to perfect results.

ML issues aside, super interested in the basic medical concept. I wasn’t aware retinal abnormalities could be indicative of issues like ASD.


Another potential issue:

> The photography sessions for patients with ASD took place in a space dedicated to their needs, distinct from a general ophthalmology examination room. This space was designed to be warm and welcoming, thus creating a familiar environment for patients. Retinal photographs of typically developing (TD) individuals were obtained in a general ophthalmology examination room. Each eye required an average of 10–30 s for photography, although some cases involved longer periods to help the patient calm down, sometimes exceeding 5–10 min. All images were captured in a dark room to optimize their quality. Retinal photographs of both patients with ASD and TD were obtained using non-mydriatic fundus cameras, including EIDON (iCare), Nonmyd 7 (Kowa), TRC-NW8 (Topcon), and Visucam NM/FA (Carl Zeiss Meditec).

So two questions:

1. Are we positive that the difference in rooms does not effect these images?

2. If we are in a dark room, and ASD patients are in it for 5-10 minutes longer, are we sure this doesn't effect the retina?

3. Were all cameras used for both ASD and TD images?

Want to make sure the AI is being trained to detect autism, and wasn't accidentally trained to identify camera models, length-in-dark-room or room-welcomingness.

Hopefully not, but I assume you have to be so careful with these sort of things when the model is entirely black-box and you can't actually validate what it's actually doing inside.


This is definitely worthy of concern. There's an infamous case where an AI was trained to detect cancer from imaging but all the positive examples included a ruler (to measure the tumor) so it turned out it just was good at detecting rulers. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9674813/#:~:tex....


If they consistently captured the images in different settings, then I guarantee you that that’s what the AI learned.

Just being in a dark room longer is sufficient to make changes that an AI could pick up on.


Darn, was excited for a minute. This sort of experiment needs double blinding.

Ideally, they should capture the images from children before diagnosis, then see if they can predict the diagnosis.


Reminds me of the classic apocryphal early ML story of the enemy tank detector that was 100% accurate at identifying camouflaged tanks… so long as tanks and sunny weather were perfectly correlated in the input data, just as they were in the training data.


It appears they also report good results for predicting symptom severity. It's less obvious how the cameras etc would leak into severity. Unless it actually works (it does seem a bit too good to be true), I'm thinking the test set was in the base model or something


Unsure, but there are lots of variables there and there could be even more we don't know about not mentioned in the paragraph! Maybe more severe cases involved longer periods to help the patient calm down in the dark environment? I dunno! Just something smells fishy. You are right, could have also been training data leaking, just looks like there are multiple leaky elements here potentially!

Also, the study checked ASD participants were autistic by using structured interviews with psychologists against the DSM-5, but the TD participants were never assessed by psychologists, so if autism under-diagnosis is a thing, there could theoretically be false-negatives.


You are in a desert, you see a turtle on it's back. What do you do?


if we can diagnose autism by measuring how long it takes to take a picture isn't that even better?


Came here to say this. 100% is too good to be true and it's almost certainly the AI has figured out a signal leak from the camera, image format, room, etc.


Yes! I would also be surprised if the ground truth didn't have some errors in it.

If a model was 100% accurate, considering the nature/accuracy of manually diagnosing autism you would probably expect the AI to either find new cases or identify a few incorrect diagnosises.


Also concussions according to the article, which is news to this retired former neurosurgical anesthesiologist.(38 years in practice; stopped 2015 at age 67 because I believed [still do]) it's better to retire [from my profession, at least] too early than too late.


The talk begins in earnest at 16:30


This is a fantastic set of advice that every person earnest to make room for self-improvement in the year ahead should incorporate into their lives at some level


I would have thought the title of the article would have been sufficient to prevent you clicking it in a work context :/


I think I speak for essentially everyone here when I say, "fk this guy's boss". Old mate here in this thread slacks off or 2 days, his boss is already very respectfully thinking of firing him.

It's not 1920. The modern middle manager has more invested in his fantasy football league than his direct reports -- and by some magnitude. Grow up.


The article is hand-wavingly vague — but even if they can intercept, e2e should render it useless. Thus, the implication is that they have some ability to render e2e pointless by being able to access the phone by other means. Thoughts?


End-to-end-encryption doesn't protect you if the company holding your keys can be coerced by central authority (eg. Apple, Google, Microsoft, etc.). It's been long speculated that many world governments have this capability, and all of it is enabled by the inroads the US government has with domestic tech superpowers.

Believe whatever you want to believe, but I doubt this was a freudian slip. This dude probably saw an internal recon kit that could feasibly have these capabilities, and accidentally got caught bragging about it to the press. Happens very often in the USA as well.


I'm confident there is some sort of capability for Aus intelligence agencies, and five eyes by definition, to intercept WhatsApp and Signal messages.

How that may work is a bigger question. I suspect indirect. For example: silent and targeted deployment of a "software update" to a specific ios or Android device.


I wonder how the new Lockdown feature on iPhones will fare against this.


Apple wouldn't be allowed to release the feature in the States if it circumvented meaningful domestic surveillance capacities.


Companies break state surveillance capabilities all the time. With every patch some opportunities close which is why agencies hoard exploits to give them a resilient capability. Apple doesn't take permission, we know this from their pushback against the FBI trying to get them to change code to unlock that iPhone.


I had a quick scan through the actual linked article [1] but couldn't find the actual SPU protocol? It seems like there are two variations but no details of the regimen (reps / sets / duration). Admittedly, it was a quick look through -- but I'd be really interested to know the protocol. From the YT video in OP it looks like an easy enough motion to learn.

[1] https://www.cell.com/iscience/fulltext/S2589-0042(22)01141-5...


Rather than just bashing Stephen's personality and rehashing Cosma Shalizi's driveby on NKOS, can we try and focus on the technical accomplishment that Mathematica represents?

It really is an astounding system. If you enjoy functional programming, the language is super expressive and productive. The integrated libraries are fantastic -- especially if you want to chain together different knowledge domains through a consistent interface and syntax. You can get the entire Wolfram Alpha knowledgebase and curated datasets to use in your programs immediately.

The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way.

This isn't to hide that there are some frustrating things about the language (like, machine learning development has just stopped dead after a couple of really great years of feature dev...why?) and, especially, the organisation and some of its personalities. But the product -- it really should get a lot more kudos and wow factor based on real accomplishments and features that are live, in the real world.

I love Wolfram stuff.


The saddest thing about Mathematica is that despite the incredible level of effort invested into it by some of the smartest people on the planet, it will inevitably be relegated to the dustbin of history.

As a proprietary language and kernel, it can never compete long-term with open source alternatives.

It's one thing to have a proprietary product, but for decades now proprietary languages have been a no-go for practically everyone. Even formerly closed languages have been opened sourced, such as Java and C#.

There is no other use for Wolfram Language scripts outside of Mathematica, which comes with a "license server". That's... a dead end.

Can I publish Wolfram code in Docker Hub and expect it to work (legally)? No.

Can I throw some Wolfram code into an Azure Function and have it compute something for me on demand? Nope.

Can I embed Wolfram code into a C# app, publish it on GitHub, and have other people be able to use it without forking out $thousands for a Mathematica license? Nope!

And on and on...

Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields. As you said, they're all markedly inferior in almost every way, except for one critical one: they're open and extensible.

You mentioned AI/ML having stopped dead in Mathematica. I noticed that too. I wanted to test some GPU-hosted ML stuff recently that's not the standard Pytorch/Tensorflow type of thing, checked Mathematica, gave up, and I'm now using Julia.

If Mathematica was more open, there would be no "dead end" there, I could simply extend it. Or more importantly, other people would have already.


The first time I encountered Mathematica was 30 years ago, and I genuinely thought that within a decade this would be a tool that everyone would learn in college. A few years later, when working at the university I was a bit puzzled to find that while you could find things like Matlab on the various computer labs around campus (usually running some flavor of Unix), Mathematica was nowhere to be seen. Not even on the Windows labs.

The guy who was in charge of negotiating software licenses for the university said that it was a chicken and egg problem. Mathematica wasn't very available because it was expensive, Wolfram wasn't easy to negotiate with.

With people not learning Mathematica there never developed a demand for it - and because you couldn't expect to get your hands on a license it wasn't worth the investment both in time and money to learn mathematica, or worse yet, to make yourself dependent on it for getting work done.

Mathematica has always been a lovely product. But it has also always been impractical due to its pricing and restrictions. Whether you are in academia, a working professional or just a hobbyist. Which has made it a very niche piece of software. For 30+ years.

There is no reason to believe this will change. And that's fine. It is their software and they can do whatever they want with it. But it also means it is largely irrelevant software for most people, including the scientific community. That isn't a disparaging remark, it is an accurate representation of reality.


> Mathematica has always been a lovely product. But it has also always been impractical due to its pricing and restrictions. Whether you are in academia, a working professional or just a hobbyist. [...] There is no reason to believe this will change.

The hobbyist license is less than $200 per year. What kind of pricing would make it practical for you?

[Edit: The student license (non-expiring) was $139 twenty years ago, $176 today. That may be "expensive" but many textbooks cost more than that.]


Once in a blue moon I use Mathematica as an overpowered calculator. I keep it around partly for nostalgia, and partly because it makes me feel like a true computer scientist.

Every time I use it, I have this mental image of using a 500 ton press to crack a walnut. It's ludicrous overkill, but it brings a certain satisfaction to be able to use arbitrary precision maths when I don't need to, and use nonlinear fits for graphs where nobody looking at the result will even begin to appreciate the difference it makes.

This is the problem -- there is a "long tail" of people like me that have used Mathematica at university that are loathe to let go, but can't really justify the ongoing price.

This is why there are free editions of many paid tools. IntelliJ IDEA and Visual Studio have free "community editions", for example. More importantly, the build tools are generally free.

Even eye-wateringly expensive enterprise products with "call us" pricing have free editions! For example, VMware ESXi, Oracle, DB2, and SQL Server all do.

Wolfram is one of the last all-proprietary, no-free option, no open-source holdouts, especially in the space of "general purpose languages".


It's free for personal use on Raspberry Pis btw, and also there's some kind of free tier for Wolfram Cloud.


Do you have a link for the free Raspberry api use?


Just run “sudo apt install wolfram-engine” on Raspbian.


> no-free option

Perhaps Wolfram Alpha is a "free option" for the once-in-a-blue-moon use case.

But you might lose any work at any moment, if Wolfram decides to turn it off.


It has to be low enough for mass adoption. I’d guess $2/mo or $10/yr.

I paid for the $200 license back in high school 10 years ago and it was absolutely amazing; Really ahead of its time and well worth the money. But today as a software engineer the only feature I’m missing in Python is the ability to run natural language expressions in the middle of my code. Besides that, Python is far superior thanks to the community investment and the ability to easily deploy my code.


I agree. I am still using Mathematica 5 for Students, which I purchased when I was a student. Despite the fact that at the time I bought the version for Windows, it is worki g like a charm on my Linux laptop thanks to Wine.

Nowadays my daily workflow is mainly based on Python and Julia, I use Mathematica just for symbolic calculations (solving differentialequations, computing integrals...)

P.S. Once I had the chance to use Mathematica 12 on a server in my University, but I found that it offered nothing that I could need that wasn't already in version 5...


For the record, the question was not about getting "mass adoption" but about the price that would make such a lovely product worth it for a hobbyist. Most hobbys are much more expensive than $10 per year!


Sure, I’d gladly pay $200 again if it had a large community and a deployment story. What I meant is that I wouldn’t use it again unless it achieved mass adoption. That in turn requires dirt cheap pricing even if I don’t directly care about the price.


That's kind of the problem: $188/y is almost twice as much as it costs to distribute an iOS app. It's two times the cost of a hobby dyno from Heroku for a year.

What can you do with a hobby license from Wolfram? Use the software. You can't really distribute it, put it in production, or anything else besides serve your own compute needs. They forbid you from using the Home versions for any non-personal use: you can't bootstrap your startup with it. You're not allowed to get reimbursed for it by your employer. You're not allowed to use it for academic purposes. The service plan lets you use your license on a second computer, but dual boot counts as a second computer. You can't upgrade your license, you can only buy a new one. It's almost as though they don't want you to use their software.

Why would anyone who doesn't already have experience with Mathematica pay for this license?


Who does pay for this license? Someone who wants to use Mathematica, I guess.

You can get a 15-day trial, by the way.

Why would anyone pay $100+ for a couple of games? Or for Photoshop? Or for a pair ski goggles? Or for a bottle of wine? Or for a ticket to a show? Or for a radial saw?


The things you listed either are what that type of thing costs, or have free alternatives that you can develop interest and skill with. Adobe doesn't tell you what you can do with the pictures you make or edit.

The difference with Mathematica is that if you don't know you like and need it already, there are numerous free and less expensive tools that do a great job, and they (usually) don't have restrictions on what you can do with them. I can make a Python notebook and start a business with it. I can use my hobby Julia code for academic research.


Depending on what you are trying to do saying that Python or Julia are great alternatives to Mathematica is like saying that Java is a great alternative to Python and Julia.

Some people find enough value in Mathematica, Matlab, Tableau, JMP or commercial IDEs, compilers, libraries, etc. to prefer them to the free unrestricted alternatives available.

Some people like iPhones and Macs, some people say that there are numerous less expensive devices that do a great job and don't have restrictions on what you can do with them.


In terms of price: a price point that means a significant portion of my peers will also pay for Mathematica without too much hesitation. The value proposition changes radically when a tool is something "everyone" runs or which everyone can afford to run.

But pricing isn't the only problem here. The licensing model would have to be far more permissive. Plus I think any language that hopes to be successful would at least require an open source compiler, runtime and standard library.


> a price point that means a significant portion of my peers will also pay for Mathematica without too much hesitation

A perpetual license for Office Professional 2021 costs low double digits (depends on locale). They also don't really enforce checks for non-commercial use. As a result, almost every office uses Excel. It still doesn't replace python/C++ for deployment.


> As a result, almost every office uses Excel.

I'll have to disagree with your conclusion.

Excel has been the de facto standard for spreadsheets for a couple of decades so its user base is not because of how the office suite is priced right now, but because it is "what everyone uses".

This effect is even so powerful that despite Apple's suite (whatever it is called this year) being free, and various free online offerings exist that are adequate for a large chunk of users, Microsoft can still price licenses relatively high.


I've been using Mathematica since it came out in 1988, then off University of Illinois site license (it was developed there), and then keeping a personal hobbyist license live.

The hobbyist license wasn't priced by the year, just outright single charge. Is the by-the-year version you see one with continued upgrades?

[ Edit : the edit directly above answers this. thanks! ]


Mathematica is like $3k for a commercial license with the kitchen sink. Matlab can cost that much for like the database toolbox addon or the ML toolbox add-on. Mathematica is cheap in comparison.


> There is no other use for Wolfram Language scripts outside of Mathematica, which comes with a "license server". That's... a dead end.

Yes. They call it Wolfram Engine

>Can I publish Wolfram code in Docker Hub and expect it to work (legally)? No.

Yes, they call it Wolfram Application Server (does require a license)

>Can I throw some Wolfram code into an Azure Function and have it compute something for me on demand? Nope.

Yes: https://reference.wolfram.com/language/ref/RemoteBatchSubmit...


My Raspberry Pi 3 came with Mathematica. If I write Mathematica code on it, put the device in a box and sell it, I just violated the license agreement.

Contrast with gcc.


I'll believe it when I see it, because right now there is no alternative. I wrote a piece of physics software recently and sympy (and indeed python in general) was so lacking in features that I had to write half of the software as mathematica packages, half of it as python. I would have implemented those functions myself but they are actually extremely non-trivial and I wouldn't be surprised if just one of the basic functions I needed had many years of R&D and thousands of lines and edge cases.

Until there is an open source software that can match the raw symbolic power combined with the huge libraries nothing can touch it for a lot of people.


ran into this myself just today, but with Symbolics.jl instead of SymPy. I just needed an algebra scratchpad, and Symbolics was.. barren. and uninviting. I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

same deal with solvers more generally. the coin-or stuff (e.g. Cbc) is slow and buggy, Cplex and Gurobi are far better but very expensive. where are the PhDs in this field? what are they building?


>I just needed an algebra scratchpad, and Symbolics was.. barren. and uninviting. I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

Have you tried Maxima? It seems more ergonomic.


I use Maxima on a Atom N270 netbook. It works greatly, fast and usable. Gnuplot for plotting, and I'm done.


Sympy is good as a scratchpad I think. For my case I needed minimal state space realisations of MIMO transfer matrices. In mathematica this is just two functions. Implementing this in Python could take months


> I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

A very computer-science perspective with the obligatory dose of hubris.

Pencil and paper is continuing to serve a much older, much more consolidated discipline (mathematics) well for... ever since paper was invented.


the barbarian bit was tongue-in-cheek. it's just that symbolic algebra is one of those old-school, classic use cases for computers, like playing chess or guiding missiles or scheduling routes. I enjoy those kinds of moments.


...symbolic computation is a niche ...but Wolfram/Mathematics is also a very good general purpose language/tool.

It would be insane value for everyone if the symbolic niche could also be covered by a general purpose language...


That's the perspective of a software developer. Neither Mathematica nor Matlab actually try to address this market. Both are languages for mathematicians, scientists and engineers and are still mostly unrivalled when it comes to domain knowledge. Python has the domain knowledge in the datascience domain, Julia has pretty good domain knowledge in OR. No one really comes close to capturing the symbolic computation domain as Mathematica does.


Targeting the non-engineering crowd also means they are optimizing for a group that cares less about stability. That allows them to deprecate features, change interfaces, etc. An open source language is inevitably going to attract some maintainers who care about (or are paid to care about) keeping legacy code working.

I haven't worked with Mathematica in years, though, so this is mostly speculation: how strictly do they maintain backward compatibility?


Extremely strictly. They're fond of saying that most programs from v1 will Just Work in version 13. See https://reference.wolfram.com/language/tutorial/Incompatible... for a list of breaking changes. They even document certain bugfixes this way:

> AbsoluteOptions has been reimplemented to be more accurate, and the form returned for a particular option may be different now.

They deprecate stuff, but almost never remove it:

> ValueQ has been redesigned to test for the presence of a definition regardless of whether the definition is used. Old behavior can be restored by specifying "Legacy" as the method.

They play more fast-and-loose with functions documented as "experimental".


> Targeting the non-engineering crowd also means they are optimizing for a group that cares less about stability.

Looking at how many buzzword bingo boards I could make with JavaScript frameworks de jour and even enterprise platforms like .NET I find this statement exactly backwards in practice.

> An open source language is inevitably going to attract some maintainers who care about (or are paid to care about) keeping legacy code working.

Over 20 years I’ve found this to be quite a mixed bag.


I wouldn't lump Mathematica and Matlab together. Not least because Matlab is almost ubiquitous in academia and in engineering while Mathematica is extremely rare.


MATLAB seems to be rapidly being displaced by python is my observation.


The matlab licencing will be their downfall. Its the only licence we have in work that is per seat vs being token (floating) based, due to the cost of a floating license. So instead of having a tool any of our engineers can use, we have it assigned to a few engineers, and the others make do with octave or python. The sensible long term is to standardise on one language, and if it were not for certain toolboxes, that would be python or Julia, most likely. If the matlab licenses we had were floating, mathworks would get the same money, but would be more likely to keep our business, instead of pushing us to look into how best we can replace them.


yup, I'm currently taking Andrew Ng's newly redone machine learning course. the biggest change is that the language has been switched from matlab to python.


Yes, I think you are right.


In physics and obviously math, mathematica is very popular.


What of Macaulay2 and Gap and Magma and so on?

That said, I'm still a Mathematica person at heart.


Counter example: MATLAB. Proprietory software, proprietory language, yet it remains unrivalled in control engineering, DSP, communication systems and so on.

I genuinely hope that Octave can take off and trade blows with MATLAB face to face, but not sure if that will ever happen simply because of the amount of money MathWorks is pumping into developing toolboxes.


> yet it remains unrivalled in control engineering

No, its usage is just declining slower in those areas because ppl don't want unnecessary change introducing unnecessary defects, esp since safety and reliability matters a lot for some equipments, and also engineers spend time on smth else than learning new languages and frameworks.

In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.


> as legacy as Fortran is now

what are you talking about? There's a lot of numerical code written (and actively developed) in Fortran today. If you are anywhere near numerical mathematics, you are running algorithms written in Fortran that somebody is maintaining.


'Lots' and 'legacy' are compatible.


> In 20 years Matlab will be as legacy as Fortran is now

Not if MathWorks keep offering discounts to universities for putting MATLAB in the courses, gotta get those undergrads "hooked" early before graduating.


I've been involved in some hires of new graduates in both engineering and physics. What I've noticed is that students are acutely aware of job market for programmers, and to a somewhat lesser extent, the relative status of "hardware" and "software." They're differentiating themselves into programmers and non-programmers. I've observed that anybody who can program well enough to do it for money, will eventually be doing so.

They're all exposed to Matlab (it's on every resume), but that could range from actually knowing how to program, to having been given some pre-written scripts to run in a class.

However, the ones who are inclined to program, want to learn a language that they perceive to be relevant to the software development job market. Some of them have gone so far as to take a handful of CS courses and are as up to date on good coding practices as the CS majors themselves. This even includes some students in traditionally non programming fields such as biology and chemistry.

Remember that it's usually easier to learn your second language, so if a student has the itch to program, there's a pretty good chance that they will have learned Python on the side by the time they graduate.


Programming languages are not heroin... people want a tools offering some features and they use whatever has them and is not too hard to learn a new one.

Matlab-class languages are <1 week for anyone smart to learn and usably prodactive at then it's a smooth learning curve up. They're not Scala or Haskell or enterprise Java frameworks...

When Julia gets all the advatanges currently in the Python ecosystem (and it's just a matter of time), it's game over. Ppl use Matlab instead of Python bc Python is weird and slow at many linear algebra stuff... AI/ML ppl are OK with Python bc they rarely write low level numerics code and when they do it has to run on stuff other than regular CPUs so it's C anyway.

If Matlab looses (fairly) we all win. But Mathematica/Wolfram is a different thing... there's all the symbolic computing stuff and the idea of integrating access to a general real-world-knowledge-DB into the language itself in there that will take decades to re-invent...


Not really the reality imho. I was in a cursus where mostly Matlab were taught 10y ago, while I was already programming on the side in Python/R. Most of the students realized after their master that neither academia nor private company were using Matlab and because programming was not the focus, they had a really hard time to transfer their knowledge to any other programming language. Not SW/SE/Dev here, just scientific/engineer cross-over students.

After raising their voices, Faculty finally switched from Matlab to Python for those courses because what matters was your number of hire after their master not to get a deal for a software nobody uses besides two old professors.

And in general, the more academia moves away from private solutions (be it STATA, ArcGIS, Matlab, SAS, etc), education will move from it also. (Belgian University)


Given that Fortran is one of the few languages with first class support for GPGPU development, including graphical debuggers and IDEs, not bad.


>as legacy as Fortran is now

Disappointingly because modern Fortran is a nice language for numerical computing.


Compared to C, sure it is. Probably compared to C++ to since it's less opportunity for obsfucation. Compared to anything else probably not.


Issue is most such codes are written in C and C++. Also anything else usually lacks native multidimensional arrays, element-wise array operations, and parallel programming facilities, let alone raw performance.


> In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.

This is a joke, right?

In many academic disciplines that involve numerical work, the amount of Fortran code in use today greatly exceeds that of any of the rivals.

Professors were forced to use Fortran by their advisors when they were in school, so most of their code is in it. These professors are not going to allow their students to reinvent any wheels. And the cycle continues. To give you an idea of how extreme this phenomenon is - almost all the Fortran code out there in academia is still in Fortran 77.


No way, Simulink is way too popular for that


> Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields.

I'd wager that most of Mathematica's usage today, and in the past has been for those esoteric fields.

MATLAB always had higher market share for numerical work.

Mathematica's strength is in pure math. And nothing out there comes even close - not even SageMath. I wouldn't be surprised if all the pure math open source developers who are also math experts out there are fewer in number than those who contribute to Mathematica. You need detailed expertise in a math discipline. William Stein - founder of SageMath, wrote once on how impossibly difficult it is to get grants to support SageMath - most of them go to Mathematica or MATLAB. So if a math faculty member wants the extra income from grants, he/she is going to write a proposal targeting Mathematica, not SageMath.

Of course, once Stephen Wolfram dies, I don't know if Mathematica will continue to survive. But as long as he's alive, no open source pure math SW will overtake it.


Why would Mathematica die? You think Stephen writes code today?


He runs every aspect of the company. You can see his "live CEO'ing" videos which are very interesting. It's hard for companies like that to survive after the founder dies.


>As a proprietary language and kernel, it can never compete long-term with open source alternatives.

What "open source alternatives"? There aren't any at this level of polish and maturity...

Meanwhile, whatever the "dustbin of history" does, we can continue keep using Mathematica just fine, for 20+ years, and 20+ more...


Mathematica set the standard for Notebooks (as seen in iPython, Jupyter, Sage etc).

If their influence on that is their only contribution to the world, which it is not, then they have made their mark.


I agree wholeheartedly with this. In fact, if Mathematica were open source, I feel it may even encroach upon machine learning applications.

Since finishing up in university, I have sorely missed my free access to a fast and ergonomic symbolic equation solver. Sympy is an unsatisfactory substitute.


For my cases, when during R&D (data science for weather/geo/agro) I rarely need to work with formulas in symbolic representation, Sympy works enough. Cases like combining 2 equations into 1, simplifying, defining numeric coefficients, and printing formulas in TeX representation.


Have you tried Maxima as a symbolic equation solver?


Sage/maxima/etc are significantly worse than mathematica at symbolic operations. Check out these benchmarks:

https://www.12000.org/my_notes/CAS_integration_tests/reports...


Or Sage (sagemath.org)?


Sage uses Maxima though. And a bunch of other things as well.


As a proprietary language and kernel, it can never compete long-term with open source alternatives.

People have been saying this about Windows for the last 35 years.


Java and C# are partially open source, some of the best tools that make them shine are commercial.

Real time bare metal implementations, GUI tooling, 3rd party GUI components ecosystem, data analysis of runtimes in productions without code changes, architecture modeling tools on the IDEs,...


As I understand, Matlab and it'd kernal ate also closed, it's used everywhere.


I don't know if it could really be considered to be in the dustbin of history. Wolfram Alpha is actually what powers Siri and other services like it. It is what gives her the intelligence. That is a massive accomplishment.


Documentation please. Perhaps SRI originally prototyped on Mathematica, but I do not believe our iPhones are running m scripts in a Mathematica interpreter.


"Rather than return a list of Google search results, Siri uses Wolfram Alpha to generate what it believes is the correct answer."

https://www.siriuserguide.com/what-is-wolfram-alpha/ https://www.siriuserguide.com/how-to-use-siri-knowledge/

"Siri Knowledge uses a combination of web searches, inbuilt apps, and Wolfram Alpha to find the answers to a fantastic variety of questions."

If you ask Wolfram Alpha for more information about Siri: https://www.wolframalpha.com/input/?i=Siri

It returns:

"Siri is a personal assistant application for iOS. The application was first available from the App Store, then came standard on Apple's mobile devices starting with iPhone 4S. Siri uses natural language processing to answer questions and perform actions by delegating requests to an expanding set of web services, including Wolfram|Alpha."


> Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields.

Yup, and all that's needed for the floodgates to open is for someone to write some sort of converter.


I will second this. Wolfram (Stephen and company) marketing isn't spot on, but I'm yet going to find a system like Mathematica. People on HN forget that most of the places where Mathematica is intended to (R&D, math/physics departments, research facilities etc.) don't have tech people willing to battle with Python versions, packages, Jupyter installations, and all sort of nuances - they just want an installation they are going to click and immediately have a huge library for everything.

And no, "just run pip ..." will not work - who worked on these facilities probably knows how some of the smartest people in the world could be extremely dumb with the tech stuff.

Regarding Wolfram Language, at the beginning (when it was just a "Mathematica"), I hated it as I came from the C/C++ world. But after I embraced lisp et al., I found Wolfram Language very expressive and easier to grasp than before. Moreover, if I'm not mistaken, Wolfram Language is the only widespread implementation of M-expressions [1], the original form of LISP how John McCarthy wanted it to look.

> The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way.

Absolutely :)

[1] https://en.wikipedia.org/wiki/M-expression


I recall some unpleasant fights with license-servers in my past.


It only takes pip breaking once before "only free if your time has no value" becomes all too real.


It is a TRS (term rewriting system) and very cool. I've posted on this before. There's not a whole lot on TRS, but there is some information out there.


> I love Wolfram stuff.

I'm with you 100% here, but I'm also 100% with sibling jiggawatts.

To me, Mathematica is a computation environment that conveys a Lisp Machine feeling of "the machine and I are working on this problem".

You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine).

The only other computation environment that is right there en par in flexibility and conveyance of the same trippy feeling is, of course, Emacs.

The company can still make money from academic and professional licensing and support contracts, and everyone else gets to have access to an awesome thinking tool as a matter of fact.

They've already gone that direction a bit with the Raspberry release, what's left now is just the final push.

So, if Stephen Wolfram ever reads this:

Open source Mathematica and it will have a chance at immortality.

Just like Lisp and just like Emacs, and the people will rejoice.

Disclaimer: I started with Mathematica 4.0 at age 14 (a pirate copy too, sorry!), turned on by that marvellous column in Quantum. But I was put off precisely due to the proprietary nature, and switched to C and Lisp. Consequently I became a CS guy rather than a Physics guy, because C and Lisp were accessible early on, while Mathematica wasn't (legitimately).


>You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine). > >The only other computation environment that is right there en par in flexibility and conveyance of the same trippy feeling is, of course, Emacs.

Agreed. That's the main thing that tends to get lost when people make comparisons between MATLAB and Mathematica. Mathematica is conceptually elegant and often just a joy to work with as an intellectual tool. Its core problem is just that it isn't more widely available. MATLAB on the other hand is just an inelegant, obvious implementation of a numerical environment. Its strength is just the variety of toolkits you can license, but once your domains get equivalent open source toolkits, there's no reason not to bail on MATLAB.

>I started with Mathematica 4.0 at age 14 (a pirate copy too, sorry!)

The nice thing these days is that the full version of Mathematica is available for free on the Raspberry Pi. Wolfram deserves some kudos for that.


> Wolfram deserves some kudos for that.

I feel like the other drug dealers in history might be offended at not getting at least some credit here for inventing this method.


I'm quite pro Free Software but I think that analogy is stretching it too much. In fact, I think it's so hyperbolic it ends up working against the point you're trying to make, which is one I agree with (e.g., I really like Mathematica, but I'm teaching my kid Sage for now).


If it's true as you seem be indicating even in your case, then I don't see how it's being hyperbolic. "True but sad" still includes "true".


I meant to say that offering Mathematica free at an early stage of the educational process for improved chance of lock-in later in life is a point I agree is bad. I'm not opposed to proprietary software, in fact I use some, but I do not like that sort of lock-in practice.

I stand by the fact that the comparison to drug dealers is not true. There's a very, very long path from legal but shady (to me) business practices to things like engaging in all out war with rival dealers, getting people hooked on stuff that in many cases renders them zombies, torturing and killing people that owe you money or that get in your way, forcing rural people to plant what you want or getting them killed or displaces, which are all part of the things drug dealers do. Not even the Microsoft from the 90s was comparable to that.

So, to try and restate my original reply in a hopefully clearer way: I agree with the point you're trying to make, but I think the analogy you chose may go against it for some readers.


> You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine). The only other computation environment that is right there en par in flexibility and conveyance of the same trippy feeling is, of course, Emacs.

Do you know Pharo? The experience you describe is also typical in the Smalltalk family. See https://pharo.org/


>You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine).

Got a source on that? It sounds intriguing.


> turned on by that marvellous column in Quantum

which column?


>machine learning development has just stopped dead

From https://reference.wolfram.com/language/guide/SummaryOfNewFea...

New in machine learning in 13.1 ...

ContentDetectorFunction (updated) — support for Information DimensionReducerFunction(updated) ▪ FeatureExtractorFunction(updated) FindClusters (updated) — support for fixed number of clusters and UpTo ClusterClassify(updated) ▪ ClusteringComponents(updated) Interpretable Machine Learning FeatureValueImpactPlot — plots the impact of a feature on a model result FeatureImpactPlot — plots the impact of each feature together CumulativeFeatureImpactPlot — plots the cumulative impact of each feature FeatureValueDependencyPlot — plots the result dependency on a feature value Network Layers » ReplicateLayer (updated) — support for integer arrays RandomArrayLayer (updated) — support for more statistical distribution AttentionLayer (updated) — support for dropout and local masking ElementwiseLayer (updated) — new activations "Mish" and "GELU" ThreadingLayer(updated) ▪ FunctionLayer(updated) Network Training » NetTrain (updated), LossFunction (updated) — support for multi-output and nonscalar loss Encoders & Decoders » "Image" (updated) — resampling and padding support "Class" (updated) — support for top-k and top-p sampling (nucleus sampling) Formats "ONNX" (updated) — export support for net operators


Three of their best ML engineers /devs left in the last 12 months or so. The backend for anything deep-learning is MXNet...which is essentially a non-starter these days vs PyTorch or TensorFlow. All these functions you cite are very low level updates not real feature updates.

I would say in 2018-2019 the ML / Deep learning stack was actually very impressive compared with what was available in FOSS. Now -- it's languishing. Badly.


Mathematica is great. And Wolfram has carved out a place for himself in this world where he can do what he loves. Give me more people like that.


I’ve come around on Stephen Wolfram. His puffery essentially hurts nobody besides perhaps those close to him, it’s easy to tune out, while his ambition has produced this really wonderful piece of software.


Hurts no one except the people he sues for working on his ideas faster than him


Any examples?


He sued Matthew Cook to stop him publishing a proof of a conjecture Wolfram made about 110


After this fiasco, I wonder how many of Stephen Wolfram's claimed results are just his employees ideas with true author names filled off.


He seems to have a very loving family, having collaborated with his son on various projects quite frequently.


People’s public and private personalities have very little correlation.


Yes that adage is true, but I don’t think that’s relevant in this context, since that’s not the point I was trying to make.

I was offering a specific counter example to your observation that he was possibly hurting those closest to him.

> His puffery essentially hurts nobody besides perhaps those close to him

I think if he was genuinely hurting the people closest to him, like his family through his brash personality, they wouldn’t want to collaborate with him on long, extended projects. Especially considering how old and intelligent his son is.


I wasn't talking about his family, I was talking about his professional contacts.


Could you elaborate on

> The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way.

I had the opposite experience, but it's a very broad statement and I suspect we took different interpretations of "front-end"


Under what interpretation of "front-end" would Mathematica's front-end be behind of Jupyter notebooks?


Hah, answering a question with a question ;)

A few pain points for me:

- No Markdown support. Yes, there's rich input, but I find it more natural to write prose in a markup language rather than with a rich editor.

- Single "kernel" support. This isn't a criticism of Mathematica per-se: it doesn't care about other languages. But, it's nice to be able to use Jupyter Notebooks with C++, Python, etc.

- Limited UX w.r.t layout. JupyterLab lets me pin outputs, split the view, run a terminal alongside my notebook etc.

- Restricted ecosystem. This is a big one - it's not trivial to write an extension for Mathematica to extend its UX / rich output mechanism. With Jupyter, this is fairly trivial.

Don't get me wrong, they're different tools, and that's why I'm reluctant to engage with "X is better than Y" discussions. Mathematica is vastly unsuited to the kind of analysis / work that I do, whilst I'm sure the same is true of those who swear by Mathematica.


Ok.

If you like Jupyter more than Mathematica as a front-end you can use wolframscript

https://www.wolfram.com/wolframscript/

as a Jupyter kernel:

https://github.com/WolframResearch/WolframLanguageForJupyter

You can use it with the free (for non-production use) Wolfram Engine:

https://www.wolfram.com/engine/


>rehashing Cosma Shalizi's driveby on NKOS

https://archive.ph/5GX2


https://archive.ph/FL6hs

For non-subscribers


To be fair, it's not the doctors doing the feeding; it's the hospital administrators who are almost always business folks representing the interests of the shareholders (increasingly, PE firms).

Hospitals are glorified hotels with super over-priced roomservice and activities. But the business model is very similar.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: