And no one deserves customers. What silicon valley is doing is destroying the consumers that would be buying its products.
The guy doesn't work at Tesla, but if the average employee in Tesla can't afford their standard model and have enough money left over to live they are not a viable company, as Henry Ford figured out more than a century ago.
It's capitalism 101, you cut labour costs only to find that you've cut demand as well.
Anyone who was in the US around 2003 will know how warped people there were when the war in Iraq was starting: https://youtu.be/DJ3RrqBqk14?t=3m34s
The same is true for just about every country, the UK when you start mentioning every genocide and famine they started (there were a rather lot of them), the French when you mention how much they screwed up Africa and Indochina, the Turks when you mention the Armenian genocide, etc.
Hopefully we will use the clear example of another country slowly going insane to stop the same thing happening here. But somehow I doubt it, because we are special.
>But we also have to acknowledge that we as a profession are not able to write secure code in C/C++.
You can't write safe code in any Turing complete language. That's the whole point of Turing completeness. The only reason why memory attacks are as common as they are is because C like languages are the most popular ones.
If we replaced everything written with C to a "safe" language like, I don't know Haskell?, we'd have just as many zero day exploits of the monads within programs.
You cannot write safe code in any Turing complete language? That's a bold assertion that I don't believe is true. Surely you can use formal methods to develop software and maybe even prove it's correctness and security, it's costly in multiple ways but the language of implementation doesn't prevent you from doing this. It is possible to write secure code.
If we replaced everything in C with Haskell, we'd have an entirely different problem. The attack surface wouldn't involve buffer overflows and stack smashing, it would involve various DoS attacks. Those might be easier to address though.
There is a huge difference between a program that computes the wrong answer and one that corrupts memory, hijacks a shell, and installs a rootkit.
Javascript is turing complete but it's trivial to write a (slow) javascript interpreter in Python that allows anybody to run any javascript program without any risk to their machine. No memory attacks possible. To privilege escalation possible. No unchecked stack overflows. The system would be sandboxed and secure. It will just work or fail gracefully.
It's only when we increase the complexity of our runtimes a thousand fold and when we cut corners to squeeze out higher performance that all the nasty vulnerabilities start to creep in.
> If we replaced everything written with C to a "safe" language like, I don't know Haskell?, we'd have just as many zero day exploits of the monads within programs.
I disagree. There will always be security issues, due to (ab)uses that developers didn't consider, but there can be different probabilities. Requiring developers to learn about language gotchas, remember those gotchas when coding, and jump through hoops to avoid them, just stacks the odds against us.
> You can't write safe code in any Turing complete language.
Correct. But, a lot of code is written in Turing complete languages which does not really require any Turing completeness at all. And some code should be implemented in non-Turing-complete, verifiable languages.
Of course you can. You can, for instance, include an automatically verified proof that your code terminates for finite inputs.
This is in fact where the newest academic languages are going. In dependantly typed languages bounds checks are only done in theory. you have to include a proof that your indexes are within bounds, and the compiler verifies that proof. If it checks out, it compiles. If not, back you go. Far safer than java/go and the like and far faster than c++. These languages tend to allow pointer arithmetic too, for beating it in speed is almost impossible.
Running costs include the wages for those working there. I think $150,000 or so per employee is more than enough + volunteers. Of course you would have to give up the dream of being a billionaire. Off the top of my head I can think of less than 10 people to have done that, and none of them did it after 2001.
You don't need additional capital beyond operational maintenance expenses if you aren't expanding, but you do need the existing capital, and that means that either (1) the existing investors need to have their standards for profitability met, or (2) someone else who is interested in operating the assets without those profit demands needs to be willing to purchase the existing capital from the current owners before they decide that their profit requirements won't be met and sell it to someone with a desire to use it for something other than its current insufficiently-profitable use.
I think it was just lowering the number by a few orders of magnitude to compensate for the effects and logic propagation delay (e.g. I think he said he's using a ripple adder which has a critical path dependent on the bit length), not a precise calculation exact number. My gut instinct says it's probably the right order of magnitude though.
You could probably run the long stretches at a much higher clock rate or make the design run on asynchronous clock domains if you use good serialize/deserialize units.
And who exactly makes the observations? Is a cat good enough? A chimp? If we get someone really smart to look at an electron can we collapse it better?
The brain centered quantum mechanics I've seen become fashionable to lay people in the last 20 years are a last gasp of homo-centrism that really should have died a very long time ago.
That part is constructed using a series of 2D sketches with 2D constraints. It is still difficult to create complex assemblies in FreeCAD with 3D constraints between parts (such as aligning two faces of different parts or constraining different parts to the same axis)
An assembly module is being developed which addresses this problem, but it's a recent addition and still has some limitations
FreeCAD is a very good piece of software none the less