This kind of relentless indifference to conformity is a rare quality in people.
Searching for evidence that someone has actually done the work is relatively efficient. It never fails to astonish me the number of times that everyone believes a particular bit of ground has been thoroughly tread yet, if I try to find concrete evidence that someone has done the work, there is no evidence that anyone actually has. There is a strong cognitive bias (I don't know if it has a name) where everyone assumes that someone else has already tried every obvious or reasonable approach and that belief is treated as factual.
Unfortunately, the fact that negative results tend to get little if any publicity works against you here. And it's probably worse outside, not inside of academia. How often would a project team in some big company, or a couple of guys in a garage try out some promising alternative approach to something, fail to realize an advantage over the conventional approach, and then go out of their way to publicize that failure? That would be extra work for no - or even negative - gain.
It might just be meant to be humorous, but even "If at first you don't succeed, destroy all evidence you even tried" sounds more likely than "If at first you don't succeed, put some extra effort into telling everyone".
Two great examples come to mind right away, both from Elon Musk. SpaceX was founded on first principles and now he's been able to undercut competitors by an order of magnitude. Conversely, his attempt approaching car manufacturing from first principles in the gigafactory has proven to be a complete disaster.
Nonsense. What is that based on?
Lol yes, manufacturing one of the best selling cars in the country was a great disaster.
Unfortunately, it can take a lot of work to then a) find workarounds (which in my experience tend to become a maintenance nightmare) b) try alternates (which may have other but similar limitations) c) pull out and start doing it yourself anyway.
The expected outcome is increased human resource so it somewhat offsets the economic costs.
One caveat is that this process requires the willingness to rethink your own established models, and recognising when they might’ve been outdated or incorrect takes some self-discipline.
I put “brilliant” in quotes because unless you can do this consistently, you can also just get lucky...
Even the nuclear bomb was fairly incremental, with truly a big bang in the end.... (pun intended ;)
With waterfall-kind of planning, that would work. Unfortunately it got a bad name in the '90s and early '00s. The wild-west of inexperienced developers, who needed to solve business problems they didn't understand, combined with clients who didn't understand technology.
I believe this is a great period to do bigger things, and you see this happening with for example SpaceX, Tesla and Apple: space is happening again, companies are creating super specialized and complex ICs, there's actual business value and consumer value being produced, and projects are reasonably on time with these companies. This in constract with companies who, what it seems, do more of an iterative approach: Facebook, Google, Amazon. No huge innovation going there.
Apple is also very much in that corner. The smartphone existed long before the iPhone. They just packaged it and polished the concept so it made sense for a broader market (and they are/were really great at that), but how radical were they really? Revolutionary after a while perhaps (if you can be a slow revolutionary - seems a little bit contradictory), but technologically they just put a lot of existing techs together and packaged it differently than the existing players for a different market/crowd and had tremendous timing (I bet the smartphone revolution was coming either way, they just helped define the concept and bridge the gap from early adopters to mass market).
I don’t think the strategy you outlined will be enough. In addition to “advance batteries” I believe “full self-driving” as well as “mobility as a service”, “radically production-driven design”, and possibly “car bundled with energy production and storage devices” will be required for Tesla to hit their goal.
If you take those 4-5 things together I do believe that constitutes a total reinvention of the automobile.
What follows is my own personal views on current technological evolution, which may be wrong. Regardless:
Electric vehicles have been evolving extremely rapidly, and now they are viable enough for most privately owned passenger vehicle use cases. Through continuous evolutionary investment, they may make their way to some commercial vehicles, maybe even small planes. But the chasm is so extremely large for large commercial vehicles like airliners and cargo ships, that we would need massive (several orders of magnitude) technological improvements in energy density in order to even start considering them.
SOFCs are inferior to batteries and supercapacitors from an efficiency standpoint. They may never be the power system of choice for passenger cars or other small scale and lightly used systems. But the thing they have going for them is their ability to evolve as the ecosystem evolves. They can run on diesel fuel, JP8, even crude. They can run on biodiesel, or renewable ethanol or methanol. And they can run on pure hydrogen. They can even run on a mix of all of those fuels. At every path in the transition to hydrogen, there is a viable intermediate state. For this reason, I think you'll see fuel cell powered cargo ships and airliners long before you see battery powered.
Not really; wheels aren't an improvement in the first place so there is no need to explain why they didn't develop. Note that it's easy to make robots that use wheels, and difficult to make robots that use legs, but we make legged robots anyway so that they'll be able to handle environments other than dedicated roads.
(More recently, we make flying robots, sidestepping the issue that we don't really know how to do legs well.)
Human engineering is much more efficient - building things we understand, we accomplish in decades what takes nature millions of years or is straight up not viable.
In that way, evolution evolved itself by creating humans, and through us evolution is now happening at an accelerated rate in some aspects.
I try not to get all philosophical, because I know that other people, who are actual philosophers, have thought about these things already and I can’t compete with them but I can’t help but think about such things anyway.
How useful do you expect a set of wheels would be on the tundra? Or are you conceptualising a theoretical monster truck human? We'd be better off with tracks...
You’re so right! There are great examples of companies that preserved the existing ecosystem of solutions (Facebook with PHP, Microsoft with C++, Google with Java and C++, maybe also Amazon with Perl 5 and C++).
There are also great examples of successful companies that in a certain sense did or had to do things in an entirely new model (WhatsApp with the Open Telecom Platform, F5 Networks with their data center FPGA-powered hardware load balancers, Tesla and SpaceX, and so on).
There are also great examples of companies that did both, where they preserved an existing ecosystem but also added another ecosystem on top to fix flaws (NeXT Computer with Smalltalk and C, Stripe with the modern version of that as Ruby and Go, Twitter with Ruby and Java, so on).
Microsoft is the best example of a company that can succeed even with what seems like a crazy choice. Almost everything being written in C++ sounds insane to the point of being business suicidal, but they worked hard enough to make it work. If Microsoft can succeed in the ways that they have with C++, and if Facebook could succeed for as long as they did with PHP, and Instagram can allegedly succeed with Django[1], then anyone can succeed with anything as long as you can endure the stress that a seemingly peculiar decision might cause you. And those standard ecosystems that they chose all had immense benefits, they just also had some pretty immense weaknesses as well (Powering 500 million daily users primarily with Python scripts?? That just seems pretty crazy to me, if it’s true).
[1]Still very unclear about how much Python actually powers the web services behind Instagram. <https://instagram-engineering.com/tagged/python>.
People make too much of a fuss over the differences between programming language. There are some important differences (whether or not memory safe is a big one, but it is hardly critical to a succful bussiness) but by and large the difference between using say php, python, etc for your program is superficial in the extreme.
And is a fine example of path dependence.
No one can write a browser in any other language not because C++ is necessarily better but because the activation energy to bootstrap to a useful browser is so large (for example, one must provide a smoking fast Javascript engine before one even considers the web page rendering pipeline).
It will be interesting to see how much of the Firefox codebase gets taken over by Rust as time passes.
My point is: maybe C++ actually _is_ the superior language. It can't be a coincidence that all the best software projects tend to be written in C++, and not in Haskell or whatever.
If we're going by best software written, I suspect that means C is the better language than C++ by a wide margin. It would be interesting as to whether Visual Basic would be superior on that axis as well.
C++ is the better language--except that we always have to expose a C FFI because nobody seems to have enough critical mass to stabilize the library ABI. C++ is the better language--except that Apple wrote another language because they don't believe that and that Mozilla wrote Rust because C++ wasn't good enough. C++ is the better language--as long as you have a new codebase that only uses the latest features and Satan help you if you have stuff from pre-2005 because God won't be enough. C++ is the better language--as long as compile time isn't an issue.
I can go on if you wish...
I don't think C++ developers are stupid and those choosing to start new projects in it generally have really good reasons for doing so. I also think that many older projects are in C or C++ via path dependence because C++ was the superior choice when the project started and now they have far too much code to switch.
I also believe this will be why Rust eventually becomes a very important language--Rust allows you to modernize that old codebase in a piecemeal fashion.
Because I often work with Qt, I'm comparing it with QString, which is much more than a vector of chars. https://doc.qt.io/qt-5/qstring.html
I used std::string and QString extensively for 4-5 years and find QString inexplicably bloated and un-intuitive for my use cases.
And QString had no magic to it other than wrapping its underlying data in ytf-16 which std::u16string does too.
It's not perfect but it gets the job done, IIRC.
Curious here. Are you speaking from experience -- i.e. you tried and failed -- or is this simply something you guess must be true? People write high-performance software in Haskell, and it's their tool of choice.
I've heard of those but have never managed to see one. Do you have some examples ? (to give you my "baseline" - handling >500k messages/second on a desktop cpu for instance as this is something quite easily achievable in C++)
Meaning: the rareness of disruption is to be expected, because most disruptions fail in stifling silence.
Aside: This SMBC shall be long etched in my memory: "All the best work has been done over here! [...] The funding is here too!"
---
Here's a teaser challenge for someone who has access to HN comments data for analytics: How often does an early comment come to dominate the discussion, rather than a better comment which comes later? Assume that there is some IID stochastic process which generates comments of varying quality (play with your distribution of choice), and plot what the time distribution of "best" comments looks like under that model -- compared to the time distribution of most upvoted/discussed comments on HN (can try different composite metrics here too).
---
Provocative meta question for PG: Are (venture-funded) startups the "fashionable" idea that is over-subscribed? How would one know? (suppose we restrict the discussion to Silicon Valley)
Most of the time new products evolve from the current state. Sometimes there's pent-up demand/frustration/hostility that allows for a clean break to a new solution (even if that solution has just as many problems, at least they're not the same problems).
Probably nine times out of ten people are looking for a better buggy whip. Without any other information, improving what you have is statistically the better bet. You have a very strong predictor, but no guarantees.
Someone had an idea originally and certain decisions were made about that approach.. those that best adapted to the conditions of the time were successful... rinse and repeat over several decades.
Those ideas that preserved the past were more likely to succeed because they preserved the ecosystem that already existed. Ideas that diverged too much from the existing successful tech had a huge obstacle in their way: they had to recreate all of the existing solutions in their new model. So even if they would lead to a better solution over time, they may never get past that initial roadblock. And the longer we stay on the path, the bigger that roadblock becomes.
If we are all thinking of ideas around the existing model and assuming all of the existing assumptions, then we end up with similar solutions (fashionable solutions). We've reduced the solution space, leading to a limited number of solutions.
Perhaps groundbreaking/valuable tech can be found by questioning those existing assumptions; identifying where tech is still built on assumptions that are no longer true; or reexamining past solutions to see if they can be solved in better ways today with what we've learned since then...