That's definitely true, but counting function parameters was only a small part of the difficulty. Weren't most of the problems related to optimization being harder and less effective than predicted?
> But there is a lot of work for the compiler here, wow. Knowing the maximum number of registers that is needed for any function call made within a function? Ouch.
That shouldn't be too difficult. The compiler is already type-checking the parameters of every call within the function. Remembering the highest count won't take much more work, and it's capped at 8 anyway.
> Support for multiple return values is cool though. That'd be incredibly nice.
Agreed. So many processors seem designed just to run C. Then when something extra like multiple returns appears, it goes unused.
That's what I get for citing Wikipedia. But the idea was also brought up by actual southern politicians, particularly in the discussions at the end of the Mexican War.
A detector is typically a series of concentric cylinders, with the beam pipe, where the collisions occur, running through the center. The inner layers are tracking chambers, which detect the paths of charged particles. This is what produces all the curved lines radiating from the center.
The outer layers are calorimeters, which catch particles and measure their kinetic energy. As you correctly assumed, these produce the bar plots. Often there will be one layer of calorimeters for photons and electrons, and a second for hadrons (protons, mesons, etc.)
Signals are too brittle and complex. That's why you have to read three whole manpages to figure out what happens if a process gets the same signal twice in rapid succession.
They are also un-Unixlike: they are used to communicate three or four different kinds of information, and they do most of them badly.
There's a lot of good advice already, but here's one tip:
Learn how to read documentation. Consult man pages and official documentation before resorting to random people on websites. This is a skill that requires practice, because a lot of the material is mediocre. Some writers give overviews, some give examples, some list every feature. You may be more comfortable with one kind, but learn how to digest each one and extract the knowledge you need.
Yes, more content adds more value. But past a certain point of saturation, it no longer adds enough additional value to compensate its creators. My argument is that we are long past that point.
Which would be more valuable, doubling the world's content, or doubling the amount of time and money to spend on it?
The world probably needs less content creation. We're long past the point where there are too many useful books to read in one lifetime. Even in narrow fields, we're producing comedy television, historical fiction novels, or cat pictures faster than one person could consume them all. You could spend a lifetime just researching what's worth consuming.
With this kind of overproduction, it's no surprise creators can't make money.
> a C to fpga compiler which you would suspect could do some crazy things and took thousands of engineering hours to make work. But instead it just implements a CPU in the FPGA
Is that seriously how Vivado HLS works? Now I'm glad I decided not to buy it.
That's an interesting analogy with nuclear weapons, but I think there's an important difference. Nuclear weapons have a deterrent effect. That's why the American first possession meant that nuclear weapons would never be used to their full potential.
There won't be any deterrent effect with tools that remain secret and unattributable after they are used. We've already seen that NSA dominance isn't going to lead to a truce in the style of the Cold War. For example, see the Chinese NSA counterparts who were recently indicted in the US, or the suspected Russians who can't be rooted out of the State Department network. The fact that the NSA is (probably) better at that kind of mayhem didn't stop them.
I fear the invention of electronic warfare will be more like the introduction of firearms than of nuclear weapons.
> The various civil rights movements got where they are today through the use of social repercussions.
I don't think this was the case. Look at, for example, the abolitionist movement. You'll find the social repercussions directed against the movement. It took over twenty years of convincing people of the justice of their cause, despite the forces used against them.
> The lack of social repercussions for things means the status quo stays
Isn't it more likely that social repercussions will be used to enforce the status quo? Only when change has already won can it use social force to complete its victory.
I was going to say that social repercussions are prone to be abused, but I think it's more accurate to say that social repercussions are abuse.
For every source of bigoted and hateful nonsense that is silenced, there are a hundred victims of thoughtless discrimination and a dozen people using their social power to punish those they hold grudges against.
DCSS is a remarkable open source project. The game's design is focused and coherent, avoiding "feature creep". Yet the devs are open to community suggestions and stay on good terms with the players. I can't think of any other project that so well harnesses the creativity of random internet people.
Historically, debt neither increases forever nor collapses catastrophically. Individual sectors collapse, and new ones develop. In the early modern period, governments would simply refuse to repay their debts. Nowadays we have things like stock market crashes and mortgage crises.