There's a word for this, and it's the word MIT used: "Professor of the Practice".
You wouldn't a huge portion of the university's faculty to be untrained in research or teaching -- that would be like running a software company where everyone has great ideas but no one knows how to lay down LOCs. But one person here or there who has something significant to bring to the table can be good for the institution.
> but to now have them share that unique and disorganized philosophy with students trying to learn structurally is unfair to the hard work and sacrifice those students have made to be able to get to MIT in the first place.
The author is not directly involved in leading a research group or in teaching. He's a director -- a vision/leadership role. And if he ever were to take up either teaching or advising research, he'd probably receive support and guidance from people who do have Ph.D.'s and have learned the long way around how to research/teach.
Again, that model obviously doesn't work well if you have a huge number of people like this, but one here or there can be a positive thing.
First, it's not so clear in what sense "efficient" is actually a real requirement if this is a model answer.
If the average input is very small then the cost of compiling/interpreting the regex is going to dominate any modest run-time improvement over even an extremely naive implementation.
And if the inputs are very large then the probability of contradiction in the first few characters even is extremely high, so all the upfront normalization is a huge waste.
I'm having trouble imagining the typical data set where this would be an efficient implementation and where there even exist non-ridiculous inefficient implementations.
Second, doesn't using regexes kind of defeat the whole point of the Palindrome exercise from an evaluation perspective? If someone asked if me if they could use regexes in a coding interview for this question my response would be "good instinct. If you have no other way then go for it. But I was really hoping to see you work through implementing/debugging/commenting/testing an implementation without regexes."
The parent didn't ask what antifragile means. The parent asked what non-linear, proactive, and self adaptive means, especially when taken as requirements for a software system.
Reading Taleb's book to answer that question is probably a lot like trying to extract evolved dogma out of a religious text because each of those words has taken on a life and meaning of their own in SE literature. You can probably eventually get close, but you're better off just reading a few SE papers on those topics and inferring the authors' intended meaning.
A collection of popular buzz-words in contemporary software engineering research.
> And secondly, does it serve the customer if those are not the customer's requirements?
These are never any customer's requirements. Not a sane customer, at least. Instead, they are (conjectured, probably correctly, to be) generalizations of sufficiently many customers' requirements.
But you're correct -- most customers don't want or need any of those things (except non-linearity. But every piece of software everywhere has this spades.)
...and bring in $$$.